ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

HDMI转MIPI桥接选型:IT6616的4K带宽与lane配置

HDMI转MIPI桥接选型:IT6616的4K带宽与lane配置

简介:联阳IT6616芯片数据手册面向硬件工程师、嵌入式显示方案开发者及HDMI-to-MIPI桥接选型人员,聚焦HDMI 1.4转MIPI CSI/DSI的低功耗、高质量视频转换需求,也可为替代TC358743XBG/TC358749XBG、LT6911C等方案提供器件级参考。压缩包内仅含1个PDF文件,大小约1.14MB,内容为IT6616 Preliminary Datasheet V0.71,可集中查阅芯片概述、HDMI RX与MIPI TX特性、规范兼容性、音频分离、CEC/RCP、I2C控制、供电与封装等核心信息。目前已有2439人学习。手册对4Kx2K@30Hz 444、4Kx2K@60Hz 420、每通道最高3Gbps、Deep Color、EDID RAM及自适应均衡等关键指标的说明,便于读者在方案评估阶段核对带宽、接口链路与外围设计约束,也为AR/VR、移动显示等应用的原型验证和替代选型提供依据。

1. HDMI 转 MIPI 桥接选型:三组数字让我把 IT6616 排到了候选第一位

前段时间帮某开发者收拾一块 AR 眼镜转接板,HDMI 源进、MIPI 屏出,4K30 就是出不来图。前前后后换了两颗桥接芯片,线也重画了,最后换到 IT6616 才一次点亮。但真正让我把它排进候选第一位的,不是“点亮”这个结果,而是数据手册里三组数字:HDMI RX 每通道 3.0Gbps、MIPI TX 每 lane 2.0Gbps、56 脚 8×8 QFN。前两个数字直接决定 4K 到底跑不跑得动,第三个数字决定你改不改板。芯片 hdmi MIPI 这条路看着简单——进来一路差分,出去一路差分——真算起来全是余量问题。下面把我比过的维度、算过的带宽、踩过的坑,原样摊开。

2. 先把带宽算清楚:瓶颈从来不在“支不支持 4K”

2.1 3.0Gbps 和 2.0Gbps 背后的真实余量

很多人看手册只扫一眼“支持 4K2K@30Hz 444”就下单,这是最容易翻车的地方。IT6616 的 HDMI RX 是三个数据通道加一个时钟通道,单通道 3.0Gbps,三个通道合计约 9.0Gbps 的原始串行带宽。而 MIPI TX 侧,D-PHY 每条 lane 跑 2.0Gbps,1/2/4 lane 可配,也就是说 4 lane 全开也只有 8.0Gbps。

可见这两头不对称,且不对称的方向是“进去比出去更宽”。HDMI 侧 9.0Gbps 里能塞得很舒服的画面,从 MIPI 侧出来就可能被顶到天花板。

更要命的是 MIPI D-PHY 的编码效率。D-PHY 在高速模式下每传 1 个字节,实际上送的是 9 个 bit,也就是常见的 8b/9b。所以 2.0Gbps/lane 的线速率,真正能装视频数据的有效载荷只有 2.0 × 8/9 ≈ 1.78Gbps。4 lane 合起来 7.11Gbps 有效带宽,这是所有算术的基准线。

拿 4K2K@30Hz RGB444 举例:按标准 CEA 时序,像素时钟大约 297MHz,每像素 24bit,需要 297M × 24 = 7.13Gbps 的有效载荷。7.13 对 7.11,正好差一点点。

这就是为什么很多板子“手册说支持、实际跑不出来”。你如果是按 8.0Gbps 这个数字去配 4 lane,觉得余量 12% 挺安全,实际已经超了。我一般会直接按 8b/9b 折算后再留 15% 以上,否则就动颜色格式的主意。

2.2 lane 数怎么定:给一张能直接抄的表

选 lane 数这件事,看分辨率、看格式,还要看你的 MIPI 接收端能收几 lane。很多屏和 SoC 的 CSI 口只给 2 lane,这时候你算得再漂亮也没用,只能往下降格式。

下面这张表是我自己压出来的,像素率按标准 CEA 时序取,有效载荷已经做过 8b/9b 折算(每 lane 按 1.78Gbps 算):

输出画面像素时钟每像素位宽所需有效载荷2 lane(3.56Gbps)4 lane(7.11Gbps)
1080p60 RGB888148.5MHz24bit3.56Gbps余量约 0%,不建议余量约 50%,很稳
1080p60 YUV422148.5MHz16bit2.38Gbps余量约 33%,可用余量约 66%
1080p60 YUV420148.5MHz12bit1.78Gbps余量约 50%余量约 75%
4K30 RGB444297MHz24bit7.13Gbps带宽不够余量接近负值,必须实测
4K30 YUV420297MHz12bit3.56Gbps余量约 0%,风险高余量约 50%,推荐
4K60 YUV420594MHz12bit7.13Gbps带宽不够余量接近负值,必须实测

看完这张表能得出两个直接结论。第一,1080p 级别用 2 lane 是舒服的,只有 RGB888 这种 24bit 全彩要小心;第二,4K 级别不管 30Hz 还是 60Hz,一律上 4 lane,而且 RGB444 和 4K60 这两个格子,理论上都在边缘上,必须拿实际板子跑波形验证,不能只看手册的“支持”二字。

回过头看,我最初那块板子就是栽在这:4 lane 是配了,但 MIPI 接收端只按 2 lane 收,软件里也没改 lane 数,画面直接黑屏。硬件没问题,是配置和带宽认知没对上。

2.3 颜色格式是比 lane 数更便宜的带宽杠杆

带宽差一点点的时候,加 lane 要改板,改格式只要写寄存器。IT6616 内置了 CSC 引擎,支持 RGB 到 YUV444/422 的互转,也支持 YUV420 直通到 MIPI 输出,这意味着你可以把源端的 RGB444 在片内转成 YUV422 再送出去,带宽立刻从 24bit 降到 16bit,省三分之一。

代价是色彩分辨率。做 AR/VR 头显、医疗显示这类对色准敏感的场合,422 的色度抽样是看得出来的,特别是红色文字边缘。做普通信息屏、车载倒车影像这类场景,422 甚至 420 都够。

我的习惯是:先按原始格式算带宽,如果余量低于 20%,再考虑降格式;降格式之前先确认下游屏或 SoC 的 MIPI 接收端支持哪种格式。IT6616 的 CSI 侧支持 RGB 888/666/565/555/444 和 YUV422 8b/10b、YUV420 8b legacy,DSI 侧支持 RGB 18/24/30/36bit 的 packed pixel stream 和 18bit loosely packed,选项是够的,但要和屏的规格书对得上,不能单方面决定。

提示:DSI 的 loosely packed 18bit 和 packed 18bit 在字节排布上不一样,屏如果只认其中一种,配错了不是花屏而是整屏偏色,很容易误判成 CSC 配错。

3. 三颗桥接芯片逐项对比:从六个维度给出选型结论

3.1 先划掉哪几个维度

市面上做 HDMI 转 MIPI 的桥接方案不多,常被拿来互相替代的大致是三颗:IT6616、TC358743XBG/TC358749XBG 那一类、以及 LT6911C。这三颗的定位高度重叠,都能把 HDMI 1.4 转成 MIPI CSI/DSI,都面向 AR/VR、移动显示、便携屏这些场景,所以替换关系是成立的。

但替换能不能落地,不看“功能列表长得像不像”,看六个维度:HDMI 侧最大速率、MIPI 侧 lane 数与速率、音频通路、CEC、EDID 处理、封装脚位。前三项决定性能天花板,后三项决定你的 BOM 和改板成本。

我一般会先划掉“支持的分辨率列表”这个维度。三家都写支持 4K,写法还都挺花,但真正的差别在余量上,不在支持列表上。同样标 4K30,4 lane 余量 50% 和余量接近 0 是两回事,这个只能自己算。第二个划掉的是“功耗”,因为 IT6616 这份手册里的功耗表是 TBD,没有实际数字,拿 TBD 去比没有意义,只能实测。

3.2 六个维度的逐项对比

下面这张表里,IT6616 那一列是数据手册确证的,另外两列我按“替换前必须核对的点”来写,避免拿没验证过的数字误导人。

维度IT6616(手册确证)TC358743XBG 一类LT6911C 一类我的判断权重
HDMI RX 速率单通道 3.0Gbps,支持 4K30 444 / 4K60 420核对手册的 max TMDS clock 与色深同左,重点看 4K30 444 是否真能跑高
MIPI TXD-PHY 2.0Gbps/lane,1/2/4 lane 可选核对是否支持 4 lane、是否支持 lane/polarity swap同左,lane swap 很关键高
音频通路8ch I2S / 6ch DSD / SPDIF 可切换输出核对是否有 I2S 直出,还是要走 I2C 搬运同左中高
CEC内置 CEC/RCP 硬件,可走高层 API核对是否需要外挂 MCU 打 CEC 时序同左中
EDID内置 EDID RAM,省掉外部 EEPROM核对是否要外挂 EDID ROM同左中
封装与供电56 脚 8×8 QFN,1.2V + 3.3V 双路核对脚位是否兼容、是否单 3.3V 供电同左高

这张表里最容易被忽略的是“封装与供电”这一行。IT6616 是 1.2V 加 3.3V 双路供电,1.2V 还分了核、PLL、模拟前端好几个域。如果你原来的方案是单 3.3V,换上 IT6616 就得在板上加一路 1.2V,还要考虑上电顺序。这一条在选型阶段看着是小事,画板的时候就是改版。

第二容易被忽略的是 lane swap。IT6616 支持 Lane/Polarity 输出交换,意思是走线布错了顺序或者差分对极性反了,可以在寄存器里换回来,不用割线重画。这在赶工期的时候就是后悔药。核对竞品时这一条一定要确认,没有这个功能,一次布错就是一周。

3.3 三类项目分别该选谁

把六个维度串起来,我给三个具体建议,你可以按自己的项目对号入座。

第一类,AR/VR 头显、便携显示器这类要 4K、要低功耗、板子面积紧的项目,我会优先考虑 IT6616。理由是 4 lane MIPI 加内置 EDID RAM 加内置 CEC,外围元件少,8×8 QFN 占位也小。代价是双路供电,电源树要多画一层。

第二类,已经量产、只想做芯片替换、不想动 PCB 的项目,先看脚位。IT6616 是 56 脚 QFN,如果原方案也是 56 脚同尺寸 QFN 且脚位定义接近,替换成本最低;脚位差得多的,替换省下的芯片钱还不够改板钱。这一条没有任何投机空间,必须拿两张 pin diagram 叠着看。

第三类,只需要 1080p、成本极度敏感的项目,说实话用 IT6616 有点浪费。它的价值在 4K 和 4 lane,1080p 场景下 2 lane 就够,很多更便宜的方案能顶上。但如果你有音频要求(8 通道 I2S 或 6 通道 DSD),IT6616 的音频通路是个加分项,做会议终端、车载娱乐这类带多声道输出的场景,能省掉一颗独立音频分离芯片。

注意:替换关系成立不等于可以直接换。上表里“核对”的那几格,每一项都要拿到对方手册原文确认,不能拿供应商口头的“可以替代”当依据。

4. 一次点亮的硬件细节:电源、时钟、I2C 地址

4.1 双路供电与上电时序

IT6616 的电源引脚分得很细:IVDD12 是数字核 1.2V,OVDD33 是 IO 3.3V,RPVCC12/RPVCC33 是 HDMI RX 的 PLL,AVCC12/AVCC33 是 HDMI RX 前端,DVDD12 是 HDMI RX 数字部分,APVDD12/APVCC33 是音频电路,TVCC12/AVDD33 是 MIPI TX 模拟前端,PVCC12/PVDD33 是 MIPI 核心 PLL。看起来一堆,实际归成两类:1.2V 和 3.3V,各自再按模拟/数字分开走。

工作条件上,1.2V 域的范围是 1.14~1.32V,3.3V 域是 3.0~3.6V,环境温度 -20℃~+70℃,手册明确写了电源噪声要控制在 100mVpp 以内。这条 100mVpp 别当摆设,PLL 供电上如果纹波压不住,表现就是 MIPI 输出偶发误码、画面出现细横纹,而且这种问题在常温下可能测不出来,一到高温就冒头。

我的做法是:1.2V 用独立 LDO,不要从 3.3V 用电阻分压或者从 DCDC 直接拉;PLL 供电那几脚单独加磁珠加 1μF 加 0.1μF,磁珠后面再补 10μF。θja 是 28℃/W,热阻不算差,但 QFN 底部散热焊盘必须焊透,过孔要打足。

上电顺序手册给了时序图,我没法在这儿贴图,但实操上有个经验:SYSRSTN 是低有效复位,一定要等两路电源都稳定之后再释放,而且释放后至少留 1ms 再开始 I2C 访问。很多“I2C 读不到芯片”的现场问题,根子都是复位释放太早。

4.2 MIPI TX 走线和 lane swap

MIPI TX 引脚是 TXL0P/N、TXL1P/N、TXL2P/N、TXL3P/N 加上 TXCKP/N,一共 4 组数据加 1 组时钟,都是差分。走线上按 100Ω 差分阻抗控制,等长组内控制在 5mil 以内,组间不用严格等长但要保持拓扑干净。

真正的坑在 lane 顺序上。IT6616 的 lane 0 到 lane 3 是固定的物理引脚,但下游 SoC 或屏的 lane 定义不一定和你画的一致。这时候不用割线,用寄存器把 Lane/Polarity 输出交换打开,把 lane 顺序和极性在片内调过来就行。这个功能我在两块板子上都用过,一次是 lane 顺序反了,一次是某对差分极性接反,都是改两行配置解决的。

时钟这边还有个选项容易忽略:连续时钟模式。IT6616 支持 Continuous-clock mode,如果你的接收端在非连续时钟下同步不稳、偶尔丢帧,可以试着打开连续时钟,很多时候一开就稳了。反过来,如果你的接收端对功耗敏感,非连续时钟更省电。

DSI 侧还有两个实用功能:同步事件/同步脉冲模式可选,以及在消隐期间进入低功耗(Low Power Mode)。做电池设备的话,消隐期进低功耗能省一点是一点;做固定供电设备则可以不管。

4.3 I2C 配置通路与 DDC 的边界

IT6616 有两套 I2C:一套是 PCSCL/PCSDA,用来配置芯片寄存器;另一套是 DDCSCL/DDCSDA,那是给 HDMI 源端读 EDID 用的。这两套千万别混。

配置侧有个 PCADR 引脚,决定器件地址:接地是 0x90,拉高是 0x92(这是 8bit 写地址,折算成 7bit 就是 0x48 和 0x49)。同一条 I2C 总线上挂两颗 IT6616 的时候,就靠这个引脚区分。我见过有人把两颗都接地,然后抱怨地址冲突——这不是芯片的问题。

bring-up 阶段先用一段最简单的探测脚本确认芯片在不在线:

from smbus2 import SMBus BUS = 1 # PCADR 接地 -> 8bit 写地址 0x90,折算 7bit 为 0x48 # PCADR 拉高 -> 8bit 写地址 0x92,折算 7bit 为 0x49 CANDIDATES = [0x48, 0x49] with SMBus(BUS) as bus: for addr in CANDIDATES: try: bus.read_byte(addr) # 只做 ACK 探测,不写任何寄存器 print(f"ACK @ 7bit 0x{addr:02X}") except OSError: print(f"no response @ 7bit 0x{addr:02X}")

这段代码只读不写,目的是确认三件事:I2C 总线通不通、PCADR 接法对应哪个地址、芯片有没有从复位里出来。如果两个地址都没响应,先查电源和 SYSRSTN,别急着怀疑芯片坏了。

命令行下也可以用 i2cdetect 快速扫:

# PCADR 接地时扫 0x48,拉高时扫 0x49 i2cdetect -y -r 1 0x48 0x48 i2cdetect -y -r 1 0x49 0x49

确认在线之后,具体的寄存器读写格式和地址映射要查原厂的 Register Table,这份数据手册里没有展开寄存器定义,别凭猜写。

DDC 侧要注意的是电压。DDC 引脚能耐受 0~5.5V,因为 HDMI 源端会通过 R0PWR5V 送 5V 过来,这个 5V 同时也用来判断源端是否插入。RXHPD 是输出给源端的热插拔检测,源端要靠这个信号才肯输出画面。调试时如果源端一直不出图,先用示波器看 RXHPD 有没有拉高,再看 DDC 上有没有 EDID 应答,这两步能排掉一大半“黑屏”问题。

EDID 是内置 RAM,省了外部 EEPROM,但也意味着上电后必须由固件写进去。写完最好读回来校验一遍,别假设写成功了。

5. 避坑清单:五个踩过的坑,按现象-原因-解决拆开

5.1 MIPI 侧完全黑屏,但 HDMI 侧有信号

现象:示波器在 HDMI 差分对上能看到正常波形,源端也报已连接,但 MIPI 侧一点动静都没有,接收端连 HS 时钟都检测不到。

原因:最常见的是 lane 数配置和接收端不匹配。IT6616 支持 1/2/4 lane,但默认配置不一定是你的接收端要的那个数。另一种情况是 lane 顺序或极性反了,芯片在发,接收端认不出来。

解决:先确认接收端的 lane 数,把发送侧配成一样的;再打开 Lane/Polarity 输出交换,把 lane 顺序和极性逐个试。我一般会准备四组配置——原序、反序、全反极性、反序加反极性——轮流试一遍,十分钟内基本能定位。别一上来就怀疑焊接。

5.2 I2C 完全读不到芯片

现象:i2cdetect 扫 0x48 和 0x49 都是空白,换板子也一样。

原因:三个高发点。一是 PCADR 悬空,芯片自己也不知道该用哪个地址;二是 SYSRSTN 一直被拉低,芯片没出复位;三是 1.2V 没上来,只有 3.3V,芯片内部逻辑根本没工作。

解决:先量 SYSRSTN 的电平,确认释放;再量 IVDD12 和 OVDD33 两路电压;最后确认 PCADR 有明确的高低电平,不要悬空。这三步按顺序做完,九成问题能定位。剩下那一成再去看 I2C 上拉电阻——手册里提到过,多设备共总线时等效上拉会变低,如果低电平拉不下去,可以把输出驱动电流调高一档。

5.3 4K 长线下花屏、闪屏

现象:短 HDMI 线(1 米以内)4K30 正常,换 3 米线就开始闪,偶尔出现彩色条纹。

原因:TMDS 信号经过长线衰减,眼图张开度不够。IT6616 的 HDMI RX 有自适应均衡,但均衡能力有边界,线材质量太差的时候顶不住。另一个可能是源端 TMDS 摆幅本身偏低,手册规定差分输入摆幅范围是 150~1200mVpp,接近下限的时候余量就很小。

解决:先在软件侧确认均衡档位有没有被正确配置,很多时候是默认档位偏保守;再看源端摆幅,用示波器量一下是不是贴着 150mVpp 下限。如果是线材问题,换一根带屏蔽的短线立刻能验证。手册里还提到接收端对内偏斜容差在 2.25GHz 以下和以上是两套标准,高频下容差更紧,所以 4K60 对走线和线材的要求比 4K30 明显高。

5.4 音频出不来,或者只有杂音

现象:画面正常,声音完全没有;或者有声音但是断续、带爆音。

原因:I2S、DSD、SPDIF 这三套音频输出是复用同一组引脚的。I2S0/I2S1/I2S2/I2S3 在 DSD 模式下分别对应左右声道数据,WS 引脚在 SPDIF 模式下是 SPDIF 数据输出,MCLK 在 DSD 模式下又是另一路声道数据。配置没切对,出来的就是乱七八糟的波形。

解决:先确认源端到底送的是什么格式的音频流——8 通道 I2S、6 通道 DSD 还是 SPDIF,这三者片内能分离但输出引脚要配对;再确认 MCLK 和 SCK 有没有正常输出,没有主时钟很多 DAC 直接不出声。最后检查声道映射,8 通道 I2S 是 4 组数据线两两成对,映射错了就是左右声道串。

5.5 源端死活不出 4K,只给 1080p

现象:播 4K 片源,源端自动降到了 1080p,怎么调都不上去。

原因:HDMI 源端读 EDID 决定输出什么格式,EDID 里没写 4K30 444 或 4K60 420 的详细时序,源端就不敢送。IT6616 的 EDID 是内置 RAM,上电后由固件写入,如果固件里写的是一份保守的 1080p EDID,源端当然只给 1080p。

解决:把 EDID 表改对,明确写进 4K30 444 和 4K60 420 的时序,以及 Deep Color 支持能力。写完读回来比对一次。还有一点,源端和 sink 之间如果还串了别的设备(比如功放、分配器),中间设备的 EDID 也会插进来,调试时尽量直连。

6. 落到你的板子上:先算带宽、再定 lane、最后留两颗后悔药

选型的结论其实很清楚:IT6616 的价值集中在三处——HDMI RX 单通道 3.0Gbps 带来的 4K 能力、MIPI TX 4 lane 加 lane swap 带来的布线容错、以及内置 EDID RAM 加内置 CEC 带来的外围精简。如果你的项目正好需要这三样,它是合适的选择;如果只做 1080p,那它的优势发挥不出来。

但真正决定项目成败的,从来不是选哪颗芯片,是你会不会算那笔带宽账。我把前面那张表再压成一句话:每 lane 按 1.78Gbps 有效载荷算,4 lane 封顶 7.11Gbps,凡是算出来超过 6Gbps 的方案,都要留出实测时间,不能排进关键路径。

给三个可以直接执行的动作。

第一,画板前先算。拿目标分辨率、像素时钟、每像素位宽三个数相乘,除以 1.78Gbps,向上取整得 lane 数,再乘 1.15 的余量系数。算出来超过 4 lane 的,立刻降颜色格式,别硬扛。

第二,布板时把 lane swap 当成必选项而不是可选项。IT6616 支持 Lane/Polarity 输出交换,布线上就不用为了等长和顺序反复调,走线该怎样就怎样,最后用寄存器调回来。这块省下来的时间,比任何优化都实在。

第三,电源树一次做对。1.2V 独立 LDO,PLL 供电单独滤波,电源噪声压在 100mVpp 以内,上电顺序按手册时序图走,SYSRSTN 最后释放。这些在原理图阶段是半小时的事,在调试阶段就是三天。

回过头看,那个 AR 眼镜项目最后之所以能收敛,不是因为换了颗更强的芯片,而是因为换了芯片之后,我强制自己做了一件事:先把带宽算完、把电源顺序画出来、把 lane swap 的寄存器位置标在原理图上,然后才动手画板。在此之前我是先画板再想办法,翻车翻得心安理得。

从那以后我每次开新板,无论多简单的桥接芯片,都会强制走一遍“算带宽 → 核电源 → 留 swap”这三步,一步不省。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进