ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

HDMI分配器芯片IT66612设计实战:EDID与HDCP调试避坑指南

HDMI分配器芯片IT66612设计实战:EDID与HDCP调试避坑指南 HDMI 分配器这个品类市面上从几十块的无源一分二到上千块的专业级矩阵方案差异极大。但如果你拆过那些看起来差不多的产品会发现真正决定稳定性的往往不是接口镀金厚度而是里面那颗分配芯片的架构。IT66612 这颗片子最近在圈子里被讨论得比较多原因是它把传统需要接收芯片分配芯片EDID管理芯片三颗芯片才能干的事集成到了一颗里面。我前后用这颗芯片做过两版板子踩过 EDID 握手失败、HDCP 协商卡死、热插拔识别不到等一堆坑这篇文章就把整个设计思路和实操细节摊开讲清楚。1. 为什么 HDMI 一分二需要有源而不是简单并联1.1 无源分配器的物理极限在哪里很多人第一反应是HDMI 一分二不就是把 TMDS 差分线并联出去吗理论上差分信号并联确实能驱动两路负载但实际做出来几乎必翻车。原因在于 HDMI 的 TMDS 是电流驱动型差分对源端芯片的输出驱动能力是按单路 100 欧姆差分阻抗设计的。你并上第二路等效负载阻抗直接掉到 50 欧姆信号幅度被拉低眼图闭合长线材下直接花屏或者无信号。更麻烦的是 DDC 通道。HDMI 的 EDID 和 HDCP 协商都走 DDCDisplay Data Channel本质是 I2C 总线。两路显示器的 EDID 挂在同一组 SCL/SDA 上地址还都是 0x50源端根本没法区分跟谁通信。你插两个不同分辨率的显示器源端读到的 EDID 会变成两颗 EEPROM 并联后的乱码轻则分辨率协商错误重则直接不输出。所以无源方案只在一种场景下勉强能用两路显示器型号完全相同、线材极短、分辨率不超过 1080p60。但凡有一路是 4K 或者不同品牌基本没戏。1.2 有源分配器的核心职责拆解有源方案的本质是对源端伪装成一个标准显示器对显示端伪装成一个标准源端。中间这颗芯片要干四件事EDID 管理给源端提供一份合法的 EDID这份 EDID 必须是两路显示器能力的交集或者可切换的独立副本TMDS 信号再生接收源端信号做均衡和时钟恢复再重新驱动两路输出HDCP 中继作为 HDCP 的中间节点分别与源端和两个显示端完成认证热插拔与状态管理处理 HPD 信号任何一路插拔都要正确通知源端重新协商传统做法是用一颗 HDMI 接收芯片如 TMDS 转并行 一颗分配/矩阵芯片 一颗 MCU 管 EDIDBOM 成本高、PCB 面积大、调试环节多。IT66612 的思路是把这些全部塞进一颗 QFN 封装里。2. IT66612 的集成化架构到底集成了什么2.1 从框图看它的功能分区IT66612 内部大致分四个域输入侧 TMDS 接收与均衡、EDID 管理与 DDC 仲裁、HDCP 引擎、输出侧双路 TMDS 驱动。输入侧支持自适应均衡线材损耗补偿范围大概能覆盖 1080p 下 15 米左右的普通线材4K30 下大概 5 到 8 米具体取决于线材质量。EDID 管理这块是它比较有意思的地方。芯片内部有一块可编程的 EDID RAMMCU 可以通过 I2C 写入自定义的 EDID 数据。同时它支持EDID 影子模式——两路输出各自的 EDID 可以被分别读取和缓存然后由固件决定给源端呈现哪一份或者呈现一份合并后的能力集。HDCP 引擎支持 HDCP 1.4部分版本支持 2.2。这里要特别注意HDCP 2.2 的协商流程比 1.4 复杂得多涉及中继器的拓扑深度Depth和设备拓扑Topology信息。如果固件里没正确配置中继器深度源端可能拒绝输出 4K 内容。2.2 集成化带来的 BOM 与布局优势我对比过传统三芯片方案和 IT66612 单芯片方案的 BOM项目传统三芯片方案IT66612 单芯片方案主芯片数量3 颗1 颗PCB 层数4 层起2 层可跑通外围晶振2 个1 个EDID EEPROM2 颗内置可编程固件复杂度高多芯片协调中单芯片寄存器配置典型 BOM 成本较高降低约 30% 到 40%PCB 面积能缩小差不多一半这对做小型化分配器或者集成到墙插面板里的产品很关键。不过集成度高也意味着一旦芯片某个功能有 bug你没法通过换外围芯片绕过只能等固件更新或者换方案。2.3 它不做什么能力边界要清楚IT66612 是分配器芯片不是矩阵芯片。它做的是一路进、多路出、所有输出相同内容。如果你需要多路进、多路出、可切换那是矩阵的活得用 IT66 系列里带交叉开关的型号或者外挂切换开关。另外它不内置 Scalier。两路输出分辨率必须一致都是跟随源端协商结果。你不能指望它把 4K 输入降到 1080p 给其中一路老显示器——那需要额外的缩放芯片。3. 硬件设计里最容易翻车的几个点3.1 TMDS 差分对的阻抗与走线IT66612 的 TMDS 输出是电流驱动外部需要上拉。典型做法是每对差分线通过 50 欧姆上拉到 3.3V差分阻抗控制在 100 欧姆。这里有个坑上拉电阻的位置要尽量靠近芯片引脚走线要短否则会引入反射。PCB 走线方面差分对内等长误差控制在 5 mil 以内对间误差控制在 20 mil 以内。4K 信号下这个要求更严。我第一版板子因为对间误差到了 40 mil1080p 没问题4K30 直接间歇性黑屏。后来重新布线压到 15 mil 以内才稳定。还有一点TMDS 走线尽量走内层参考平面完整避免跨分割。如果实在要走表层旁边包地要打好过孔间距小于 1/10 波长。3.2 电源与去耦的实际处理IT66612 有多个电源域核心电压、TMDS 驱动电压、I/O 电压。核心电压对噪声敏感建议用 LDO 单独供不要跟 TMDS 驱动共用 DCDC。TMDS 驱动电流较大DCDC 的开关噪声如果串到核心上会导致 HDCP 协商随机失败——这个现象很隐蔽因为信号看起来是好的但认证就是过不去。去耦电容的布局每个电源引脚旁边放 0.1uF芯片整体再放一颗 10uF 和一颗 1uF。0.1uF 的回路面积要小过孔直接打在焊盘旁边不要拉长线再打过孔。3.3 HPD 与 5V 检测电路HPDHot Plug Detect信号是源端判断显示器是否在线的依据。IT66612 需要把两路输出的 HPD 状态汇总后通过一个 HPD 引脚反馈给源端。这里的逻辑是只要有一路输出在线就给源端一个高电平 HPD。但实际做的时候要注意 HPD 的电平标准。源端 HPD 检测通常是 5V 域而芯片 I/O 可能是 3.3V。需要做电平转换或者用开漏加外部上拉到 5V。我见过有人直接 3.3V 推过去结果源端识别不到以为是显示器没插。5V 检测也一样源端的 5V 输出要正确检测到芯片才知道源端已经上电。这个 5V 不要直接灌到芯片 I/O要分压或者用光耦隔离防止源端 5V 异常时烧芯片。4. EDID 与 HDCP 的固件配置实战4.1 EDID 数据的构造与写入IT66612 的 EDID RAM 通常通过 I2C 写入地址和寄存器映射要看具体 datasheet。EDID 数据本身是 128 字节的标准结构扩展块再加 128 字节。构造 EDID 时最容易出错的是Checksum每 128 字节的最后一位是校验和必须让整块数据求和后低 8 位为 0。很多人手改 EDID 忘了改 checksum源端直接拒绝。CEA-861 扩展块4K 和音频能力都在扩展块里。如果只写基础块源端可能只认到 1080p。时序描述符Detailed Timing Descriptor 里的像素时钟、前后肩参数要和实际能力匹配写错了会导致协商出的分辨率花屏。我的做法是先用现成显示器的 EDID 读出来做模板改掉厂商信息和能力位再重算 checksum。不要从零手写容易漏字段。4.2 HDCP 中继器深度配置HDCP 2.2 里中继器需要上报自己的 Depth 和 Device Count。Depth 表示从源端到最远下游设备经过了几级中继。IT66612 作为一级中继Depth 通常设为 1。Device Count 是下游设备数量一分二就是 2。如果这两个值配错源端可能认为拓扑非法拒绝输出受保护内容。表现是普通桌面能显示一打开受保护内容就黑屏或者降分辨率。这个坑我在调试时卡了整整两天最后用 HDCP 协议分析仪抓包才定位到是 Depth 配成了 0。4.3 热插拔事件的处理流程热插拔处理不好用户体验会很差。正确的流程是检测到某路 HPD 变化更新内部状态寄存器如果是从无输出变有输出需要重新读取该路 EDID判断是否需要通知源端重新协商如果是从有输出变无输出且另一路还在线通常不需要通知源端直接关掉那路输出即可如果两路都掉线拉低给源端的 HPD让源端知道显示器断开这里有个细节重新协商时源端会重新读 EDID。如果此时 EDID RAM 还没更新完源端读到旧数据可能协商出错误分辨率。所以固件里要保证 EDID 更新完成后再拉 HPD。5. 实测中遇到的典型故障与排查链路5.1 故障一4K 下间歇性黑屏现象是 1080p 一切正常切到 4K30 后每隔几十秒黑一下然后恢复。排查过程先怀疑线材换了两根认证线现象依旧用示波器看 TMDS 眼图发现眼高偏低抖动偏大检查 PCB 走线发现一对差分线对间误差 40 mil重新布线压到 15 mil 以内眼图明显改善黑屏消失根因是 4K 下 TMDS 速率翻倍对时序余量要求更高原本 1080p 能容忍的走线误差在 4K 下就超了。5.2 故障二HDCP 协商随机失败现象是接某些源端特别是某几款笔记本时HDCP 认证过不去画面黑屏但系统显示已连接。排查换源端有的能过有的不能过说明不是显示器问题抓 DDC 总线波形发现协商过程中有几次 NACK检查电源发现核心电压上有约 50mV 的开关纹波把核心供电从 DCDC 改成 LDO纹波降到 5mV 以内协商稳定根因是 HDCP 协商对时序敏感电源噪声导致 I2C 时序抖动偶发 NACK 累积后认证超时。5.3 故障三插拔第二路显示器导致第一路闪断现象是两路都工作时插拔其中一路另一路会闪一下。排查观察 HPD 逻辑发现固件在检测到一路变化时把给源端的 HPD 也拉低了一下源端以为显示器全断了重新协商导致另一路闪断修改固件逻辑只有两路都掉线才拉低源端 HPD单路变化不影响源端这个问题纯属固件逻辑设计缺陷硬件上没问题。但用户感知很明显属于必须修掉的体验问题。6. 从 IT66612 看 HDMI 分配器的选型思路6.1 什么场景适合用集成方案如果你做的是消费级一分二分配器出货量大、对成本敏感、PCB 空间有限集成方案优势明显。BOM 低、调试环节少、一致性容易保证。缺点是灵活性差芯片不支持的功能你没法加。如果你做的是工业级或者需要定制功能的设备比如要支持 EDID 自定义切换、要支持音频分离、要做长线均衡那可能传统分立方案更合适因为每颗芯片你都能单独选型和调参。6.2 选型时要确认的几个参数参数说明注意点最大 TMDS 速率决定支持的最高分辨率4K60 需要 600MHz4K30 需要 300MHzHDCP 版本1.4 还是 2.22.2 才能跑 4K 受保护内容EDID RAM 大小决定能存几份 EDID一分二至少需要 2 份均衡能力输入线材补偿范围长线场景要重点看封装与散热QFN 散热焊盘要处理好大电流输出时芯片会发热6.3 固件开发的现实建议IT66612 这类芯片的固件开发最大的难点不是写代码而是拿到准确的寄存器手册和参考配置。很多厂商的 datasheet 只给寄存器列表不给初始化序列你得自己摸索。我的建议是先找 FAE 要参考固件或者评估板配置能省大量时间用逻辑分析仪抓 DDC 和 HPD 时序对照协议文档理解每一步保留一个已知能工作的配置作为基线每次改动只动一个变量HDCP 相关的调试尽量用协议分析仪靠猜很难定位7. 一些不太容易查到但很关键的细节TMDS 输出端的耦合电容。HDMI 规范要求源端输出要有 AC 耦合电容典型值 100nF。IT66612 的输出如果内部没有集成耦合电容外部必须加。这个电容的封装建议 0402靠近连接器放置走线要短。我见过用 0603 拉长线放的4K 下眼图明显变差。EDID 的 5V 供电。显示器的 EDID EEPROM 通常由源端的 5V 供电。IT66612 内部 EDID RAM 的供电要确认是自供电还是从 5V 取。如果从 5V 取要确保源端 5V 掉电时 EDID 不丢失否则重新上电后源端读不到 EDID。接地处理。HDMI 连接器的屏蔽壳要接到 PCB 地但要注意是单点接地还是多点。多点接地容易形成地环路引入共模噪声。我的做法是屏蔽壳通过一个 0 欧姆电阻或者磁珠接到信号地具体看 EMC 测试结果调整。散热。IT66612 在驱动两路 4K 输出时功耗不小QFN 底部的散热焊盘一定要充分接地过孔阵列要打够。如果外壳是封闭的建议加导热垫到外壳。我测过满负载下芯片表面温度能到 60 度以上不加散热长时间跑会降频或者不稳定。线材均衡的调试。芯片的输入均衡通常有寄存器可以调不同线材长度对应不同的均衡档位。如果产品要兼容各种线材固件里最好做自适应或者至少给用户一个手动切换的入口。固定档位的话短线过均衡会导致信号过冲长线欠均衡会导致眼图闭合。最后说个实际体会HDMI 分配器这个产品硬件设计占六成固件占四成但用户感知到的稳定性问题里固件问题占七成以上。EDID 和 HDCP 的逻辑如果没打磨好硬件再漂亮也白搭。IT66612 把硬件复杂度降下来了但固件的坑一个都不会少该抓的包、该调的时序一样都跑不掉。
返回列表