3. RGB接口详解
RGB接口是TFT LCD显示屏最经典的并行数字视频接口,广泛应用于中小尺寸显示屏。本章将深入解析RGB接口的信号定义、时序参数以及并行数据传输机制,为后续高速信号完整性分析奠定基础。
3.1 RGB接口信号定义
标准RGB接口包含6类核心信号,分为数据信号、同步信号、时钟信号和使能信号。下表列出各信号的功能与方向:
| 信号名称 | 缩写 | 方向 | 功能描述 |
|---|---|---|---|
| 像素时钟 | DCLK / PCLK | 输入 | 数据采样时钟,每个上升沿或下降沿锁存1个像素数据 |
| 行同步 | HSYNC / Hsync | 输入 | 标识一行像素传输的开始,低电平或高电平有效 |
| 场同步 | VSYNC / Vsync | 输入 | 标识一帧图像传输的开始,低电平或高电平有效 |
| 数据使能 | DE / DEN | 输入 | 高电平时表示当前DCLK周期传输有效像素数据 |
| 红色数据 | R[7:0] / R[5:0] | 输入 | 红色分量并行数据,位宽通常为6bit或8bit |
| 绿色数据 | G[7:0] / G[5:0] | 输入 | 绿色分量并行数据,位宽通常为6bit或8bit |
| 蓝色数据 | B[7:0] / B[5:0] | 输入 | 蓝色分量并行数据,位宽通常为6bit或8bit |
DE模式 vs 同步模式:现代LCD控制器优先使用DE模式(仅用DE信号控制数据有效区间),HSYNC/VSYNC可作为参考或省略;传统接口则依赖HSYNC/VSYNC同步,DE信号可选。DE模式更简洁,且对时序抖动容忍度更高。
3.2 RGB接口时序参数
RGB接口的时序以像素时钟DCLK为基准,分为行时序和帧时序两个层级。每个层级都包含有效数据区间和消隐区间,消隐区间由前沿(Front Porch)、后沿(Back Porch)和同步脉冲宽度定义。
3.2.1 行时序参数
一行像素的完整传输周期包含以下参数:
- HBP(Horizontal Back Porch): 行同步脉冲结束到第一个有效像素数据之间的DCLK周期数
- HFP(Horizontal Front Porch): 最后一个有效像素数据到下一个行同步脉冲开始之间的DCLK周期数
- HSYNC Width: 行同步脉冲的DCLK周期数
- HACT(Horizontal Active): 一行中有效像素的数量(例如800、1024、1920)
- HTotal: 一行总DCLK周期数 = HBP + HACT + HFP + HSYNC Width
行时序计算示例: 对于1024×600分辨率,若HBP=160、HFP=160、HSYNC Width=10、HACT=1024,则HTotal=160+1024+160+10=1354个DCLK周期。行周期时间 = HTotal × DCLK周期。
3.2.2 帧时序参数
一帧图像的完整传输周期包含以下参数:
- VBP(Vertical Back Porch): 场同步脉冲结束到第一行有效数据之间的行数
- VFP(Vertical Front Porch): 最后一行有效数据到下场同步脉冲开始之间的行数
- VSYNC Width: 场同步脉冲的行数
- VACT(Vertical Active): 一帧中有效行数(例如600、768、1080)
- VTotal: 一帧总行数 = VBP + VACT + VFP + VSYNC Width
| 参数 | 典型值(1024×600) | 典型值(1920×1080) | 说明 |
|---|---|---|---|
| HACT | 1024 | 1920 | 有效像素/行 |
| HBP | 160 | 148 | 行后沿 |
| HFP | 160 | 88 | 行前沿 |
| HSYNC Width | 10 | 44 | 行同步脉宽 |
| VACT | 600 | 1080 | 有效行/帧 |
| VBP | 23 | 36 | 帧后沿 |
| VFP | 12 | 4 | 帧前沿 |
| VSYNC Width | 10 | 5 | 场同步脉宽 |
3.3 并行数据传输机制
RGB接口采用并行数据传输方式,每个DCLK周期同时传输R、G、B三个分量的数据。数据位宽决定了每个像素的颜色深度:
- 16位RGB565: R[4:0] + G[5:0] + B[4:0],共16条数据线
- 18位RGB666: R[5:0] + G[5:0] + B[5:0],共18条数据线
- 24位RGB888: R[7:0] + G[7:0] + B[7:0],共24条数据线
数据传输遵循以下流程:
- DCLK提供采样时钟,通常使用上升沿锁存数据
- DE为高电平时,DCLK每个周期采样一组R/G/B数据,作为有效像素
- DE为低电平时,DCLK周期对应消隐区间,数据线通常保持高阻或固定电平
- HSYNC脉冲标识行起始,VSYNC脉冲标识帧起始
- 数据在DCLK上升沿之前需满足建立时间(Tsu),之后需满足保持时间(Th)
并行数据线等长设计: 24位RGB接口共有28条信号线(24数据+3同步+1时钟)。所有数据线相对于DCLK的走线长度差必须控制在±50mil以内,否则会导致数据采样错误。高速设计时建议对每组数据线进行蛇形走线等长补偿。
3.4 典型RGB接口配置示例
以常见的7英寸1024×600 RGB LCD为例,给出完整的时序配置参数:
| 参数 | 值 | 单位 | 备注 |
|---|---|---|---|
| 分辨率 | 1024 × 600 | 像素 | 有效显示区域 |
| DCLK频率 | 51.2 | MHz | 周期约19.5ns |
| HACT | 1024 | DCLK | 每行有效像素 |
| HBP | 160 | DCLK | 行后沿 |
| HFP | 160 | DCLK | 行前沿 |
| HSYNC Width | 10 | DCLK | 行同步脉宽 |
| HTotal | 1354 | DCLK | 行周期 |
| VACT | 600 | 行 | 每帧有效行 |
| VBP | 23 | 行 | 帧后沿 |
| VFP | 12 | 行 | 帧前沿 |
| VSYNC Width | 10 | 行 | 场同步脉宽 |
| VTotal | 645 | 行 | 帧周期 |
| 帧率 | 60 | Hz | 刷新率 |
带宽计算: 24位RGB888接口,1024×600@60Hz所需数据带宽 = 1024 × 600 × 60 × 24 = 884.736 Mbps。考虑消隐开销,实际DCLK频率 = HTotal × VTotal × 帧率 = 1354 × 645 × 60 ≈ 52.4 MHz。设计时应预留20%余量,建议DCLK频率不低于65MHz。
3.5 并行数据线布局与等长设计
RGB接口的并行数据线在PCB布局时需遵循以下原则:
- 分组等长: 将R/G/B数据线分为三组,每组内部等长,组间误差控制在±100mil
- 时钟优先: DCLK走线应最短,且与其他信号线间距≥3倍线宽
- 参考平面: 所有信号线下方必须有连续的地平面,避免跨分割
- 串扰控制: 平行走线长度不超过500mil,必要时加入地线隔离
- 终端匹配: 当走线长度超过1.5英寸时,建议在接收端串联22~33Ω电阻
3.6 常见问题与设计建议
时序违规导致显示异常: 当HBP/HFP/VBP/VFP设置过小时,LCD面板内部的时序控制器可能无法正确锁存数据,表现为图像偏移、闪烁或花屏。建议在LCD数据手册推荐值基础上增加10%~20%的余量。
- 时钟抖动: DCLK的周期抖动应小于DCLK周期的5%,否则会导致数据采样错误
- 信号完整性: 当DCLK频率超过50MHz时,建议对数据线进行阻抗控制(50Ω±10%)
- 电源去耦: LCD接口附近的电源引脚需放置0.1μF+10μF去耦电容,电容距离引脚不超过100mil
- 电平匹配: 确认主控与LCD面板的IO电平一致(3.3V或1.8V),必要时加电平转换芯片