LT6911UXC数据手册精读:HDMI2.0转MIPI带宽、电源与调试
简介:LT6911UXC 数据手册 R0.9 面向从事 HDMI2.0 转 MIPI DSI/CSI 方案设计、驱动调试与硬件选型的工程师,系统整理这款高性能转换器的官方规格、接口参数与设计边界。压缩包仅含 1 个 PDF 文件,大小约 459KB,轻量便携,适合在项目评审、原理图设计、器件选型和板级调试时快速查阅。文档围绕 HDMI2.0b/1.4、DVI1.0 接收能力,HDCP2.2/1.4、6Gbps 数据速率、4K@60Hz、HDR、TMDS 解扰与 SCDC 等特性展开,并覆盖双端口 MIPI DSI/CSI 发射器的 D-PHY1.2、DSI1.3、CSI-2 1.3、DSC1.2 编码器、单/双端口配置、每 lane 80Mbps~2Gbps、可编程摆幅与预加重、通道交换及独立极性反转等设计项,以及 I2S/SPDIF 音频输出。借助特性列表、视频格式组合和接口说明,读者可快速核对芯片能力边界、评估与主控及显示模组的适配关系,并定位兼容性与带宽配置问题。对 VR、智能手机、专业显示等应用场景的接口选型具有直接参考价值,目前已有 2843 人学习,可作为方案评估与联调排错的常备参考。
1. 下载 LT6911UXC Datasheet 数据手册后先看哪三页:13 页 R0.9 的读法
拿到 LT6911UXC Datasheet 数据手册之后,多数人会从第 1 页 Features 顺着往下读,读到第 8 页 Specification 就困了——这份 R0.9 只有 13 页,真正决定一块板子能不能点亮的地方只有三处:第 6 页的引脚表、第 8 页的电源分组与复位时序、第 2 页 General Description 里那两句带宽指标描述。它是一颗 HDMI2.0 转单/双端口 MIPI DSI/CSI 的桥接芯片,输入端 3 对 TMDS 跑到 6Gbps/lane,输出端每 lane 80Mbps~2Gbps、双口合计 16Gbps,内置 DSC1.2 编码器,做 4K60 转 MIPI 屏的方案绕不开它。适合手上有 HDMI 源、要往 MIPI 面板上怼的硬件工程师和底层驱动,也适合正在纠结「单口还是双口、要不要开 DSC」的选型阶段。后面按算带宽、画电源、配通路、排故障四步拆开讲。
2. 先把带宽算清楚:6Gbps 的 HDMI 输入怎么让 16Gbps 的 MIPI 输出用满
一颗桥接芯片翻车,八成不是寄存器写错,是带宽一开始就没算对。手册里 6Gbps、2Gbps、16Gbps 这几个数并排摆着,看着都够用,实际套到 4K60 上余量薄得像纸。这一章把输入侧、输出侧和 DSC 三笔账分开算,算完你就知道为什么有的方案必须双口、有的单口加压缩就能过。
2.1 输入端:6Gbps 是每对差分线的速率,不是总带宽
HDMI2.0 的物理层是 3 对 TMDS 数据通道加 1 对时钟通道,手册写的 data rate up to 6Gbps 指的是每一对数据线的线路速率,不是芯片总吞吐。三对加起来 18Gbps 线路带宽,但 TMDS 用的是 8b/10b 编码,扣掉 20% 开销,真正能装像素数据的只有 14.4Gbps。
再看 4K60 RGB888 需要多少。CEA-861 里 3840×2160@60 的像素时钟是 594MHz,24bit 色深,像素数据率就是 594M × 24 = 14.256Gbps。这个数摆在 14.4Gbps 旁边,余量只有 1%。
提示:这解释了为什么很多 4K60 RGB888 的方案换一根稍差的线就闪黑,而降到 YUV422 8bit 立刻稳定——不是芯片不行,是链路本来就贴着上限跑。
所以选型时第一件事是确认源端到底出什么格式。如果源端是 4K60 RGB888,HDMI 侧已经没有余量可以挥霍,接收端的自适应均衡、AC 耦合电容容值、连接器阻抗任何一环掉链子都会表现为间歇性闪屏。如果源端能降到 YUV422 8bit,数据率直接砍半到 7.128Gbps,每 lane 只要 2.97Gbps,链路立刻宽松。做产品定义时如果能约束源端输出格式,后面硬件和固件的难度会低一个档次。
手册里 5V 容忍的 DDC/HPD 引脚和自适应接收均衡,都是为了在这种极限余量下把链路维持住。均衡是芯片内部自动调的,外部能做的只有两件事:AC 耦合电容别乱改容值,走线阻抗按 100Ω 差分严格控制。我见过把耦合电容从 100nF 换成 1μF 想「增强耦合」的,结果低频拐点下移,反而在特定分辨率上出现周期性失锁。
2.2 输出端:口数、lane 数、每 lane 速率的三维组合
MIPI 侧的自由度比 HDMI 侧大得多:可以配 1 个或 2 个端口,每个端口 1 条时钟 lane 加 1/2/3/4 条数据 lane,每条数据 lane 速率在 80Mbps~2Gbps 之间可调。D-PHY 不做 8b/10b,但 DSI/CSI 协议本身有包头、包尾和 LP 模式间隙,实际有效载荷按 85% 估比较稳妥。
下面这张表是按标称上限做的粗算,实际配置时建议再留 15% 以上余量:
| 输出配置 | 线路带宽 | 估算有效载荷 | 能扛的场景 |
|---|---|---|---|
| 单口 4 lane @2Gbps | 8Gbps | 约 6.8Gbps | 1080p60 RGB888、1440p60 YUV422 |
| 单口 2 lane @2Gbps | 4Gbps | 约 3.4Gbps | 1080p60 YUV422、720p60 RGB888 |
| 双口各 4 lane @2Gbps | 16Gbps | 约 13.6Gbps | 4K60 RGB888、双屏独立显示 |
| 双口各 2 lane @2Gbps | 8Gbps | 约 6.8Gbps | 4K60 YUV422 拆分、双 1080p60 |
对照着看就清楚了:4K60 RGB888 有效像素 11.94Gbps,单口 4 lane 的 6.8Gbps 有效载荷根本装不下,必须双口各 4 lane,或者开 DSC。而 1080p60 RGB888 只要 2.98Gbps,单口 4 lane 用一半都不到,这时候把 lane 数降到 2 反而能省功耗、少走两对线。
每 lane 速率不要一上来就拉到 2Gbps。速率越高,预加重和摆幅的调节窗口越窄,PCB 走线稍长就开始出误码。常见做法是先用 1.5Gbps 左右跑通,确认链路稳定后再往上试,手册里可编程的 transmitter swing 和 pre-emphasis 就是给这个调试过程留的旋钮。
2.3 DSC 打开之后,视频格式表要反过来读
手册第 1 页那几组视频格式,很多人当成「支持列表」来挑,其实它是约束表——CSC 和 DSC 两个开关组合出四种状态,每种状态下允许的像素格式是定死的:
| CSC | DSC | HDMI 接收侧允许格式 | MIPI 发送侧允许格式 |
|---|---|---|---|
| 关 | 关 | 24/30/36bit RGB、16/20/24bit YCbCr422、8bit YCbCr420 | DSI 打包 16/18/24/30/36bit RGB 等 |
| 关 | 开 | 24bit RGB、16/20/24bit YCbCr422、8bit YCbCr420 | 打包 24bit RGB、16bit YCbCr422、12bit YCbCr420 |
| 开 | 关 | 24bit RGB/YCbCr444、16/20/24bit YCbCr422 | 打包 16/18/24bit RGB、16bit YCbCr422 |
| 开 | 开 | 24bit RGB/YCbCr444、16/20/24bit YCbCr422 | 打包 24bit RGB、16bit YCbCr422 |
规律很明显:一旦打开 DSC,色深就被压到 24bit 以内,30/36bit RGB 直接不可用。这不是缺陷,是 DSC1.2 本身的输入格式限制。内置编码器最高做到 3:1 的视觉无损压缩,4K60 RGB888 的 11.94Gbps 压完大约 4Gbps,单口 4 lane 的 6.8Gbps 有效载荷就有富余了。
代价要提前想清楚。DSC 是有损压缩,虽然标称视觉无损,但在灰阶渐变、细密文字这类内容上,压缩伪影是能被看出来的。做医疗显示、专业调色这类场景,宁可上双口也不要开 DSC。做 VR 头显、手机副屏这种观看距离近但内容动态大的场景,DSC 的收益远大于损失,功耗和 EMI 都会明显下降——手册特意提到压缩能降低带宽需求、功耗和 EMI,说的就是这个取舍。
还有一个容易忽略的点:DSC 打开后是成对生效的,发送端压缩、接收端必须能解压。如果 MIPI 屏那边的桥接芯片或 SoC 不支持 DSC 解码,压缩流送过去就是花屏。选屏的时候要把这条问清楚,别等板子回来才发现。
2.4 双口切分并非简单对半分:64 像素 overlap 与 stream copy
双口输出有两种玩法。一种是左右半幅拆分,两个端口各送半屏,接收端拼起来;另一种是 stream copy mode,两个端口送完全相同的内容,做双屏同显。
做左右拆分时手册给了一个关键参数:每一半最多允许 64 个像素的重叠。意思是左半屏的右边缘和右半屏的左边缘可以叠最多 64 列像素,接收端按这个重叠区做对齐。这个设计是为了容忍两个端口之间的时序偏差——毕竟是两条独立的 D-PHY 链路,像素时钟不可能严丝合缝。配置拆分位置时,如果刚好卡在屏幕正中间不给重叠,接收端很容易在接缝处出现一条竖线或半像素错位。我一般会在中间留 16~32 像素重叠,既够对齐又不浪费太多带宽。
手册还提到 CSI 侧支持隔行模式。这个功能在车载和安防场景里有实际价值,隔行源进来后不需要先做去隔行再送出去,直接透传,省一级缓冲。但如果后级是逐行面板,还是得在接收端做处理,别指望桥接芯片帮你搞定。
3D 的支持方式也分两种:两个端口同时送左右帧,或者奇偶像素交替。前者对接收端要求低,后者省带宽但对时序匹配要求高。这两条在实际项目里用得不多,但如果你在做双目 VR,双口各送一只眼是最直接的做法,比在 SoC 里做左右分离省事得多。
3. QFN64 的电源分组与上电时序:引脚表里没写但你一定会踩的约束
QFN64 7.5×7.5 的封装,65 个引脚(含 ePad),其中电源和地占了将近一半。手册第 6 页的引脚表把每一路电源的用途标得很细,但只给了一张上电时序图,没给推荐值。这一章把电源树和复位时序落到能直接画原理图的粒度。
3.1 十一路电源怎么分组:3.3V 域和 1.2V 域不能混
把引脚表里的电源引脚按电压域整理出来,是画原理图前的第一件事:
| 电压域 | 引脚号 | 用途 |
|---|---|---|
| 3.3V | 7 | HDMI RX 模拟/数字 |
| 3.3V | 14、25、32 | IO 电源 |
| 3.3V | 33、45 | MIPI TX port3 / port2 |
| 3.3V | 47 | MIPI TX PLL |
| 3.3V | 62 | BG 基准 |
| 1.2V | 1 | HDMI RX 数字 |
| 1.2V | 4 | HDMI RX 模拟 |
| 1.2V | 10 | HDMI RX PI |
| 1.2V | 13 | HDMI RX PLL |
| 1.2V | 24、30、60 | 数字核心 |
| 1.2V | 34、46、48、59 | MIPI TX port3/2/1/0 |
看这张表能发现一个不对称:1.2V 侧 MTX0~MTX3 四路齐全,3.3V 侧只列出了 MTX3、MTX2 和 MTXPLL。这说明两个端口共用部分 3.3V 供电,具体哪几路合并,要照着完整引脚表核对,别拿二手原理图直接抄。
绝对最大额定值也划得很清楚:3.3V 域 -0.3~3.9V,1.2V 域 -0.3~1.5V。1.2V 域的上限只有 1.5V,意味着任何一次 LDO 反馈电阻焊错、或者上电瞬间的过冲,都可能直接把核心打穿。我见过用 1.8V LDO 错装到 1.2V 位置的板子,上电三秒钟芯片就发烫,拆下来一测 VDD 对地已经短路。
实际画板时,3.3V 和 1.2V 建议用独立的 LDO 或 DC-DC,不要串在一起从同一路降压。MIPI TX 的 PLL 电源(47 脚和 13 脚)前面加 LC 或磁珠隔离,能明显改善高速率下的抖动。BG 基准(62 脚)对噪声敏感,周围铺地要完整,别让数字信号从底下穿过去。
3.2 上电顺序与 RST_N 的释放时机
手册 8.6 节给了 Power-up and Reset Sequence 的图,但没给具体毫秒数。这里给的是工程上的稳妥做法,不是手册原文。
顺序上,3.3V 和 1.2V 同时上或者 3.3V 略早都可以,关键是不要让 1.2V 明显早于 3.3V。原因在于 IO 单元在 3.3V 未建立时如果收到 1.2V 域的驱动信号,会出现短暂的电流倒灌路径,长期可靠性会打折。
RST_N 是 20 脚,低有效。释放时机要满足两个条件:两路电源都进入 ±5% 窗口,以及 24MHz 晶振已经稳定起振。手册的图里给了一个最小间隔,实际投板我一般在图上标「电源稳定后 ≥10ms」,并留一个 RC 延时或者用电源监控芯片的 PG 信号串起来。10ms 是个经验值,够覆盖绝大多数 LDO 的建立时间和晶振起振时间,又不至于让系统启动慢到用户能感知。
注意:RST_N 是施密特输入,但不要因为「有施密特」就省掉外部上拉和滤波电容。上电瞬间的毛刺如果落在阈值附近,芯片可能进入一个既不复位也不正常工作的中间态,表现出来就是 I2C 完全无响应,很容易误判成芯片坏了。
复位释放之后到 I2C 可以通信,中间还有一段固件加载时间。固件存在片内 SPI flash 里,上电后由内置微处理器搬运。这段时间 I2C 从机可能不应答,扫描不到设备是正常的。等 100ms 以上再扫,别一上电就急着读。
3.3 晶振、REXT 与 ePad 这三个地方最容易忽略
63、64 脚接 24MHz 晶体,这是整个芯片的时钟源。晶体本身要按规格书配负载电容,走线尽量短、包地、远离 MIPI 差分对。MIPI 的 2Gbps 差分信号在晶体走线旁边跑,很容易把抖动耦合进去,表现出来是高速率下偶发误码。
61 脚 REXT 接 7.68kΩ、1% 精度电阻到地。这个电阻决定 MIPI 发送端的电流基准,进而决定输出摆幅。用 5% 精度的电阻,摆幅偏差能到几个百分点,短走线可能看不出来,长走线或者多负载时就开始不稳定。这个电阻要靠近引脚放,走线不要分叉,地端直接打过孔到地平面。
65 脚是 ePad,必须接地。手册在 9.1 节专门讲了 ePad 的增强处理。QFN 的散热全靠这个焊盘,焊盘下面要铺足够的热过孔阵列,通常 3×3 到 4×4 个 0.3mm 孔,孔壁镀铜,直接连到内部地平面。焊盘和芯片之间不能有虚焊,回流焊曲线要按无铅工艺调,ePad 面积大、吸热多,峰值温度不够就焊不透,表现出来是工作一段时间后随机死机,用手按压芯片又能恢复——这种玄学故障十有八九是 ePad 虚焊。
17、18 脚是保留引脚,19 脚是 NC,都不要接任何东西。有些参考设计会把保留脚接地或者接测试点,除非原厂明确说明,否则按手册空着最安全。
3.4 I2C、UART、GPIO 复用:调试口和配置口会冲突
21、22 脚是配置 I2C 的 SCL/SDA,同时兼作 GPIO10/GPIO11,其中 21 脚还能当 UART RX 用。26 脚是中断输出兼 GPIO5,可以配成 UART TX 或 RX。27、28、29 脚是 I2S 的 WS/SCLK/MCLK,同时也是 GPIO7/8/9,都能配成 UART TX。31 脚是 I2S 数据输出兼 SPDIF 输出。
这套复用设计很灵活,但代价是调试串口和音频接口抢引脚。如果项目里既要 I2S 音频又要 UART 打日志,就得提前规划:UART 只能借用 21、26、27、28、29 里的某一个,而 21 一旦被 UART 占用,配置 I2C 就只剩 22 脚,没法通信了。
我的习惯是:配置 I2C 的 21/22 脚永远保留,调试串口优先用 26 脚(INTIO_GPIO5),因为它本来就兼作中断,功能冲突时可以软件里切换。27~29 留给 I2S,不动。这样音频和调试两不误,量产时把 26 脚的中断功能恢复即可。
固件升级也是走 I2C 接口,所以 21/22 这对线在生产治具上必须引出来,最好留测试点。板子上如果只留了排针没留测试点,产线用探针压不住,返修率会很难看。
4. 从 EDID 影子到 DSI 打包格式:视频通路那几张格式表怎么用
带宽和电源搞定,接下来是通路配置。这一块手册给的信息最碎,Features 里一句话带过的功能,实际配起来要牵动好几个模块。按「输入协商 → 格式转换 → 输出打包 → 音频」的顺序拆。
4.1 EDID shadow 与 DDC/SCDC:HPD 是输出不是输入
15、16 脚是 HDMI RX 的 DDC/SCDC 通道 SDA/SCL,5V 容忍。23 脚是 HPD,注意它的方向标的是 OD(开漏输出)。
这一点新手很容易画反。HPD 是桥接芯片输出给源端的信号,告诉源端「我准备好了,你可以读 EDID 了」。所以 23 脚应该接到 HDMI 连接器的 HPD 针上,通过一个上拉电阻到 5V,芯片内部开漏拉低。如果按「输入」来画,加上拉又加下拉,HPD 电平永远不对,源端就永远不出图。
芯片内置 EDID shadow,意思是 EDID 数据可以存在芯片里,源端通过 DDC 读的时候由芯片直接应答,不需要外部 EEPROM。这个设计省了一颗料,但也带来一个问题:EDID 内容怎么改?答案是走配置 I2C 写进去,所以 21/22 脚那对线在调试阶段至关重要。
SCDC 是 HDMI2.0 引入的,用来协商 TMDS 速率和加扰。手册支持 SCDC,意味着 4K60 这种高带宽模式下的速率协商是芯片自动完成的,不需要外部干预。但如果源端的 SCDC 实现不规范,可能出现「协商到高rate 后闪屏」的现象,这时候可以试着在 EDID 里把高带宽模式去掉,强制源端降速,先确认是不是协商环节的问题。
提示:调 EDID 时把 shadow 里的内容先写成一个保守的 1080p60 配置,等链路完全打通再放开到 4K。这样能把「源端协商」和「MIPI 输出时序」两个变量拆开,不至于两个都改、出了问题不知道是哪边的。
4.2 DSI 的 burst 与 non-burst,以及打包格式的坑
DSI 侧支持 burst mode 和 non-burst mode 两种视频传输方式。non-burst 模式下像素时序严格跟随,blanking 期发 LP 信号;burst 模式把整行像素压缩在更短的时间里发完,剩下时间留给 LP 或其他包,能省功耗。
选哪种取决于接收端。多数 MIPI 屏的驱动 IC 两种都支持,但有些低成本屏只认 non-burst,配错了就是不出图或者出图但位置偏移。这个参数没有普适答案,得看屏的规格书。
打包格式上,DSI 支持 packed 和 loosely packed 两类。packed 是把像素数据紧凑排列,loosely packed 是每个像素占用的 lane 字节数按整字节对齐,18bit RGB 用 loosely packed 时要占 24bit 的空间。这个区别在带宽紧的时候很关键:4K60 如果用了 loosely packed 18bit,实际占用带宽比理论值高三分之一,本来算着够的配置就跑不动了。
CSC 模块支持 RGB ↔ YUV444 ↔ YUV422 的双向转换。这里有个细节:转换是分两步走的,RGB 到 YUV422 实际是 RGB→YUV444→YUV422,中间那一步会引入一次舍入误差。如果对色彩精度要求高,尽量让源端直接出 YUV422,别在芯片里转。
4.3 CSI 侧:隔行、overlap 与 stream copy
CSI 的格式表和 DSI 不完全一样。不开 CSC、不开 DSC 时支持 RGB565/666/888 和 YUV422 8/10bit,还有 legacy YUV420 8bit。开了 DSC 之后 RGB 只到 888,YUV422 只到 8bit,10bit 没了。
这个限制在做 HDR 项目时要特别注意。10bit YUV422 是很多 HDR 流水线的标配,一旦开 DSC 就降级到 8bit,动态范围直接损失。如果项目必须 HDR 加 DSC,那就得走 RGB888 加 DSC 这条路,让源端先做 YUV→RGB 转换。
CSI 侧还有个 DSI 没有的能力:video stream copy mode。开启后两个端口输出完全相同的内容,适合双屏同显的设备。这个模式下两个端口的时序是严格同步的,不需要外部做帧同步。
4.4 通道交换与极性反转:layout 画错后的补救措施
手册明确写了 HDMI 侧支持 channel swap(任意交换)和 polarity inversion(独立反转),MIPI 侧支持 lane swap(任意交换)和 polarity inversion(独立)。
这是 layout 画错时的补救措施,并非用来随意改动的功能。差分对正负画反了,软件里把极性反转一下就能救回来,不用改板。数据 lane 顺序错了,swap 一下也能救。但有几个边界必须清楚:
时钟 lane 不能和数据 lane 互换。TMDS 侧时钟是独立的一对,MIPI 侧每个端口也有独立的时钟 lane,交换只在数据通道之间进行。手册写「arbitrarily」指的是数据通道内部任意排列,别理解成所有差分对随便换。
交换之后时序会受影响。lane 顺序变了,各 lane 之间的 skew 关系也变了,高速率下可能超出接收端的容忍窗口。所以 swap 只建议在调试阶段用,量产版本还是应该把 layout 改对。
极性反转是独立控制的,可以只反转某一对的正负,不用成对操作。这个灵活性在救急时很有用,比如发现只有 D1 画反了,单独反转 D1 就行。
5. 五个故障场景:从点不亮到花屏的排查顺序
前面四章讲的是「应该怎么设计」,这一章讲「设计完了不工作怎么办」。下面五条都是实际项目里遇到过的,按现象、原因、解决的顺序写,排查时可以从上往下照着走。
5.1 HPD 一直为低,源端完全不出图
现象:上电后测 23 脚,电平始终在 0V 附近,HDMI 源端识别不到显示器,设备管理器里看不到新显示设备。
原因:23 脚是开漏输出,必须外部上拉到 5V。如果漏了上拉,或者上拉接到了 3.3V,源端检测到的电压不够,就认为没有设备接入。另一种情况是 EDID shadow 没烧录,芯片虽然拉高了 HPD,但源端读完 EDID 发现校验和错误,又放弃了。
解决:先量 23 脚对上拉的电压,确认是 5V 不是 3.3V。再量 DDC 的 SDA/SCL 是否有上拉,这两根也必须是 5V 上拉,因为源端会按 5V 电平来判断。最后通过配置 I2C 把 EDID 读出来核对校验和,或者干脆先写一份标准 1080p 的 EDID 进去排除变量。
5.2 1080p 正常,4K60 花屏或间歇闪黑
现象:低分辨率一切正常,切到 4K60 后画面出现彩色块、横条纹,或者每隔几秒黑一下又恢复。
原因:带宽贴着上限跑,链路余量不足。前面算过 4K60 RGB888 只比 TMDS 上限低 1%,均衡器稍微调不准就出错。也可能是 MIPI 侧 lane 速率设太高,超过了 PCB 走线能支撑的范围。
解决:分两步定位。先把 HDMI 源端强制降到 YUV422 8bit,如果稳定了,说明问题在输入侧链路余量,检查 AC 耦合电容、连接器、走线阻抗。如果还是花,把 MIPI lane 速率从 2Gbps 降到 1.5Gbps 试试,降速后稳定说明是输出侧信号完整性问题,得查差分对长度匹配和参考平面。还有一个常被忽略的点:MIPI 的摆幅和预加重配置。默认值不一定适合你的走线长度,短走线用默认摆幅可能过冲,长走线又不够,得对着示波器眼图调。
5.3 双口点 4K 时右半屏偏移或接缝处有竖线
现象:单口 1080p 正常,切到双口 4K 后左右两半对不齐,接缝处有一条几个像素宽的错位或者亮线。
原因:拆分位置没留 overlap,或者留了但接收端的拼接逻辑没按 64 像素的上限处理。两个端口是独立的 D-PHY 链路,像素时钟存在相位差,不给重叠区就没有容错空间。
解决:在配置里把左右半幅的重叠设成 16~32 像素,同时确认接收端的拼接参数和这个值一致。如果接收端是 SoC 自己拼,检查它的拼接寄存器是不是按重叠区做的对齐。还有一种可能是两个端口的 lane 数配得不一样,比如左半 4 lane、右半 2 lane,带宽不匹配也会导致半边延迟,配置时要保证两个端口对称。
5.4 I2C 能读到应答,但固件升级总是失败
现象:配置 I2C 能扫到设备,读寄存器也正常,但走升级流程写到一半就超时或者校验不过。
原因:固件和 HDCP key 都存在片内 SPI flash 里,这两个区域是分开的。升级流程如果只擦了固件区、没处理 key 区,或者升级过程中掉电,flash 内容就会处于半写状态。另一个常见原因是升级时 MIPI 输出还在工作,高速差分信号对 I2C 的干扰导致写时序出错。
解决:升级前先把视频通路关掉,让芯片进入空闲状态。升级过程要有断电保护,写之前先读出来备份。如果已经写坏了,找原厂要完整的烧录工具,通过 I2C 重新灌一遍完整镜像,包括 key 区。量产时这一步要放在治具里做,别留到整机装配完再升级。
5.5 音频有杂音、左右声道反,或者干脆没声音
现象:视频正常,音频输出有咔哒声、交流声,或者左右声道颠倒,严重时完全无声。
原因:I2S 的 WS 极性配反会导致左右声道互换;MCLK 和 SCLK 的比例不对会让采样率偏移;31 脚是 I2S 数据和 SPDIF 复用,如果两个功能同时使能,输出会互相干扰。
解决:先确认走的是 I2S 还是 SPDIF。I2S 只需要 4 根线(WS、SCLK、SD、可选 MCLK),SPDIF 只用 31 脚一根。如果项目用 SPDIF,就把 27~29 脚释放出来做 GPIO 或 UART。如果走 I2S,检查 WS 极性,多数屏要求 WS 低电平为左声道,配反了就换一下。杂音问题优先查 MCLK,MCLK 频率必须是采样率的整数倍,且抖动要小,从芯片出来的 MCLK 如果走线太长被干扰,接收端 PLL 锁不住就会有咔哒声。
6. 点亮之后的五步验证:把「这次能亮」变成「下一版还能亮」
板子第一次点亮往往靠运气,第二次改版还能亮才算本事。我习惯在点亮后立刻按下面这张表走一遍,把每一项的实测值记进设计文档,下一版直接对照。
| 验证项 | 测量方法 | 通过判据 |
|---|---|---|
| 电源建立 | 示波器双通道看 3.3V 和 1.2V 上升沿 | 两路都在 ±5% 内,1.2V 不早于 3.3V |
| 复位释放 | 看 RST_N 相对 1.2V 稳定的延时 | 稳定后 ≥10ms 释放 |
| 晶振起振 | 探头接 63 脚,看波形和频率 | 24MHz,起振时间 <5ms |
| I2C 通信 | 配置 I2C 扫描从机地址 | 有应答,读写一致 |
| 通路分级 | 先 1080p60,再 4K30,最后 4K60 | 每级稳定运行 30 分钟无闪黑 |
分级验证的顺序不能跳。很多人直接上 4K60,出问题后不知道是带宽、时序还是格式配置的锅,只能一项项试,反而更慢。从 1080p60 开始,每一级稳定了再往上加,出问题时故障范围就锁定在最后这一级的变化上。
有个提速技巧值得单独说:把 EDID shadow 先写死成 1080p60 的保守配置,让源端只输出这个格式。这样 MIPI 侧的时序参数只需要调一组,调通之后再把 EDID 放开到 4K,让源端按能力协商。这一步的本质是把「源端会输出什么」这个不确定变量消掉,先让输出侧确定下来。我靠这一招把平均调试时间从两三天压到半天以内,尤其是遇到源端设备型号杂、EDID 处理不规范的情况,效果特别明显。
还有一个习惯:每次改配置之前,先把当前能工作的完整寄存器配置导出来存一份。调不通就回滚,比对着手册一格格猜快得多。芯片支持通过 I2C 读出当前配置,这个能力要用起来,别只写不读。
最后说一条教训。早期做项目时我习惯先把原理图画完再回头对引脚表,结果有一版把 1.2V 的 MIPI TX 电源和 3.3V 的 IO 电源接到同一个网络上了,上电直接冒烟。从那以后,每次投板前我都强制把电源分组表和每个端口的差分对顺序打印出来,拿荧光笔在原理图上逐行对一遍再签字。多花二十分钟,省掉一次改版。希望帮到你。
本文还有配套的精品资源,点击获取