
LVDS 接口中 “1个时钟周期传输7bit” 的本质解析在显示驱动芯片DDIC或 TCON 的开发过程中经常会遇到这样一个问题LVDS 协议说明“1个时钟周期传输7bit数据”但在系统接口上却观察到每个时钟沿仅从每条数据 lane 采样 1bit例如4 lane共4bit这种现象并不矛盾而是源于LVDS在不同层级上的数据组织方式不同。本文从体系结构角度对该问题进行统一解释。一、LVDS 数据传输的基本结论在标准 LVDS 显示接口中每个 Pixel Clock 周期→ 每条数据 lane 传输7bit若为 4 lane总传输数据量 4 × 7 28 bit其中24bit有效 RGB 数据剩余 bit用于控制或编码二、LVDS 数据速率关系LVDS 的串行数据速率与 Pixel Clock 存在固定倍数关系fbit7×fpixel f_{bit} 7 \times f_{pixel}fbit7×fpixel例如Pixel ClockLane Bit Rate100 MHz700 Mbps这意味着 数据在一个 Pixel Clock 周期内以7倍速率串行发送三、发送端数据组织方式发送端如 TCON内部结构如下并行像素数据RGB 24bit↓数据分组分配到各lane↓7:1 串行器Serializer↓LVDS差分输出每条 lane 的数据形式为Lane0: b0 b1 b2 b3 b4 b5 b6Lane1: b0 b1 b2 b3 b4 b5 b6Lane2: …Lane3: … 每条 lane 在一个 Pixel Clock 周期内顺序发送7bit数据四、接收端数据恢复流程接收端LVDS Receiver通常包含以下模块LVDS差分输入↓终端匹配100Ω↓比较器模拟 → 数字↓PLL / CDR时钟恢复↓多相采样↓Shift Register7bit↓数据重排↓并行输出五、多相采样机制为了从高速串行数据中恢复出7bit信息接收端采用多相时钟采样Multi-phase Sampling例如通过 PLL 生成多个等间隔相位0°≈51°≈102°…共7个相位对应关系bit0 → 相位0采样bit1 → 相位1采样…bit6 → 相位6采样这样可以在一个 Pixel Clock 周期内将7bit全部恢复出来。六、Shift Register 数据重构每条 lane 内部通常包含一个 7bit 移位寄存器shift_reg[6:0]随着数据流入bit → shift → shift → … → 填满7bit最终形成laneX_data[6:0]七、并行数据的输出方式在完成7bit数据恢复后数据通常不会直接以“7bit并行”的形式输出而是进行重新组织。常见方式如下第1拍lane0[0], lane1[0], lane2[0], lane3[0]第2拍lane0[1], lane1[1], lane2[1], lane3[1]…第7拍lane0[6], lane1[6], lane2[6], lane3[6]因此每个时钟周期输出4bit4 lane × 1bit7个周期输出28bit八、时钟信号的作用LVDS 接口中包含一条差分时钟信号Clock LaneCLKCLK-其主要作用是提供参考时序辅助接收端恢复数据边界为内部 PLL / CDR 提供锁定依据接收端基于该时钟信号生成用于数据恢复的内部采样时钟多相或倍频。九、整体数据路径总结发送端并行域↓7:1 串行化↓LVDS高速串行传输↓接收端多相采样↓Shift Register7bit重组↓数据重排↓并行输出4bit/clk十、统一理解可以从两个角度理解 LVDS1. 传输角度每个 Pixel Clock 周期每条 lane 传输 7bit属于高速串行传输过程2. 接口角度每个输出时钟周期每条 lane 输出 1bit属于并行数据展开过程十一、总结LVDS 接口中的“7bit/clk”描述的是数据在物理链路上的串行传输方式而系统接口中看到的“每拍输出若干bit”描述的是数据恢复后的并行组织方式两者之间通过以下机制完成转换PLL / CDR 多相采样 Shift Register 数据重排