HDMI是针对下一代多媒体影音设备所开发的传输接口,适用于数字家电的数字电视、DVD播放机、DVD录放机、PVR、机顶盒及其他数字视听产品。其最大特色是HDMI接口可以在一根传输电缆内传送无压缩的音频信号及高分辨率视频信号。随着带HDMI接口的终端产品的增加,在酒吧、卖场等一些公共场合需要类似以前AV的音视频分配器产品。本文详细说明如何利用硅谷数模公司的ANX9011和ANX9030两种IC来设计一个一进四出的HDMI分配器。
HDMI接口及系统概述
目前消费者因为各种AV连接数过于庞大而深受困扰。HDMI接口可以用单一的连线取代众多的影音连线,简洁又方便。目前HDMI接口已经有成为数字影音产品的必配接口之一的趋势。
HDMI接口主要有三个通信通道,接口示意图如图1所示:
图1 HDMI接口示意图(略)
TMDS通道:负责所有音频、视频数据的传输。辅助数据,如AVI InfoFrame、Audio InfoFrame等也是通过TMDS通道。
DDC通道:HDMI源端,通过这个通道来读取接收端(Sink)的E-EDID数据结构,进而得知接收端内含的机能与特性。
CEC通道:这是一个选项(Option)。提供更高层次的使用方式让消费者使用,比如自动设定的细节、单键播放或是遥控相关的操作。
在某些情况下,HDMI的源端会使用到AVI InfoFrame与Audio InfoFrame,详细的定义在EIA/CEA-861B中。AVI InfoFrame所包含的信息乃是为了实现与达成显示模式自动化(Display Mode Automation)而规划的一种方法或机制。如比色法、显示比例、像数重复因数等。Audio InfoFrame信息包含通道数、代码类型、采样尺寸、采样频率等信息。
E-EDID是增强型扩充显示器识别数据(Enhanced Extended Display Identification Data Standard)的简称。源装置使用DDC(Display Data Channel)来读取终端接收显示装置的E-EDID,以确认终端显示装置的设定与功能。
CEC(Consumer Electronics Control)信号线是提供使用者对于HDMI接口连接装置,提供一种高级控制的方式,例如单键播放(One Touch Play)、单键录像(One Touch Record)等,让消费者对HDMI装置能有逻辑性高的控制方便性,这个功能主要与遥控装置的使用有密切的关系。
HDCP数字内容保护则是英特尔开发的为HDMI提供高带宽数字内容保护的解码技术。配备了HDCP解码技术的HDMI就不会受到信号加密的限制,可以接受全部格式的高清信号。
HDMI分配器系统结构及芯片特点
HDMI分配器系统结构如图2所示。
图2 HDMI分配器系统框图(略)
HDMI分配器工作原理如下:当HDMI输入端口接收到HDMI的视频输入信号后,转换为内嵌行场同步的Y/Cb/Cr信号。送到HDMI的发送芯片。HDMI的发送芯片把Y/Cb/Cr信号转换为HDMI发送出去。这时四个HDMI端口同时有信号输出。同时带有信号的复制和增强功能。单片机通过I 2 C总线控制各个芯片的初始化以及状态机的变化。完成EDID的读取,HDCP的校验等工作。
HDMI的收发IC目前有很多。在本方案中选择ANALOGIX公司的ANX90xx系列IC是因为该产品基于Wide Eye信号恢复技术,能够提供高性能的传输或接收能力。该系列芯片可以支持远大于HDMI标准定义的15米的HDMI线缆高速信号传输。实际的支持距离已经超过了 50米。超强的驱动传输能力,允许客户使用廉价的线缆(如UTP等)来进行高速多媒体信号的传输 ,同时还保证 了极低的误码率。ANX90xx系列芯片具有很强的音视频处理能力。该系列芯片能以最高每秒165M像素的速率传输高达24位信息数据,使整个处理频宽接近4Gbps。支持RGB与多种模式 Y/Cb/Cr之间的转换,支持HDTV(最高支持1080p)和PC(最高支持1600x1200@85Hz)应用 。还支持8通道24位高精度数字音频输出,提供I2S和S/PDIF标准输出接口。不仅能够满足目前最先进的应用,还具备一定的扩展能力。
系统软件实现
本方案中选用STC公司的STC89LE516RD+。工作的频率可以为0~80MHz,内部的FLASH的储存空间为63K,RAM的空间为1280字节。可以很方便的在线下载。使用KEIL C51编程。系统软件可以分为两个部分。一个是ANX9011的初始化的处理和ANX9011的状态机的变化。另一个是ANX9030的初始化的处理和ANX9030的状态机的变化。主循环程序如下:
void main(void){
Init_mcu();
Init_9011();
Init_9030();
while(1){
ANX9011_IntProcess ();
ANX9011_TimerProcess ();
ANX9030_Interrupt_Process();
ANX9030_Timer_Process ();
}
}
ANX9011部分的软件处理
ANX9011的初始化
在ANX9011的复位电路的上升沿,DEVAD_CLK48B管脚的状态决定ANX9011的I 2 C地址。本文假定此管脚为低,I 2 C地址为0X60和0X68被选择。
首先确认ANX9011存在且能正常工作,代码如下:
c1 = 0;
while (1){
HDMIRX_reset_pin = 0;
delay_ms(10);
HDMIRX_reset_pin = 1;
delay_ms_(10);
c = i2c_read_P0_reg(0x02, &c1);
if ((c == 0) && (c1 == 0x21)) {
c = i2c_read_P0_reg(0x03, &c1);
if (c == 0) && (c1 == 0x90))
break;}
}
如ANX9011存在,且能正常工作,开始初始化。初始化表如表1所示。
表1 ANX9011寄存器初始化表(略)
ANX9011的状态机处理
在 ANX9011被正确地初始化后,当一个HDMI源插入到输入端口,接收器将检测到在HDMI电缆上的TMDS时钟。一个时钟检测中断将产生,MCU识别这个中断,上电所有接收器功能,接收器进入正常工作状态。
在正常的操作模式,所有的中断事件是可利用的。如果HDMI发送器发送一个有效的视频流,同步信号(场行同步)将有效。因此允许MCU通过相应的寄存器检测视频格式和时隙。如果视频流稳定,格式可支持,软件可以使能数字视频输出。
相似地,软件将等待音频流稳定后使能I 2 S和SPDIF接口。图3是ANX9011的状态机变化图。
图3 ANX9011状态机(略)
Monitor CKDT:待机状态。当HDMI接收器被第一次初始化或HDMI电缆被拔出,软件将待机芯片的大部分功能。检测TMDS时钟。
Wait SCDT:来自TMDS时钟检测。软件等待TMDS链路稳定建立。
Wait Video:来自同步检测。在使能视频输出前,软件等待稳定的视频流,确认系统支持输入的视频格式。
Wait Audio:在使能音频输出前,软件等待稳定的,可支持的音频流。
Playback:正常的音视频输出状态
ANX9030部分的软件处理
ANX9030的初始化
在ANX9030的复位电路的上升沿,DEV_ADDR_SEL管脚的状态决定ANX9030的I 2 C地址。本文假定此管脚为低,I 2 C地址为0x72和0x7A被选择。
首先确认ANX9030存在且能正常工作,代码如下:
while (1) {
ANX9030_Resetn_Pin = 0;
delay_ms(2);
ANX9030_Resetn_Pin = 1;
delay_ms(2);
c = ANX9030_i2c_read_p0_reg(ANX9030_DEV_IDL_REG, &c1);
if ((c == 0) && (c1 == 0x30)) {
c = ANX9030_i2c_read_p0_reg(ANX9030_DEV_IDH_REG, &c1);
if((c == 0) && (c1 == 0x90))
break; } }
ANX9030在上电复位后,除了像素时钟检测(CKDT)和热插拔检测(HPDT)功能外,ANX9030的大部分功能处于待机状态。软件需要正确的配置其它寄存器。初始化表如表2所示。
表2 ANX9030寄存器初始化表(略)
ANX9030状态机处理
总共有8个状态在ANX9030的软件中定义。
Initialization:在初始化状态,软件设置ANX9030必须的寄存器到合适的值。
在这个状态,仅仅IDCK,MCLK,SCK和热插拔模块是激活的。
Wait Hot plug:在ANX9030初始化后,软件进入等待热插拔状态。在这个状态,当一个热插拔状态被检测(一个激活的HDMI接收器被插入),ANX9030上电进入读和解析EDID状态。
R ead & Parse EDID:在这个状态,软件通过DDC通道读和解析接收器的EDID数据。根据解析的结果,发送器选择一个合适的音视频模式发送。
Config Video:软件配置视频格式,如:色域、DE生成器、嵌入式同步、像素时钟重复时间等 。
Config Audio:软件配置音频格式,如:音频源(I 2 S、SPDIF、和一比特音频),音频FIFO,音频数据采样,音频通道状态等等。一些音频配置内容由系统定义。
C onfig Packets:软件配置信息包如:AVI InfoFrame,Audio InfoFrame,SPD InfoFrame等等。一些信息包的内容由系统定义。
HDCP Authentication:在这个状态,软件处理HDCP授权包括HDCP错误处理。
P layback:这是系统正常工作模式。软件监控相关状态寄存器和对应的中断。然后采取相应的动作。
图4为ANX9030的状态机变化图。
图4 ANX9030状态机(略)
总结
目前市场上需要的HDMI分配器都需要带信号复制和增强功能。据笔者所知,在市场上出售的HDMI分配器中,较少采用HDMI信号直接分两路的IC方案。一般都采用HDMI的接收器加上N个HDMI的发送器来完成。随着HDMI市 场的成熟,此类产品的需求量会逐渐增加。本文是提供给广大音视频设计工程师的一个较好的参考。 |