目录
目录
[clk_dly设置为7时的modetst GRADIENT测试](#clk_dly设置为7时的modetst GRADIENT测试)
[clk_dly设置为7时的modetst PLAIN测试](#clk_dly设置为7时的modetst PLAIN测试)
[clk_dly设置为7时的modetst SMPTE测试](#clk_dly设置为7时的modetst SMPTE测试)
[clk_dly设置为7时的modetst TILES测试](#clk_dly设置为7时的modetst TILES测试)
前言
BT656,即ITU-R BT.656,定义了一个并行的硬件接口,用于传送一路4:2:2的ycbcr数字视频流。该接口由8根数据信号和1根时钟信号组成,可实现视频处理器与视频编码器之间的连接。
ITU-R BT.6568/10位数据传输;不需要同步信号;串行数据传输;传输速率是601的2倍。它先传Y,后传UV,行场同步信号嵌入在数据流中。
ITU-R BT.656包含三部分:
- 视频信号。
- 定时基准信号。有两个定时基准信号,一个在每个视频数据块的开始(Start of ActiveVideo,SAV),另一个在每个视频数据块的结束(End of Active Video,EAV);每个定时基准信号由4 个字的序列组成,格式如下:FF 00 00 XY (16 进制)头三个是固定前缀,第4 个字包含定义第二场标识、场消隐状态和行消隐状态的信息。XY(MSB9-0)[1,F,V,H,P3,P2,P1,P0,0,0]。
- 辅助信号。辅助数据信号可以以10 比特形式只在行消隐期间传送,还可以以8 比特形式只在场消隐中的行的有效期间传送。656输出的是串行数据,行场同步信号嵌入在数据流中;601是并行数据,行场同步有单独输出;656只是数据传输接口而已,可以说是作为601的一个传输方式。简单的说ITU-R BT.601是"演播室数字电视编码参数"标准,而ITU-R BT.656则是ITU-R BT.601附件A中的数字接口标准,用于主要数字视频设备(包括芯片)之间采用27Mhz/s并口或243Mb/s串行接口的数字传输接口标准.BT656内同步总线为8根,而BT1120的内同步总线为12根。
AHD(Analog High Definition)是一种基于模拟传输的高清视频技术,由韩国Nextchip公司开发,外文名称为AHD。该技术主要应用于安防监控、车载倒车影像,支持通过同轴电缆实现500米无压缩高清信号传输。AHD采用Y/C信号分离、模拟滤波及3D降噪技术,有效减少高频区色噪声,提升图像还原度,最高支持1080P@30fps分辨率。其前端数据未经编码压缩,实现零延时传输,兼容传统D1/960H设备及外围分配器、矩阵等。相较于传统模拟高清产品,AHD实现了图像质量的质的飞跃,清晰度可达到网络高清1080P全高清级别。专用芯片支持720p@60FPS或1080p@30FPS分辨率,开放适配标准。技术方案覆盖车载监控与安防升级场景,可利用原有模拟线路实现高清化改造。
AHD的三大格式:
- AHD-L清晰度(TVL)。远高于传统模拟960H略低于网络高清720P。
- AHD-M清晰度(TVL)。等同于网络高清720P级别。
- AHD-H清晰度(TVL)。等同于网络高清1080P的全高清级别。
AHD的技术特点:
- 更清晰先进的亮色分离、信号滤波、3D降噪技术,图像清晰度更高,图像还原性更好。
- 传的远采用同轴传输普通75-3线可达500米。
- 零延时前端数据未经过编码压缩到后端,全实时,高保真。
- 兼容好兼容普通D1/960H,兼容模拟外围设备(含分配器、矩阵等)。
- 易操作支持OSD菜单设计,随你所想,设你所需。
- 价廉物美普通模拟的价格,高清品质的产品。
- 高集成AHD前端芯片的价格,高清品质的产品。
- 开放标准第三方开放标准,兼容其他厂家的AHD产品,加速市场推进。
DTS配置参考
bash
tcon0: tcon@XXXXXXXX {
compatible = "xxx,xxx-xxx-tcon-0";
reg = <0xXXXXXXXX 0xXXXXXXXX>;
interrupts = <GIC_SPI INT_TCON IRQ_TYPE_LEVEL_HIGH>;
top = <&doss>;
hw_id = <0>;
dc_id = <0>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
panel_tp2803fc_ahd_1280x720p_pal: panel_tp2803fc_ahd_1280x720p_pal {
compatible = "xxx,panel_simple";
status = "okay";
vo_format = <18 5>; /* VO_FMT_YUV422 TCON_FMT_YUV422 */
pinctrl-names = "default";
delay = <100 50 50 50 50>; /* <reset prepare enable disable unprepare> */
pinctrl-0 = <&pinctrl_bt8b>, <&pinctrl_bt_pclk>;
ub_i2c_id = <1 400000>;
/* <dclk_Hz hfp hsw hbp hact vfp vsw vbp vact> */
timing = <37125000 440 40 220 1280 5 5 20 720>;
reg = <4>; /* CONNECTOR_BT */
yc_senquence = <0x0>; /* 0-TCON_BT_YC_SEQ_CB0Y0CR0Y1 1-TCON_BT_YC_SEQ_CR0Y0CB0Y1 2-TCON_BT_YC_SEQ_Y0CB0Y1CR0 3-TCON_BT_YC_SEQ_Y0CR0Y1CB0 */
polarity = <1 1 1 0>; /* <FIELD_POL VBLANK_POL HBLANK_POL DE_POL> */
map = <0 0 0 0>; /* <FIELD_MAP VBLANK_MAP HBLANK_MAP DE_MAP> */
ds_mode = <0>; /* 0-TCON_BT_YC_DS_DIRECTLY 1-TCON_BT_YC_DS_AVERAGED */
clk_dly = <7>; /* 每个调整单位为0.2ns */
size-mm = <128 72>;
reset_gpio = <&gpe 7 0>; /* AHD_REST */
trans_if = "i2c"; /* "dsi"、"cpu"、"i2c"、"spi"、"tcon‐spi" */
init_code = /bits/ 8 <
3 0x88 0xFF 0x00
3 0x88 0x00 0x08
3 0x88 0x01 0x00
3 0x88 0x02 0x9B /* 0x9B:video; 0xDB:Colorbar */
3 0x88 0x03 0x62
3 0x88 0x04 0x00
3 0x88 0x05 0x70
3 0x88 0x06 0x00
3 0x88 0x07 0xC1
3 0x88 0x08 0x7A
3 0x88 0x09 0x7A
3 0x88 0x0A 0x7A
3 0x88 0x0B 0x15
3 0x88 0x0C 0x04
3 0x88 0x0D 0x04
3 0x88 0x0E 0x86
3 0x88 0x0F 0xBC
3 0x88 0x10 0x17
3 0x88 0x11 0xB0
3 0x88 0x12 0x00
3 0x88 0x13 0x3C
3 0x88 0x14 0x38
3 0x88 0x15 0x38
3 0x88 0x16 0xEB
3 0x88 0x17 0x08
3 0x88 0x18 0x10
3 0x88 0x19 0xF0
3 0x88 0x1A 0x10
3 0x88 0x1B 0xA4
3 0x88 0x1C 0x55
3 0x88 0x1D 0x76
3 0x88 0x1E 0x80
3 0x88 0x1F 0x00
3 0x88 0x20 0x27
3 0x88 0x21 0x88
3 0x88 0x22 0x04
3 0x88 0x23 0x23
3 0x88 0x24 0x00
3 0x88 0x25 0x00
3 0x88 0x26 0x00
3 0x88 0x27 0x56
3 0x88 0x28 0x00
3 0x88 0x29 0x35
3 0x88 0x2A 0xE0
3 0x88 0x2B 0x00
3 0x88 0x2C 0x00
3 0x88 0x2D 0x00
3 0x88 0x2E 0x00
3 0x88 0x2F 0x00
3 0x88 0x30 0x00
3 0x88 0x31 0x00
3 0x88 0x32 0x00
3 0x88 0x33 0x00
3 0x88 0x34 0x00
3 0x88 0x35 0x00
3 0x88 0x36 0x00
3 0x88 0x37 0x00
3 0x88 0x38 0x00
3 0x88 0x39 0x00
3 0x88 0x3A 0x00
3 0x88 0x3B 0x00
3 0x88 0x3C 0x10
3 0x88 0x3D 0x80
3 0x88 0x3e 0x18 /* voltage mode */
3 0x88 0x3F 0x00
3 0x88 0x40 0x00
3 0x88 0x41 0x01
3 0x88 0x42 0x12
3 0x88 0x43 0x17
3 0x88 0x44 0x49
3 0x88 0x45 0xCB
3 0x88 0x46 0xAA
3 0x88 0x47 0x1F
3 0x88 0x48 0xFA
3 0x88 0x49 0x00
3 0x88 0x4A 0x07
3 0x88 0x4B 0x08
3 0x88 0x4C 0x00
3 0x88 0x4D 0x00
3 0x88 0x4E 0x00
3 0x88 0x4F 0x00
3 0x88 0x50 0x00
3 0x88 0x51 0x00
3 0x88 0x52 0x00
3 0x88 0x53 0x00
3 0x88 0x54 0x00
3 0x88 0x55 0x00
3 0x88 0x56 0x27
3 0x88 0x57 0x04
3 0x88 0x58 0xBD
3 0x88 0x59 0xA1
3 0x88 0x5A 0x0D
3 0x88 0x5B 0x00
3 0x88 0x5C 0x0B
3 0x88 0x5D 0x0C
3 0x88 0x5E 0x21
3 0x88 0x5F 0x00
3 0x88 0x60 0x00
3 0x88 0x61 0x00
3 0x88 0x62 0x00
3 0x88 0x63 0x00
3 0x88 0x64 0x00
3 0x88 0x65 0x00
3 0x88 0x66 0x00
3 0x88 0x67 0x00
3 0x88 0x68 0x00
3 0x88 0x69 0x00
3 0x88 0x6A 0xFA
3 0x88 0x6B 0x90
3 0x88 0x6C 0x00
3 0x88 0x6D 0x00
3 0x88 0x6E 0x00
3 0x88 0x6F 0x00
3 0x88 0x70 0x00
3 0x88 0x71 0x00
3 0x88 0x72 0x00
3 0x88 0x73 0x00
3 0x88 0x74 0x00
3 0x88 0x75 0x00
3 0x88 0x76 0x00
3 0x88 0x77 0x00
3 0x88 0x78 0x00
3 0x88 0x79 0x00
3 0x88 0x7A 0x00
3 0x88 0x7B 0x8A
3 0x88 0x7C 0x00
3 0x88 0x7D 0x00
3 0x88 0x7E 0x00
3 0x88 0x7F 0x00
3 0x88 0x80 0x00
3 0x88 0x81 0x00
3 0x88 0x82 0x00
3 0x88 0x83 0x00
3 0x88 0x84 0x00
3 0x88 0x85 0x00
3 0x88 0x86 0x00
3 0x88 0x87 0x00
3 0x88 0x88 0x00
3 0x88 0x89 0x00
3 0x88 0x8A 0x00
3 0x88 0x8B 0x00
3 0x88 0x8C 0x00
3 0x88 0x8D 0x00
3 0x88 0x8E 0x00
3 0x88 0x8F 0x00
3 0x88 0x90 0x00
3 0x88 0x91 0x00
3 0x88 0x92 0x00
3 0x88 0x93 0x00
3 0x88 0x94 0x00
3 0x88 0x95 0x00
3 0x88 0x96 0x00
3 0x88 0x97 0x00
3 0x88 0x98 0x00
3 0x88 0x99 0x00
3 0x88 0x9A 0x00
3 0x88 0x9B 0x00
3 0x88 0x9C 0x00
3 0x88 0x9D 0x00
3 0x88 0x9E 0x00
3 0x88 0x9F 0x00
3 0x88 0xA0 0x00
3 0x88 0xA1 0x00
3 0x88 0xA2 0x00
3 0x88 0xA3 0x00
3 0x88 0xA4 0x00
3 0x88 0xA5 0x00
3 0x88 0xA6 0x00
3 0x88 0xA7 0x00
3 0x88 0xA8 0x00
3 0x88 0xA9 0x00
3 0x88 0xAA 0x00
3 0x88 0xAB 0x00
3 0x88 0xAC 0x00
3 0x88 0xAD 0x00
3 0x88 0xAE 0x00
3 0x88 0xAF 0x00
3 0x88 0xB0 0x00
3 0x88 0xB1 0x00
3 0x88 0xB2 0x00
3 0x88 0xB3 0x00
3 0x88 0xB4 0x00
3 0x88 0xB5 0x00
3 0x88 0xB6 0x00
3 0x88 0xB7 0x00
3 0x88 0xB8 0x00
3 0x88 0xB9 0x00
3 0x88 0xBA 0x00
3 0x88 0xBB 0x00
3 0x88 0xBC 0x00
3 0x88 0xBD 0x00
3 0x88 0xBE 0x00
3 0x88 0xBF 0x00
3 0x88 0xC0 0x00
3 0x88 0xC1 0x00
3 0x88 0xC2 0x00
3 0x88 0xC3 0x00
3 0x88 0xC4 0x00
3 0x88 0xC5 0x00
3 0x88 0xC6 0x00
3 0x88 0xC7 0x00
3 0x88 0xC8 0x00
3 0x88 0xC9 0x00
3 0x88 0xCA 0x00
3 0x88 0xCB 0x00
3 0x88 0xCC 0x00
3 0x88 0xCD 0x00
3 0x88 0xCE 0x00
3 0x88 0xCF 0x00
3 0x88 0xD0 0x00
3 0x88 0xD1 0x00
3 0x88 0xD2 0x00
3 0x88 0xD3 0x00
3 0x88 0xD4 0x00
3 0x88 0xD5 0x00
3 0x88 0xD6 0x00
3 0x88 0xD7 0x00
3 0x88 0xD8 0x00
3 0x88 0xD9 0x00
3 0x88 0xDA 0x00
3 0x88 0xDB 0x00
3 0x88 0xDC 0x00
3 0x88 0xDD 0x00
3 0x88 0xDE 0x00
3 0x88 0xDF 0x00
3 0x88 0xE0 0x00
3 0x88 0xE1 0x00
3 0x88 0xE2 0x00
3 0x88 0xE3 0x00
3 0x88 0xE4 0x00
3 0x88 0xE5 0x00
3 0x88 0xE6 0x00
3 0x88 0xE7 0x00
3 0x88 0xE8 0x00
3 0x88 0xE9 0x00
3 0x88 0xEA 0x00
3 0x88 0xEB 0x00
3 0x88 0xEC 0x00
3 0x88 0xED 0x00
3 0x88 0xEE 0x00
3 0x88 0xEF 0x00
3 0x88 0xF0 0x00
3 0x88 0xF1 0x00
3 0x88 0xF2 0x00
3 0x88 0xF3 0x00
3 0x88 0xF4 0x00
3 0x88 0xF5 0x00
3 0x88 0xF6 0x00
3 0x88 0xF7 0x00
3 0x88 0xF8 0x00
3 0x88 0xF9 0x00
3 0x88 0xFA 0x00
3 0x88 0xFB 0x00
3 0x88 0xFC 0x12
3 0x88 0xFD 0x00
3 0x88 0xFE 0x29
3 0x88 0xFF 0x10
>;
};
};
验证测试参考
clk_dly设置为0
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为1
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为2
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为3
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为4
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为5
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为6
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为7
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为8
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为9
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为10
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为11
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为12
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为13
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为14
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为15
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为16
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为17
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为18
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为19
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为20
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为21
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为22
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为23
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为24
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为25
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为26
数字示波器抓取AHD OUT信号如下:

AHD OUT信号接入显示器显示如下:

clk_dly设置为7时的colorbar测试

clk_dly设置为7时的modetst GRADIENT测试

clk_dly设置为7时的modetst PLAIN测试

clk_dly设置为7时的modetst SMPTE测试

clk_dly设置为7时的modetst TILES测试

总结
ITU-R BT.656是数字视频领域一个非常重要的串行接口标准,它为标清电视(SDTV)视频信号的传输提供了一套完整的规范,尤其在专业视频设备和消费电子产品中应用广泛。
核心定义与特点
ITU-R BT.656是ITU-R BT.601标准的串行接口实现,专门用于传输4:2:2采样的YCbCr数字视频信号。其核心特点包括:
- 串行传输:数据、时钟和同步信号全部通过一个串行数据流传输,无需额外的同步信号线,简化了接口设计。
- 嵌入式同步:行场同步信号(SAV/EAV)嵌入在数据流中,实现了内同步,降低了电磁干扰(EMI)。
- 8位数据位宽:采用8位数据传输,接口简洁,适合硬件实现。
数据格式与结构
一个完整的视频信号传输基于场(Field)的概念,分为顶场(偶数行)和底场(奇数行)。每一行数据由以下部分组成:
- 结束码(EAV):4字节,标记一行结束。
- 水平消隐(Horizontal Blanking):包含行同步信息。
- 起始码(SAV):4字节,标记下一行开始。
- 有效数据(Active Video):实际的视频像素数据,采用YCbCr 4:2:2格式,每行720个像素点,对应1440字节(PAL制式)。
标准背景与应用
ITU-R BT.656标准诞生于1990年代,旨在为525线(NTSC)和625线(PAL/SECAM)电视系统提供一个全球通用的数字视频接口标准。它解决了BT.601并行接口布线复杂的问题,成为数字视频设备间互连的桥梁。其应用包括:
- 数字视频处理设备(如DSP)与编码器的连接。
- 专业视频制作设备(如摄像机、切换台)的内部接口。
- 早期数字电视广播和视频传输系统。
与其他标准的关系
- 与ITU-R BT.601:BT.601定义了数字视频的编码参数(如采样率、色度格式),而BT.656是BT.601的串行传输实现方式之一。
- 与BT.1120:BT.1120是高清电视(HDTV)的串行数字接口标准,可视为BT.656在高清时代的演进。
ITU-R BT.656是一个为标清数字视频设计的、高效且可靠的串行接口标准,通过嵌入式同步和8位数据传输,简化了硬件设计并降低了干扰。它在数字视频发展史上扮演了关键角色,是理解现代视频接口(如HD-SDI)的基础。
AHD信号指模拟高清视频信号(Analog High Definition),是一种基于同轴电缆传输的高清视频技术标准,主要用于安防监控和车载影像系统。它通过模拟信号传输方式,在保留传统同轴电缆布线的基础上,实现了接近网络高清(IP Camera)的画质水平。