Skip to main content

BT.656 / BT.1120 TX 开发指南

本文档基于瑞芯微官方文档 Rockchip_BT656_TX_AND_BT1120_TX_Developer_Guide_CN.pdf(V1.4.0, 2024-03-21)整理,介绍 Rockchip 平台 BT.656 和 BT.1120 视频输出接口的调试方法。

适用范围
  • 芯片平台:RV1109/RV1126 / RV1103/RV1106 / RK356X / RK3588 / RK3562 / RK3576
  • 内核版本:Linux kernel 4.19 / 5.10+
  • 读者对象:技术支持工程师、软件开发工程师、硬件开发工程师

一、基础概念

BT.656 和 BT.1120 分别定义了 SDTV 和 HDTV 的视频接口协议。

核心特点:

  • 通过消隐期传输 EAV / SAV 定位基准码作为嵌入式同步信号
  • 数据格式:YCbCr 4:2:2
  • 位深:均为 8bit
  • BT.656 = 8bit 并行 (1 字节/时钟)
  • BT.1120 = 16bit 并行 (2 字节/时钟)

1.1 定位基准码

基准码格式:0xFF 0x00 0x00 XY

第四个字节 XY 的定义:

Bit名称说明
Bit9-固定为 1(8bit 模式下不体现)
Bit8F场标识:0=偶场,1=奇场
Bit7V0=有效视频行,1=消隐行
Bit6H0=SAV(Start of Active Video),1=EAV(End of Active Video)
Bit[5:2]P3~P0保护位,由 F/V/H 计算得出
Bit[1:0]-固定为 0(8bit 模式下无)

保护位计算:

  • P3 = V XOR H
  • P4 = F XOR H
  • P3 = F XOR V
  • P2 = F XOR V XOR H

1.2 基准码表

FVHEAV CODESAV CODE
1110xFF 0x00 0x00 0x9D0xFF 0x00 0x00 0x80
1100xFF 0x00 0x00 0xB20xFF 0x00 0x00 0xAB
1010xFF 0x00 0x00 0xDA0xFF 0x00 0x00 0xC7
1000xFF 0x00 0x00 0xF10xFF 0x00 0x00 0xEC
011--
...............

1.3 P 制(逐行)和 I 制(隔行)扫描

  • P 制(Progressive):逐行扫描,F 始终为 0
  • I 制(Interlaced):隔行扫描,分奇场和偶场,F 在两场之间切换

二、平台支持情况

SOCBT.656BT.1120扫描方式
RV1109/RV1126NY逐行
RV1103YN逐行
RV1106YY逐行和隔行
RK3566/RK3568YY逐行和隔行
RK3588YY逐行和隔行
RK3562YY逐行和隔行
RK3576YY逐行和隔行

三、硬件连接

BT.656/BT.1120 支持多种硬件连接方式,不同连接方式需要配置不同的 bus_format

接口bus_format 选项
BT.656(8bit)MEDIA_BUS_FMT_UYVY8_2X8 / MEDIA_BUS_FMT_VYUY8_2X8 / MEDIA_BUS_FMT_YUYV8_2X8 / MEDIA_BUS_FMT_YVYU8_2X8
BT.1120(16bit)MEDIA_BUS_FMT_UYVY8_1X16 / MEDIA_BUS_FMT_VYUY8_1X16 / MEDIA_BUS_FMT_YUYV8_1X16 / MEDIA_BUS_FMT_YVYU8_1X16

颜色不对时,尝试切换不同的 YUV 顺序格式。


四、软件配置

4.1 使能 BT.656/BT.1120

方式 1:Panel 节点配置 bus-format(无 connector 驱动)

panel {
...
bus-format = <MEDIA_BUS_FMT_YUYV8_1X16>; // BT.1120
// 或 bus-format = <MEDIA_BUS_FMT_UYVY8_2X8>; // BT.656
...
};

VOP 驱动会根据 bus-format 自动使能 BT.656/BT.1120 并配置引脚映射。

方式 2:Connector 驱动中配置(有转换芯片)

drm_connector_helper_funcs-&gt;get_modes 中设置:

static int sii902x_get_modes(struct drm_connector *connector)
{
u32 bus_format = MEDIA_BUS_FMT_YUYV8_1X16;
drm_display_info_set_bus_formats(&connector->display_info,
&bus_format, 1);
// ...
}

参考驱动:drivers/gpu/drm/bridge/sii902x.c

4.2 时序配置

方式 1:DTS 中配置固定时序

P 制(逐行)示例:

timing_1080p: timing-1080p {
clock-frequency = <148500000>;
hactive = <1920>;
vactive = <1080>;
hback-porch = <100>;
hfront-porch = <200>;
vback-porch = <10>;
vfront-porch = <10>;
hsync-len = <20>;
vsync-len = <20>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};

I 制(隔行)示例:

timing_ntsc: timing-ntsc {
clock-frequency = <13500000>;
hactive = <720>;
vactive = <480>;
hback-porch = <43>;
hfront-porch = <33>;
vback-porch = <36>;
vfront-porch = <3>;
hsync-len = <62>;
vsync-len = <6>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
interlaced;
doubleclk; // 仅 NTSC(480i60) 和 PAL(576i50) 需要
};

方式 2:读 EDID

支持 EDID 的显示设备,通过 DDC/I2C 读取 EDID 获取分辨率(如 HDMI 转换芯片)。

方式 3:Connector 驱动中写死

在 connector 驱动中预先定义好支持的分辨率列表。


五、常见问题

5.1 Full Range 还是 Limited Range?

BT.656/BT.1120 输出的是 Limited range(16~235),符合视频标准。

5.2 如何确认已配置为 BT.656/BT.1120 输出?

查看 VOP summary 中的 bus-format:

cat /sys/kernel/debug/dri/0/summary

若 bus-format 为 YUV 类型(如 MEDIA_BUS_FMT_YUYV8_1X16),则说明已配置为 BT.1120/BT.656 模式。

5.3 输出信号是否标准?

Rockchip 平台输出的 BT.656/BT.1120 信号符合 ITU-R 标准。

5.4 单沿触发还是双沿触发?

单沿触发(上升沿或下降沿,由 pixelclk-active 配置)。

5.5 DTS 配置参考文件

  • RV1126/RV1109 相关 board dts
  • RK3568 相关 board dts

5.6 第三方转换芯片如何驱动?

使用 DRM Bridge 框架,参考 sii902x.c(RGB 转 HDMI)驱动实现。

5.7 RK628 中 BT.1120 如何使用?

RK628 是 Rockchip 的显示转换芯片,支持 BT.1120 输入/输出,具体参考 RK628 相关文档。

5.8 和 Camera 的 BT.656/BT.1120 是什么关系?

协议相同,方向相反:

  • TX(VOP 输出):显示方向,输出视频
  • RX(Camera 输入):摄像方向,输入视频

5.9 和 VOP 是什么关系?

BT.656/BT.1120 是 VOP 的一种输出格式(类似 RGB、LVDS、MIPI 等),由 VOP 输出 YUV 数据和嵌入式同步码。

5.10 和 RGB 是什么关系?

都是 VOP 的并行输出接口:

  • RGB:输出 RGB 格式数据 + 独立同步信号(VSYNC/HSYNC/DE)
  • BT.656/1120:输出 YUV 格式数据 + 嵌入式同步码(SAV/EAV)

5.11 HSYNC/VSYNC/DEN 信号是否引出到外部 IO?

BT.656/BT.1120 模式下,同步信息嵌入在数据流中,外部不需要独立的同步信号。

5.12 消隐期数据

消隐期间传输 EAV/SAV 基准码和填充数据。具体消隐期内容可参考 ITU-R BT.1120 / BT.656 协议标准。


参考资料

  • 原始文档:Rockchip_BT656_TX_AND_BT1120_TX_Developer_Guide_CN.pdf V1.4.0
  • 《Rec. ITU-R BT.1120》
  • 《Rec. ITU-R BT.656》
  • 瑞芯微官网:www.rock-chips.com