ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

IT66631单芯片双路HDMI 2.0输出方案:双屏异显架构设计与调试实战

IT66631单芯片双路HDMI 2.0输出方案:双屏异显架构设计与调试实战 1. 一颗芯片搞定双屏异显IT66631到底解决了什么问题第一次拿到IT66631的规格书时我正被一个双屏项目折磨得够呛。客户要求一台设备同时驱动两块HDMI 2.0屏幕而且两块屏要显示不同的内容——一块放主画面一块放数据面板。市面上常见的方案要么是走两套独立输出通道成本高得离谱要么是单路输出加分屏器但分屏器只能镜像做不到异显。IT66631的出现算是把这类需求从堆料硬扛拉回到了单芯片解决的轨道上。先把话说清楚IT66631是一颗HDMI 2.0双路输出转换芯片核心能力是把一路视频源拆分成两路独立的HDMI 2.0输出支持双屏异显和双屏同显两种模式。它主要面向的场景包括商显广告机、车载双屏娱乐系统、会议一体机、医疗双屏工作站、游戏设备副屏等。适合谁来参考硬件工程师、嵌入式驱动开发者、以及做多屏方案选型的系统架构师。如果你只是想让笔记本外接两个显示器那不需要看这颗芯片直接买扩展坞就行但如果你是在做产品级的多屏输出方案需要控制BOM成本、简化PCB布局、保证双路4K60Hz的稳定输出那IT66631值得花时间研究。这颗芯片之所以能引起关注跟HDMI 2.0本身的带宽特性分不开。HDMI 2.0的理论带宽是18Gbps支持4K60Hz、HDR、32声道音频。要把这样一路高带宽信号一分为二且保证两路都符合HDMI 2.0规范不是简单复制信号就能做到的。IT66631内部做了TMDS信号的重定时和均衡处理每一路输出都有独立的时钟恢复和驱动电路这是它跟普通分屏器最本质的区别。普通分屏器是复制粘贴IT66631是重新生成——前者信号质量会衰减后者每一路都是干净的。我在实际项目中用这颗芯片做过一轮完整的验证从原理图设计到PCB布局从EDID配置到双屏异显调试踩了不少坑也积累了一些规格书上不会写的经验。下面就把整个架构设计和实操过程拆开来讲尽量让做硬件的和做驱动的都能找到自己需要的东西。2. 架构拆解IT66631内部到底怎么工作的2.1 从输入到双输出的信号链路IT66631的信号处理链路可以分成四个阶段输入接收、信号解码与处理、双路独立编码、输出驱动。这四个阶段对应芯片内部不同的功能模块理解这条链路是做好外围设计的前提。输入接收阶段芯片通过HDMI接收器接收来自SoC或视频源的TMDS信号。这里有一个关键点IT66631的输入端口支持HDMI 2.0的全部特性包括18Gbps带宽、HDR10、HDCP 2.2。输入端的均衡器EQ会根据线缆长度自动调整增益补偿高频衰减。我在实测中发现输入线缆超过2米时EQ的自动补偿效果会明显下降建议输入走线尽量短或者选用带信号增强的HDMI线缆。信号解码与处理阶段是这颗芯片最核心的部分。输入的TMDS信号被解码成像素数据后会进入一个内部视频处理管线。这个管线负责色彩空间转换、分辨率缩放如果两路输出分辨率不同、帧率适配等工作。这里要特别注意IT66631支持两路输出独立设置分辨率和刷新率但输入信号只有一路。也就是说如果输入是4K60Hz两路输出可以一路4K60Hz、一路1080P60Hz但不能两路都4K60Hz同时输入又是4K60Hz——总带宽是共享的。双路独立编码阶段处理后的像素数据被送到两个独立的HDMI编码器。每个编码器都有自己的TMDS时钟恢复电路和输出驱动。这意味着两路输出的时序是独立的可以分别配置。我在调试双屏异显时就是通过这个特性让主屏和副屏跑不同的分辨率。输出驱动阶段两路TMDS信号分别经过各自的驱动电路输出到HDMI接口。每路输出的驱动电流可以独立配置这在走线长度不同的两块屏场景下很有用——长走线的那一路可以加大驱动电流来补偿衰减。2.2 双路输出的三种工作模式IT66631支持三种双路输出模式理解这三种模式的区别是方案选型的基础。镜像模式两路输出完全相同的画面和时序。这种模式最简单芯片内部只需要把处理后的像素数据复制一份送到两个编码器。适合广告机、展示屏这类需要多屏同显的场景。优点是延迟低、配置简单缺点是无法独立控制两路输出。扩展模式异显两路输出显示不同的内容。这需要视频源端配合把画面分成两个独立的图层或区域分别送到芯片的两个输入通道。注意IT66631只有一个HDMI输入端口所以异显的实现方式通常是SoC输出一个拼接好的超宽画面比如3840x1080芯片内部把它切成两个1920x1080分别输出。或者SoC通过其他接口如MIPI输入两路信号芯片内部做切换。具体用哪种方式取决于你的SoC支持什么输出格式。混合模式一路输出主画面另一路输出叠加了OSD信息的画面。这种模式在车载和医疗场景比较常见副屏显示参数、状态等信息。IT66631内部有OSD叠加功能可以通过SPI接口加载OSD图层数据。2.3 关键参数与选型对照在确定用IT66631之前我对比了几种常见的双路HDMI输出方案整理成表格供参考方案类型典型芯片双路4K60支持异显支持BOM成本PCB面积开发难度单芯片双路输出IT66631支持带宽共享支持中等小中等双芯片独立输出两颗HDMI TX支持独立带宽支持高大低分屏器方案普通Splitter不支持不支持低小低DP MST方案DP转双HDMI支持支持中等中等中等从表格可以看出IT66631的核心优势是在单芯片上实现了双路独立输出同时支持异显。代价是两路输出共享总带宽在极端场景下比如两路都跑4K60Hz加HDR需要仔细核算带宽预算。注意IT66631的总带宽是18Gbps这是输入和输出共享的。如果输入是4K60Hz 4:4:4 8bit占用约17.82Gbps那两路输出加起来不能超过这个值。实际项目中建议留20%余量输入用4K60Hz 4:2:0给双路输出留出空间。3. 硬件设计实操从原理图到PCB布局3.1 电源树设计与去耦电容配置IT66631需要三路电源1.1V核心电压、1.8V IO电压、3.3V模拟电压。这三路电源的上电时序有严格要求规格书里写的是1.1V先上然后1.8V最后3.3V每路之间延迟至少1ms。我一开始没注意这个时序结果芯片偶尔能工作偶尔不能排查了两天才发现是电源时序问题。电源树的设计建议用独立的LDO给模拟部分供电数字部分可以用DCDC。模拟3.3V的纹波要控制在50mV以内否则HDMI输出眼图会明显变差。我在实测中对比过用普通DCDC供电时眼图张开度比用LDO差了约15%。去耦电容的配置也有讲究。规格书建议每个电源引脚配0.1uF电容但实际项目中我在1.1V核心电源上额外加了两个10uF的钽电容在3.3V模拟电源上加了1个4.7uF的陶瓷电容。这样做的原因是核心电压的瞬态电流变化大需要大容量电容储能模拟电源对低频纹波敏感需要大电容滤除低频噪声。3.2 HDMI接口的ESD防护与走线规则HDMI接口是整板最容易出问题的地方。IT66631的TMDS输出引脚直接连到HDMI连接器中间需要加ESD防护器件。我推荐用低电容的TVS二极管阵列结电容要小于0.5pF否则会影响TMDS信号的高频特性。走线规则方面TMDS差分对要走100欧姆差分阻抗误差控制在10%以内。四对差分线之间的长度偏差要小于5mil否则会出现颜色偏差或画面闪烁。我在第一版PCB上就是因为一对差分线多走了8mil导致4K60Hz下偶尔出现绿色噪点后来重新绕线才解决。HDMI连接器的地引脚要直接连到芯片的模拟地不要经过数字地。这个细节很多新手会忽略但实测下来对信号质量影响很大。我试过把连接器地接到数字地眼图抖动明显增加。3.3 EDID配置与I2C通信IT66631通过I2C接口与主控通信EDID数据存储在芯片内部的EEPROM或外部EEPROM中。EDID配置是双屏异显能否成功的关键——两路输出需要分别配置EDID告诉视频源每路输出支持什么分辨率和刷新率。EDID的配置流程是这样的先通过I2C把EDID数据写入芯片的EDID RAM然后设置输出端口映射寄存器把EDID RAM 0映射到输出端口0EDID RAM 1映射到输出端口1。这里有一个坑如果两路EDID都配置成4K60Hz但输入带宽不够芯片会自动降分辨率但降的是哪一路取决于内部仲裁逻辑不一定是你想要的那一路。所以建议在EDID里明确标注优先级或者干脆把两路EDID配置成不同的分辨率避免仲裁冲突。I2C的时钟频率建议用100kHz不要用400kHz。我试过400kHz在EDID写入过程中偶尔出现数据错误降到100kHz后就没再出现过。I2C的上拉电阻用4.7k欧姆走线尽量短远离TMDS差分线。4. 双屏异显调试实录从点亮到稳定输出4.1 初次上电与基本输出验证第一次上电时不要急着接双屏。先接一路输出确认基本功能正常。我的验证步骤是这样的给芯片上电测量三路电源电压是否正常纹波是否在范围内。通过I2C读取芯片ID寄存器确认通信正常。配置输入端口设置输入分辨率为1080P60Hz先用低分辨率验证。配置输出端口0设置输出分辨率为1080P60HzEDID用标准1080P配置。接上显示器看是否能正常点亮。这一步如果点不亮先查三个地方电源时序、I2C通信、TMDS输出是否使能。我遇到过输出使能寄存器没配置的情况芯片默认输出是关闭的规格书里这个寄存器的说明藏在很后面容易漏掉。4.2 双路输出独立配置与异显实现单路点亮后开始配置第二路输出。第二路的配置流程跟第一路类似但有几个额外注意点两路输出的时钟源要选择正确。IT66631内部有两个PLL分别给两路输出提供时钟。如果两路输出分辨率不同两个PLL要分别配置。输出驱动电流要分别设置。我一般先设成中间值然后根据实际线缆长度调整。如果要做异显需要配置输入画面的切割区域。比如输入是3840x1080输出0取左半部分1920x1080输出1取右半部分1920x1080。这个切割是通过配置裁剪寄存器实现的。异显调试时我建议先用静态测试画面比如左半屏纯红、右半屏纯绿这样一眼就能看出切割是否正确。等切割正确了再换成实际视频内容。4.3 带宽核算与分辨率取舍双路4K60Hz是很多人的目标但实际能不能做到要看带宽预算。我整理了一个带宽核算表输入格式输入带宽占用输出0格式输出1格式总带宽占用是否可行4K60 4:4:4 8bit17.82Gbps4K30 4:4:44K30 4:4:417.82Gbps临界4K60 4:2:0 8bit8.91Gbps4K60 4:2:04K60 4:2:017.82Gbps可行4K60 4:2:0 8bit8.91Gbps4K60 4:4:41080P60 4:4:413.37Gbps可行1080P60 4:4:44.45Gbps1080P60 4:4:41080P60 4:4:48.9Gbps轻松从表里可以看出如果坚持两路都4K60Hz 4:4:4带宽是不够的。实际可行的方案是输入用4:2:0色度采样两路输出都4K60Hz 4:2:0或者一路4K60Hz 4:4:4另一路1080P60Hz。具体怎么取舍看你的应用场景对画质的要求。提示4:2:0色度采样在显示文字时会有边缘模糊如果副屏是显示数据表格的建议副屏用4:4:4但降分辨率到1080P主屏用4K60Hz 4:2:0。这样文字清晰度和画面流畅度都能兼顾。5. 常见问题排查与避坑经验5.1 输出无信号或间歇性黑屏这是最常见的问题排查思路按优先级排列现象可能原因排查方法解决方案完全无信号输出使能未配置读输出控制寄存器配置输出使能位间歇性黑屏电源纹波过大示波器测3.3V纹波增加去耦电容或换LDO间歇性黑屏TMDS差分线阻抗不匹配TDR测试差分阻抗调整走线宽度和间距特定分辨率黑屏EDID配置错误读EDID RAM内容重新写入正确EDID双路同时黑屏总带宽超限计算输入输出带宽降低分辨率或色度采样我遇到过一次间歇性黑屏排查了半天发现是HDMI连接器的屏蔽地没接好。连接器的金属外壳要直接连到PCB的模拟地而且要用多个过孔连接减少接地阻抗。这个细节在规格书里没有强调但实际影响很大。5.2 画面偏色或噪点画面偏色通常是TMDS差分对的问题。具体来说某一对差分线走线过长或过短导致该颜色通道时序偏差。差分对之间的间距不均匀导致串扰。ESD防护器件的结电容过大导致高频衰减。我的排查方法是先用测试图案比如纯红、纯绿、纯蓝分别显示看哪个颜色有问题然后重点检查对应的差分对。如果是绿色有问题就查绿色差分对的走线和防护器件。噪点问题还可能是电源噪声引起的。我在一次调试中发现当SoC负载增加时HDMI输出会出现随机噪点。后来在IT66631的1.1V核心电源上并联了一个100uF的电解电容问题就解决了。原因是SoC负载变化导致电源波动核心电压不稳影响了TMDS编码器。5.3 双屏异显不同步双屏异显时两路输出的帧同步很重要。如果两路输出的帧率不一致会出现画面撕裂或延迟差异。IT66631支持两路输出帧同步但需要配置同步寄存器。配置方法是把输出0设为主端口输出1设为从端口从端口的时钟源选择主端口的时钟。这样两路输出的帧时序就对齐了。我在车载项目里用过这个配置两路屏幕的延迟差异控制在1帧以内。如果不需要严格同步也可以让两路各自独立运行但要注意两路输出的帧率最好成整数倍关系比如一路60Hz一路30Hz这样视觉上不会觉得别扭。5.4 热设计注意事项IT66631的功耗不算大但在双路4K60Hz满负荷运行时芯片表面温度会到60度左右。如果环境温度高需要加散热片。我在一个商显项目里环境温度45度芯片温度到了85度触发了内部过热保护输出会间歇性中断。后来加了铝制散热片温度降到70度以下就稳定了。PCB布局时芯片底部的散热焊盘要打足够多的过孔连接到地平面利用地平面散热。我一般打9个过孔阵列排列。如果空间允许芯片周围留出散热铜箔区域增加散热面积。6. 方案扩展与选型建议6.1 与SoC的接口适配IT66631的输入是HDMI所以你的SoC需要有HDMI输出。如果SoC只有MIPI DSI输出需要加一颗MIPI转HDMI的桥接芯片。这种情况下整体方案就变成了SoC → MIPI转HDMI → IT66631 → 双路HDMI输出。多了颗桥接芯片成本和PCB面积都会增加但灵活性更高。如果SoC本身有HDMI 2.0输出那就直接连到IT66631的输入端口这是最简洁的方案。需要注意的是SoC的HDMI输出要支持HDCP 2.2否则IT66631的HDCP中继功能无法工作。6.2 音频处理方案IT66631支持音频提取和嵌入。输入HDMI中的音频可以被提取出来通过I2S或SPDIF接口送到外部DAC也可以把外部音频嵌入到输出HDMI中。双路输出时两路可以嵌入不同的音频这在车载场景很有用——主屏放导航语音副屏放娱乐音频。音频配置的坑在于采样率和通道数的匹配。如果输入音频是192kHz 8通道而输出配置成了48kHz 2通道芯片会自动降采样但降采样的质量取决于内部算法。我建议在EDID里明确标注音频支持格式让视频源输出匹配的音频格式避免芯片内部转换。6.3 成本与竞品对比IT66631的单价在同类芯片中属于中等偏上但考虑到它省掉了一颗HDMI接收器和一颗额外的HDMI发送器整体BOM成本反而有优势。我算过一笔账用两颗独立HDMI TX芯片的方案芯片成本加上外围电路两颗晶振、两套电源、两套ESD防护比IT66631方案贵约30%PCB面积大40%。竞品方面市面上有类似功能的芯片但要么不支持HDMI 2.0全带宽要么双路输出共享同一个时钟源导致无法独立配置分辨率。IT66631的优势在于两路完全独立的编码器和时钟恢复电路这是做双屏异显的硬性条件。6.4 固件升级与寄存器配置工具IT66631的寄存器配置可以通过I2C在线修改也可以通过外部EEPROM加载。批量生产时建议把配置好的寄存器值烧录到EEPROM里芯片上电后自动加载。这样主控只需要发一个启动命令不需要每次上电都重新配置。调试阶段可以用芯片厂商提供的配置工具通过USB转I2C适配器连接芯片实时修改寄存器并观察输出变化。这个工具在调试EDID和输出时序时特别有用比盲改寄存器效率高很多。我在实际项目中总结了一个寄存器配置模板包含输入配置、输出配置、EDID配置、音频配置四个部分。每次新项目直接套用模板改几个参数就能用省去了从头配置的时间。这个模板的核心思路是先把输入和输出都设成最低分辨率比如720P确认通路正常后再逐步提高分辨率最后配置EDID和音频。这样排查问题时范围小容易定位。
返回列表