简介:《RTD2775QT/RTD2795T/QT 硬件使用手册 HW CheckList》面向显示器驱动板、接口扩展与硬件设计验证人员,围绕HDMI、DVI、DisplayPort等高速接口的电路配置与设计检查展开,适合在原理图评审、PCB布局和调试排错阶段对照使用。压缩包内为1个PDF文件,约1.58MB,内容以硬件检查清单和注意事项为主,便于按接口模块快速查阅。已有1168人学习,说明其在相关硬件工程场景中具有一定参考价值。文档覆盖DDC-CI串阻、HPD热插拔检测、DDC SCL电压、DP AUX通道上下拉与串容、TMDS交换规则、GPIO应用电压及四层板设计要求等要点,并提示音频功能、电源关闭引脚状态等易错项。读者可据此逐项核对接口连接、器件选型和PCB约束,减少兼容性与可靠性问题。
1. 一份 CheckList 能省下多少返工
RTD2775QT/RTD2795T/QT 硬件使用手册里的 HW CheckList,说白了就是一张把接口电平、上拉阻值、电源域、GPIO 耐压全部固定下来的签核表。它要解决的不是「会不会画原理图」,而是板子打回来之后那类最难查的故障:HDMI 插上没反应、DP 认不到屏、耳机一拔主控复位、开机背光闪一下再黑屏。示波器量半天,最后发现是一颗 100K 下拉没上件。这套清单适合做多接口显示驱动板、商用显示主板、广告机方案的硬件工程师,也适合拿接口电路当课程设计或毕设题目的同学——它把「凭经验画图」变成「按条目签核」。下面按接口链路、通道设计、GPIO 与电源、排查、验收几段拆开,每一段都能直接对着原理图和 PCB 打勾。
2. HDMI 与 DVI 接口链路:从连接器到 Scaler 的必查项
HDMI 这一侧的坑,八成集中在「电平」和「方向」两件事上。电平指的是 DDC 那条 5V 供电路径上的压降,方向指的是 HPD 到底是 IC 推出去还是外面拉进来。这两件事在原理图上都只有一两根线,改起来一分钟,量起来一整天。
2.1 HPD 与 Cable Detect:Open Drain 与 100K 下拉的硬性约束
HDMI 连接器的 Pin 11 被定义为 HDMI CABLE Detect,用来判断线缆是否插到位。原理图上要给这个 Pin 单独拉一条网络到 Scaler,别为了少走一根线把它并到 HPD 上——两者的时序含义不一样,HPD 是设备告诉源端「我准备好了」,Cable Detect 是板子告诉固件「有线插进来了」,合并之后热插拔的中断会重复触发。
DVI/HDMI 的 Hot-plug pull high 电阻用 1K ohm。这个 1K 是灌电流和上升沿之间的折中:阻值太小,源端 5V 直接灌进 3.3V 域,长期老化会伤 IO;阻值太大,长线缆的容性负载把上升沿拖慢,HPD 识别滞后,主机重新握手的次数变多。1K 是手册给出的平衡点,不要凭手感改。
真正容易翻车的是下面这两条同时成立:HDMI HOTPLUG 一定要选 OpenDrain GPIO(5V tolerance),并且 pull 100K to GND。OpenDrain 保证 IC 侧只拉低、不主动推高,避免和源端的 5V 顶牛;100K 下拉保证 IC 掉电时 HPD 是一个确定的低电平,而不是浮空。很多板子在整机上电时能跑,一进 powersaving 就认不到信号,问题就在这——IC 断电了,HPD 浮空,源端误判成设备拔掉。
D2 的 HPD 必须接 PIN14,D3 的 HPD 也必须接 PIN14,指的是各自通道组内的第 14 脚。这条在改版时最容易被顺手挪走,挪到普通 3.3V 引脚上,实验室里跑一天没事,进高温老化箱就开始间歇性掉信号。
/* HPD 引脚初始化:OpenDrain + 板上 100K 下拉,禁止内部推挽 */ typedef struct { uint8_t port; /* GPIO 端口 */ uint8_t pin; /* 通道组内的 PIN14 */ uint8_t mode; /* 必须 GPIO_MODE_OD,只拉低不推高 */ uint8_t pull; /* 关闭内部上下拉,下拉由板上 100K 完成 */ uint8_t tol; /* TOL_5V:掉电状态下仍耐受 5V */ } hpd_cfg_t; static const hpd_cfg_t hpd_table[] = { /* D2 通道 HPD,落在这组复用的 PIN14 上 */ { GPIO_PORT_D, 14, GPIO_MODE_OD, GPIO_PULL_DISABLE, TOL_5V }, /* D3 通道 HPD,同样落在本组 PIN14,不要挪到别的脚 */ { GPIO_PORT_D, 14, GPIO_MODE_OD, GPIO_PULL_DISABLE, TOL_5V }, };三个参数各自对应一条硬约束:mode关掉推挽输出,pull关掉内部电阻,tol保留 5V 耐受。三者缺一个,功能可能正常,但过不了 CTS 里的热插拔循环测试。另外顺带提醒一句,第 3 章讲的 DP Hot Plug 用的是完全相反的接法(100K 落地、上拉不上件),把 HDMI 这套 1K 上拉照抄到 DP 上,是最典型的踩坑方式。
2.2 DDC 通道:SCL 电平、二极管选型与 0 欧姆串阻
DDC 是 EDID 的搬运通道,速率不高,但对电平极其敏感。HDMI DDC SCL 在 HDMI CTS 里规定 high level 不得低于 4.5V,这一条直接卡死了整条供电路径:5V 经过二极管接到 HDMI_5V,二极管的压降就在这一步吃掉裕量。所以 5V 与 HDMI_5V 之间接的那颗二极管,要选顺向偏压小的器件,比如 BAT54CW,正向压降约 0.2V,5V 减掉 0.2V 还剩 4.8V,留 0.3V 给连接器接触电阻和线缆。换成普通 0.7V 压降的开关管,输出直接掉到 4.3V,CTS 测试仪一量就挂,而且这种失败在现场表现为「换个显示器就好了」,最难扯皮。
DDC 线路上还要留一个 0 欧姆串阻位,专门用来对付 DDC-CI 问题。某些主机在协商瞬间对 SCL/SDA 呈现低阻,串一个 0 欧姆先跑通,真出问题时换成几十欧姆抑制振铃,不用割线飞线。这就是硬件版的后悔药,成本为零,位置一定要预留。
SCALER 侧的 DDC(本质是 I2C)电气参数是 VIH 2.0V、VIL 0.8V。这两个数字决定了上拉阻值的上限:总线电容大的板子,上拉别一路往上堆,堆到 10K 以上上升沿就软了。手册里另有一条「GPIO pull high 电阻不要超过 10K」,是同一个道理。
Input 的 DDC/AUX 不能 SWAP:D0 进来的 DDC 要接 DDC0,D3 进来的要接 DDC3,不可接给其他组。固件里 EDID 的读取是按通道索引去取对应 I2C 控制器的,硬件接错组,读回来的就是隔壁通道的 EDID,表现是「插 D3 显示的是 D0 的分辨率」。
外挂 HDMI Switch 时还要注意 EEPROM 的选型:选支持 segment read 的 EEPROM,不要用 24C02;A0 由 GPIO 控制;D3 的 EDID_SEL 要接到 normal block 的 GPIO 上,VCCK OFF 区域是受限的,接过去在省电模式下就选不中。
| 项目 | 约束值 | 关键说明 |
|---|---|---|
| DDC SCL 高电平 | ≥ 4.5V | HDMI CTS 强制,量测点在连接器侧 |
| 5V→HDMI_5V 二极管 | BAT54CW,VF ≈ 0.2V | 压降直接吃掉电平裕量 |
| SCALER DDC VIH / VIL | 2.0V / 0.8V | 上拉阻值上限由这条推出来 |
| DDC 串阻 | 0Ω(预留位) | 应对 DDC-CI,可换阻值不割线 |
| GPIO 上拉 | ≤ 10K | 含 DDC 的 OD 上拉 |
| 通道映射 | D0→DDC0,D3→DDC3 | 禁止跨组,否则读错 EDID |
另外,DIGITAL DDC PORT 的 PIN74-77、PIN212-215 只有 GPI 和 Open Drain 两种能力,没有 Push Pull 设定。配置寄存器时找不到推挽选项是正常的,不要以为是工具链版本问题。
2.3 TMDS 差分对交换规则与高速线上的 ESD 禁区
TMDS 给了布线相当大的自由度,但每一条自由度都对应一个必须同步打开的开关。TMDS0 与 TMDS2 可以交换,对应TMDS_BR_SWAP;TMDS pair 的 P 与 N 可以交换,对应TMDS_PN_SWAP;TMDS CLK 的 P 和 N 相位相同,可以任意接,不需要对应 INPUT。硬件改了走线、软件没置位,结果就是花屏或者干脆黑屏,而且这种花屏有迷惑性——低分辨率下可能完全正常,一上 4K 就雪花。
外挂两个以上 HDMI 连接器时,各个 CEC pin 需要短路互连,HDMI CTS 定义要求互连阻抗小于 5 ohm。CEC 是单线总线,多个口不互连,主机只能控制其中一个口,另一个口的设备在待机联动上就是失联状态。
高速信号上不要留 ESD 零件,直接从线路上删掉。这是血泪经验:参考设计常在 TMDS 上挂一排 ESD 阵列,到了 6G 速率,寄生电容把眼图压塌,量的时候还以为是走线阻抗没控好,换了三版叠层才发现是那几颗器件。
通道能力也要在原理图阶段就定死:D0、D1 走 DisplayPort 1.2,D2、D3 走 HDMI 2.0(MHL 2.2)。外挂 HDMI Switch 的场合,请统一用 D3 这个 HDMI Port。Pin 216(TMDS_REXT)用 12KΩ、1% 精度的电阻下拉到 GND,精度必须 1%,它是内部终端匹配的基准电流来源,用 5% 的电阻,眼图高低电平会明显不对称。
/* TMDS 通道交换开关:必须与 PCB 实际走线一一对应 */ #define TMDS_BR_SWAP 0 /* 0: TMDS0/TMDS2 默认顺序 1: 两组对调 */ #define TMDS_PN_SWAP 0 /* 0: P/N 默认 1: 所有对 P/N 对调 */ /* TMDS CLK 的 P/N 相位相同,硬件任意接,无需对应宏 */ /* 通道能力绑定:和板上实际接口类型一致 */ #define CH_D0_DP12 1 /* D0/D1 => DisplayPort 1.2 */ #define CH_D2_HDMI20 1 /* D2/D3 => HDMI 2.0 + MHL 2.2 */ /* TMDS_REXT:Pin216 对地 12K 1%,此处仅作分配记录 */ #define TMDS_REXT_OHM 12000TMDS_BR_SWAP和TMDS_PN_SWAP是成对使用的,改一个不改另一个,等于只修了一半。这两个宏建议直接写进板级配置头文件,和 PCB 版本号绑在一起,改板必须同步改版本号。最后一条硬指标:INPUT 如果要支持 DP 5.4G 或 HDMI 6G,PCB 必须设计成四层板,这一点在第 3 章讲 MST 时还会再出现一次。
3. DisplayPort 与 eDP 通道:AUX 偏置、Lane 排序与上电时序
DP 和 eDP 的检查项比 HDMI 更细,因为它多了一套带极性的 AUX 通道和一套分组固定的 eDP TX。这一章我按「AUX 偏置 → 热插拔与供电 → eDP 双组通道 → 层叠」的顺序走,顺序本身也是调试时的排查顺序。
3.1 DP AUX 的偏置网络与 100nF 交流耦合
AUX-CHP 要 1MΩ 上拉到 3.3V,AUX-CHN 要 1MΩ 下拉到 GND。这个不对称偏置是 DP 规范里 idle 状态的定义,两条都做反,或者只做了上拉忘了下拉,链路训练就过不去。这两颗 1M 电阻的位置也有讲究,要靠近连接器一侧,不要放到 IC 旁边,否则中间那段走线在插拔瞬间容易捡到共模噪声。
AUX Channel 进 Scalar 之前,串 100nF(0.1uF)做直流隔离。这一颗电容是防两端的共模电平互相拉扯,缺了它,某些主机在待机唤醒时会把 AUX 电平顶到不正常的位置,表现是「先黑屏几秒再出画面」。另外在 AUX 的 P-N 之间、靠近 IC 端预留一个 68pF 位置,实际贴 33pF,这是给共模噪声留的调节位,不贴也能过功能,但过 EMI 的时候它就是唯一的调节手段。
Aux-Channel 的 P-N 不可 Swap。这一点和 TMDS 完全相反,TMDS 可以换 P/N,AUX 不行,因为 AUX 是有极性的单向 Manchester 编码。原理图上最好把 P/N 用不同颜色的网络标签标出来,避免布线时顺手对调。
做 DP MST 的机型,AUX 的偏置要改:AUX P 下拉 100K,AUX N 上拉 100K,和单口时的接法不同。此外 box-to-box receptacle connector 的 CONFIG1 和 CONFIG2 两颗引脚,要用 1MΩ 弱下拉到地,Upstream 和 Downstream 两侧都一样。
| 信号 | 偏置要求 | 位置要求 |
|---|---|---|
| AUX-CHP | 1MΩ 上拉到 3.3V | 靠近连接器 |
| AUX-CHN | 1MΩ 下拉到 GND | 靠近连接器 |
| AUX 串联电容 | 100nF | 进 Scalar 之前 |
| AUX P-N 间电容 | 预留 68pF,贴 33pF | 靠近 IC 端 |
| MST 模式 AUX P | 下拉 100K | 与单口接法不同 |
| MST 模式 AUX N | 上拉 100K | 与单口接法不同 |
| CONFIG1 / CONFIG2 | 1MΩ 弱下拉 | 收发两端都要 |
3.2 DP 热插拔与 Pin20 供电的浪涌控制
DP 的 Hot Plug 要留一个 100K 落地电阻,Pull High 电阻不可上件,串阻串 100 ohm。这套接法和 HDMI 的 1K 上拉正好相反,把 HDMI 的电路照抄过来,DP 端会一直认为设备在位,主机不发起重新训练,表现为「插上就有画面,拔了画面还在」。串阻 100 ohm 是为了抑制插拔瞬间的振铃,阻值不要随意加大,大了会把上升沿拖坏。
每个 DP 连接器的 PIN20 必须对外供 3.3V、500mA,而且不可直接与 SCALER 的 3.3V 共用。原因是 DP 8.5 的 inrush 测试会把 PIN20 短路对地来测浪涌电流,要求小于 12A。共用同一条电源轨,这个短路电流会直接冲到 Scaler 的 3.3V 上,一测就超。稳压电容建议挂在 2.2uF 以下——这条和「多堆电容更稳」的直觉是反的,电容越大,短路瞬间的放电峰值越高。
Cable Detect 的接法分两种连接器:标准 DP 用 connector 的 pin 16,10K 上拉到 3.3V;mini DP 用 pin 14,同样 10K 上拉到 3.3V。这两个 pin 号不要混用,混用的结果是标准口插 mini 线时检测不到。
D0 或 D1 如果是 DP,那么 DP_SINK_ASS_P、DP_SINK_ASS_N 和 DP_CABLE_DET(connector pin 16)一定要接到 IC 的 GPIO 上。这三根线是 DP 侧判断下游设备接入状态的依据,接到 IO expander 上是不行的——expander 的输入带 100K 弱上拉,会把电平拉到错误的判决区间,这一点在第 4 章讲 IO 扩展时还会展开。
/* DP 通道检测相关引脚:必须是 IC 本体的 GPIO,不可经 IO expander */ typedef struct { uint8_t signal; /* CABLE_DET / SINK_ASS_P / SINK_ASS_N */ uint8_t port; uint8_t pin; uint16_t ext_pull; /* 板上外部上拉,单位 ohm,0 表示无 */ } dp_det_t; static const dp_det_t dp_det_table[] = { /* 标准 DP 连接器 pin16 作为 cable detect,外部 10K 上拉到 3.3V */ { DP_SIG_CABLE_DET, GPIO_PORT_B, 6, 10000 }, /* SINK_ASS 差分两根,同样直连 GPIO,不经 expander */ { DP_SIG_SINK_ASS_P, GPIO_PORT_B, 7, 0 }, { DP_SIG_SINK_ASS_N, GPIO_PORT_B, 8, 0 }, };ext_pull记录板上实际贴的上拉值,调试时对着这张表量电压,一眼就能看出是漏件还是阻值错。signal用枚举而不是裸数字,是为了让固件里判断逻辑和硬件表对得上号。
3.3 eDP TX 双组通道与 Panel 上电时序
这颗 IC 没有 LVDS 输出,只有 eDP 和 V-by-One 两种输出形态,所以走 eDP 屏的时候没有第二条路可退。eDP HBR2 的 4 LANE 接第一组 eDP TX。
eDP TX 的 AUX 和 HPD 有第一组和第二组之分,不可任意交换。PIN143、144、145 推 eDP PANEL 的 AUX2 与 HPD2,PIN146、147、148 推 AUX1 与 HPD1。这两组的区别在双屏或者屏加转板的机型上会体现出来,接反了副屏点不亮,主屏却完全正常,很容易误判成屏本身的问题。
eDP TX 的 lane 与 AUX channel 一定要串电容 100nF,这是为了避免 PANEL 端没串电容导致两端直流电位不一致。同时 eDP 这一侧不接 pull high 和 pull low,和 DP 输入端的偏置要求正好相反。这两条放在一起记:DP 输入要偏置,eDP 输出要隔离,方向不同,电路也不同。
有些面板原厂只给一根 HPD。这种时候把 SCALER 的 DP TX_HPD_1 和 DP TX_HPD_2 短接后接到这根 HPD 上,同时在板上预留 HPD1、HPD2 的 0 欧姆切断位,方便后续换成双 HPD 的屏时改回来。
V-by-One 这边,如果 PANEL 只有 4 LANE,接 VTX0 到 VTX3。VB1 的 HTPDN 和 LOCKN 波形要实际量一遍,这两个信号反映的是链路锁定状态,波形不对时画面会间歇性闪。
/* eDP TX 通道换序开关:只有 Panel 端走线确实做了换序才打开 */ #define _PANEL_DPTX_1_1_LANE_SWAP 0 /* 1: 4lane 时 LANE0-3 => LANE3-0;2lane 时 LANE0-1 => LANE1-0 */ #define _PANEL_DPTX_1_1_LANE_PN_SWAP 0 /* 1: 所有 lane 同时 P/N 对调,0P0N1P1N... => 0N0P1N1P... */这两个宏只影响第一组 eDP TX,和 HDMI 侧的TMDS_PN_SWAP是两套独立配置,改板时不要一起改。_PANEL_DPTX_1_1_LANE_SWAP在 4 lane 和 2 lane 下的换序规则不同,配置前先确认屏的 lane 数。
3.4 层叠与 MST:什么时候必须上四层板
INPUT 要支持 DP 5.4G 或者 HDMI 6G,PCB 必须设计成四层板,这条前面提过一次,这里给出完整判断依据。另外,机种如果需要 DP MST,就一定得做四层板,因为 DP IN 和 DP OUT 都是 5.4G,两套高速走线要在同一块板上共存,两层板的地平面根本铺不开。
MST 还有两个连接器层面的坑:一是 MST connector 的 DP IN 和 DP OUT 引脚定义不同,不能当成同一个连接器画两遍;二是 4 LANE 走线不可穿插 GND,走线要短,尽可能不超过 11cm。穿插地线会让差分对的参考平面断裂,11cm 这条线是经验值,超过之后眼图开始明显收敛。
4. GPIO 分组与电源域:把耐压等级和 Power Tree 一起签核
接口画完只是第一步,真正决定这块板能不能过认证、能不能长期稳定的,是 GPIO 的耐压分级和电源树。这两块内容看着琐碎,但每一条后面都对应一个具体的失效场景。
4.1 GPIO 耐压分级与不能用的引脚
手册把 GPIO 的耐压分成三档,这三档的差别是排查时的第一判据:
| 耐压等级 | 含义 | 典型用途 |
|---|---|---|
| 5V tolerance even when power-off | IC 无电源时可承受 5V | HPD、EDID_WP |
| 5V tolerance even when power-on | IC 必须有电时才可承受 5V | 部分输入检测脚 |
| 3.3V tolerance | 只可承受 3.3V | 普通控制脚、ADC |
掉电耐压和上电耐压是两件事,前者对应整机 standby 时外部设备还插着的场景。HPD、EDID_WP 这类要接外部设备的脚,必须按最高一档选。
GPIO 当 input 使用时,不可输入负电压。最典型的就是耳机侦测:HP_DET 在拔除耳机的瞬间会产生负压,GPIO 只可承受 -0.3V,负压过高还会影响旁边的 GPIO。解决办法是 HP_DET 先经一颗 NMOS 反相,再接入 IC 的 GPIO,用晶体管把负压挡在外面。这条不做,表现是「耳机拔插几次之后,旁边的按键开始失灵」。
几个专用引脚的占用关系要提前理清:PIN94 到 PIN97 如果设定成 ADC,就只有 3.3V 耐压,没有 5V 耐压,而且这是 5bit ADC;PIN209、210、211 是 3.3V 耐压;PIN80、83、86 的电源一定要接 POWER,不能悬空;FLASH_WP 只可以用 PIN190;SPI BLOCK 的 PIN153 到 PIN157 一旦开启 SPI 功能,就都不能当 GPIO 用。
PIN109 到 PIN117 这组要特别注意:如果固件开启了 audio 功能,就不可并用 MCU 的 GPIO 控制脚位,因为这组脚会有 1.65V 的偏置电压。反过来,如果要用 GPIO 或 I2S,DAC support 必须关掉。PIN143 到 PIN166 在 powersaving 和 poweroff 状态下会 floating(VCCK OFF),PIN109 到 PIN117 设定成 GPIO 时同样会 floating,接在这两组上的控制信号,必须确认外部有确定的下拉,否则省电模式下会误动作。
还有几条零散但致命的:PWM0 到 PWM5 无重复使用;CEC 可以设定成 GPIO,模式可选 GPI、OD、PushPull;HDMI HOTPLUG 一定要选 OpenDrain;DIGITAL DDC PORT 的 PIN74-77 和 PIN212-215 只有 GPI 与 Open Drain;PIN74、PIN75 在 AC on 时的 initial GPIO pinshare 是 AUX,因此 VCCK_OFF_EN、DDR_PW_EN 这些暂态信号必须避开 AUX 脚位;各个控制脚在 initial state 的 high/low 准位要确认,避免开机瞬间误动作,重点看 panel power、BL_EN、LED、Mute 这几根。
/* 开机初始电平表:防止上电瞬间背光闪、屏误上电 */ typedef struct { uint8_t pin; uint8_t init_level; /* 0: 低 1: 高,必须与电路上的外部下拉一致 */ uint8_t note; /* 用途 */ } boot_state_t; static const boot_state_t boot_table[] = { { PIN_PANEL_PWR, 0, 0 }, /* 屏电源先关,等时序到位再开 */ { PIN_BL_EN, 0, 0 }, /* 背光使能默认关,避免白屏闪 */ { PIN_LED_STBY, 1, 0 }, /* 待机灯默认亮 */ { PIN_MUTE, 0, 0 }, /* 静音默认关,避免 pop 声 */ };这张表要在原理图评审时就填完,不能等固件同事来问。每一个init_level都要和电路上的外部上下拉对得上,对不上就会出现「上电瞬间背光闪一下」这种玄学现象。
未使用的 GPIO 至少留 2 个拉 test point,未使用的 DDC channel 也拉出来做 debug。这不是浪费板面积,是给后期改版留后门。IO 扩展方面,I2C 加 INT 可以扩 8 路 GPIO,建议接 PCA9554 或 PCA9555,默认配置成 GPI。要注意的是,如果 PCA9554/PCA9555 配置成输入,内部会有一个 100K 的弱上拉到它的 VDD,所以千万不要把 DPx_SINK_ASS_N、DPx_SINK_ASS_P 接到 IO expander 上——弱上拉会把差分判决电平拉偏。
4.2 Power Tree:DC/DC 效率、Bead 与反馈点
IC 的电源域分 3.3V、1.1V、1.8V 几组,建议全部用 DC/DC,效率比 LDO 好得多,热量也好控。1.1V_OFF 和 1.8V 的 EN 接 GPIO,进入 powersaving poweroff 时会被关掉,这一条要在时序表里体现。
电压值上有两个硬门槛:QHD165/QHD180 的 VCCK_ON 和 VCCK_OFF 电压必须大于等于 1.13V;RTD2795QT、RTD2795TH 这类 overclocking 型号同样要求 VCCK_ON 与 VCCK_OFF 大于等于 1.13V。VCCK_OFF 的 1.
本文还有配套的精品资源,点击获取