3个tdms通道转化8位数据成10位tdms数据来传输a/v和辅助数据。
clock通道用做sink数据恢复的参考。
DDC通道用于source和sink的配置和状态交换(edid), sda, scl i2c线
cec用于av控制(ui操作, play, pause等, 通过sink控制source)
heac用于网络传输, utility line
hpd line用于热插拔(sink传给source, 高低电平)
video可以是24, 30, 36, 48bit的像素, 缺省254. 不同的video format有不同的tmds clock。对于低于25mhz的时钟, 使用pixel重复传输的方法。
video pixels的编码格式可以使RGB444, YCbCr4:4:4, YCbCr4:2:2.
audio和辅助数据被用BCH error correction的方式打包(terc4 error reduction)。
支持l-pcm(iec 60958)采样率32khz, 44.1khz, 48khz, 这些覆盖了一般立体音频。最大可以支持192khz, 3到8通道音频。
支持iec 61937压缩音频(例如环绕声), 最大24.576mbps的比特率。
支持2到8通道的one bit音频和压缩格式的one bit DST音频。
hdmi有5中种接头类型:a, b, c, d, e
a是标准的
b支持超高resolution with dual link. 大于165Mpixels/s.
c比a小, 适用于mobile设备
d比c更小
e面向automotive应用, a也可以, e是专门的
几种类型都有高速和标准之分, 有支持网络之分, 分属不同的category, 除了b
b型29针, 其它型19针。
720*480 video frame:
data island 包括audio数据和辅助数据(infoframe)
控制信号在两个非控制信号之间传输。用于指示后续是island data还是video data, 用于sink的character同步
控制信号: 2bits
audio信号: 4bits
video信号:8bits
在video和data island数据之前, 有guard band
video的guard band:
channel 0: 1011001100
channel 1: 0100110011
channel 2: 1011001100
控制信号的ctl0~ctl3: 1000b: video, 1010b: data island
tmds数据流提供了周期性的线索来解码同步。 同步字符是一连串的tmds字符
data island周期:
有lead/trail guard band. 通道0的bit0, 1的hsync, vsync. 通道0的bit2是包头, 通道1、2的4bit是数据包。每个包长32pixels, 用bch ecc保护。 每通道的4bit数据使用terc4编码成10bit。
guard band是什么? 通道0的bti2/3的值11吗?:
通道0根据不同的hsync, vsync组合把4bit的值c, d, e, f编码成terc4(10bit)。
通道1和2: 0100110011
data packects格式如下:
通道0的bit2传输包头和bch error correction信息
记住: 3通道, 没通道8位(for data island仅用4bit), 一个packects使用32个clock, 那意味着3个通道共32bytes * 3/2 = 96bytes/2。通道0用于同步和其他信息, 通道1、2传输包数据, 这样共传输32字节, 一个packages包含4个子包, 每个子包传56bit(7个字节)和一个字节的error correction, 子包0用通道1、2的bit0, 子包1用bit1, 其他类推, 通道1是字节的偶数位, 通道2是计数位。
通道0的包头有3字节, 其他是校验位。
包头包含包类型说明。 具体见1.4spec的page100
tmds编码见117, 所有数据都被编码成10bit。
24bit pixel时, tmds时钟等于pixel时钟
30bit时, 1.25倍
36, 1.5
48, 2
传输用pixel group的方式, 一个pixel group有1个或者几个fregment,根据不同的pixel bit。 一个tmds clock传一个fregment,
对于大于24bit的pixel的传输,比如30bit, 每个fregment传24bit(3组tmds线), 用5个fregment timing传送4个pixel
guard band: 2个tmds时钟
preamble: 8
GCP(general control packet's cd is no-zero means color depth change) PP feild instruct current color_deep.
需要连续4个这样的gcp才能指示有效的传输。
可用的audio的带宽依赖于tmds 时钟, video format timing, and content protection resync等。
参见spec1.4的page142表格。
a/v允许正负2ms的delay
hdmi vendor信息帧提供了3d, 4k/2k display等信息
cea扩展中的hdmi vsdb信息显示sink的功能包括是否支持3d等。
hdcp用于内容拷贝保护,使用acp包来做这个事, acp包中包含copy信息, acp type(哪种audio)等
cec用来做控制(比如使连在sink tv上的键盘能控制source盒子),等。怎么传递cec呢?
1.4的版本时增加了3d, 4k2k display
1.4和1.4a的区别:更改了3d的一些格式。
1.4b是在11年11月份发表, 通篇的一些edit方面的小改动。
有点不理解, 说支持rgb4:4:4,但实际上起码可支持rgb888(24bit), 这个怎么理解?!
heac支持网络功能和audio回播功能。
对于网络, 主要是用hdmi的utility line和hpd line模拟了heac的差分线, cdc message是通过cec发送,cdc有自己不同的的opcode。 并不能替代所有网络物理层的东西(如没理解错的话), 有多少设备用?