HDMI硬件接口:从连接器到信号完整性
做FPGA开发板,HDMI接口几乎是绕不开的。我最早接触HDMI时,觉得不就是个视频接口嘛,插上去能用就行。结果第一次画板子,信号质量差得离谱,画面全是雪花。后来才明白,HDMI的硬件设计,细节决定成败。
今天咱们就聊聊HDMI硬件接口的核心知识点。说白了,就是搞清楚那几个引脚是干嘛的,信号怎么走,保护电路怎么做。
HDMI连接器引脚定义
标准的HDMI Type-A连接器,一共19个引脚。我习惯把它们分成几组来看:
- TMDS差分信号对:4对,分别是数据0、数据1、数据2和时钟。每对包含正负两个信号。
- DDC通道:SCL和SDA,就是I2C总线,用来读显示器的EDID信息。
- CEC/ARC/HEC:这几个功能共用引脚,具体用哪个看设备支持。
- 电源和地:+5V电源和若干GND引脚。
- 热插拔检测:HPD引脚,用来告诉源端显示器已连接。
嗯,这里要注意:TMDS的时钟对是独立的,不像PCIe那样把时钟嵌在数据里。所以布线时,时钟对的等长要求比数据对更严格。
TMDS差分信号对
TMDS(Transition Minimized Differential Signaling)是HDMI的核心传输技术。为什么叫这个名字?因为它通过编码把数据流中的跳变次数降到最低,再用差分信号传输。
我在项目中遇到过一个问题:TMDS信号的眼图总是打不开。排查了半天,发现是差分对的阻抗没控制好。HDMI要求差分阻抗100Ω±15%,单端阻抗50Ω。你想想看,如果PCB走线阻抗偏差太大,信号反射就会很严重。
给大家一个实用建议:
- TMDS走线要等长,误差控制在±5mil以内
- 同一对差分线,正负长度差越小越好
- 远离其他高速信号,尤其是时钟
- 每对TMDS之间加地孔隔离
关键参数速查:
| 参数 | 最小值 | 典型值 | 最大值 |
|---|---|---|---|
| 差分阻抗 | 85Ω | 100Ω | 115Ω |
| 单端阻抗 | 42.5Ω | 50Ω | 57.5Ω |
| 信号摆幅 | 400mV | 500mV | 600mV |
| 上升时间 | - | 150ps | 300ps |
DDC通道(I2C)
DDC通道说白了就是一根I2C总线,用来读显示器的EDID。EDID里存着显示器的分辨率、刷新率、色彩空间等信息。FPGA上电后,必须先通过DDC把EDID读回来,才能正确配置输出时序。
我曾经踩过一个坑:DDC的上拉电阻选错了。标准I2C要求上拉电阻1.5kΩ到2.2kΩ,但HDMI规范里建议用47kΩ。为什么?因为DDC总线可能很长,电阻太小会导致信号上升沿太缓。我那次用了2.2kΩ,结果读EDID时总是超时。换成47kΩ后,问题解决了。
小技巧:DDC的SCL和SDA走线要尽量短,远离TMDS差分对。如果必须交叉,用90度垂直交叉,减少串扰。
CEC/ARC/HEC功能
这几个功能共用HDMI的第14引脚。说实话,在FPGA开发板上,我很少用它们。但了解一下没坏处:
- CEC:消费电子控制,比如用一个遥控器控制电视和音响
- ARC:音频回传通道,让电视把音频信号传回功放
- HEC:HDMI以太网通道,通过HDMI传网络数据
如果你不需要这些功能,第14引脚可以悬空。但要注意,有些显示器会检测这个引脚的电平来决定是否开启ARC模式。我建议直接接地,省得麻烦。
ESD保护电路设计
ESD保护,这是最容易忽略但又最关键的部分。HDMI接口是外露的,插拔时很容易产生静电放电。没有ESD保护,芯片分分钟烧掉。
我见过最惨的一次:一个学生做的板子,HDMI接口没加ESD保护,插拔了十几次后,FPGA的TMDS引脚就挂了。后来拆下来量,发现对地短路了。
ESD保护电路的设计要点:
- 每个TMDS信号对都要加ESD保护二极管
- 保护二极管的结电容要小,一般小于0.5pF
- 保护器件要尽量靠近HDMI连接器放置
- 地线要短粗,ESD电流才能快速泄放
警告:不要用普通的TVS管做HDMI的ESD保护!普通TVS管的结电容太大(几pF到几十pF),会严重劣化TMDS信号的眼图。一定要用专门为HDMI设计的低电容ESD保护器件,比如NUP4114或TPD4E004。
知识体系总览
下面这张图,是我自己总结的HDMI硬件设计知识结构。你可以把它当作一个检查清单:
这张图把HDMI硬件设计的几个关键模块串起来了。从连接器引脚定义,到TMDS差分信号,再到DDC、CEC/ARC,最后是ESD保护和PCB布线。每个环节都影响最终效果。
我个人习惯,画HDMI部分的PCB时,会先布TMDS差分对,再布DDC,最后处理电源和地。因为TMDS对信号质量要求最高,优先级自然最高。
好了,HDMI硬件接口的核心内容就这些。记住一点:细节决定成败。阻抗、等长、ESD保护,一个都不能少。下次咱们聊FPGA怎么接收HDMI信号,到时候再细说。
可可精品资料库