基于ADV7183B的视频解码系统的设计
来源:电子工程世界 作者:—— 时间:2010-05-27 09:37
2 ADV7183B的设置
根据实际需要,这里采用了Analog Device公司的ADV7183B芯片作为系统的解码芯片。它是一款综合的视频解码芯片,能够处理NTSC或PAL制式下的CVBS、S-Video、YPrPb 3种格式的输入视频源,从而广泛地应用于放映机、数字电视、DVD、游戏机等电子产品。ADV7183B的主要特点[9]如下:
(1)内部带有行锁定系统时钟(LLC)和自适应数字线长跟踪(ADLLT)电路,可以提供双重视频锁定功能;
(2)具有实时时钟、信息输出功能以及3行色度梳状滤波器;
(3)具有完整的AGC和箝位控制功能,可对色度、亮度、饱和度和对比度进行编程视频调节;
(4)可自动进行NTSC或PAL检测,且有12个模拟视频输入信道;
(5)可设置为二线连续双向端口模式,并与I2C兼容;
(6)支持不同模式的视频输入和16 bit宽度总线数字输出;
(7)输入峰峰值为0.5 V~2 V。
通过不同的配置,ADV7183B的6个模拟视频输入信道可支持6个CVBS输入信号、3个S-video输入信号和2个YPrPb构成的模拟视频输入信号,可由寄存器INSEL控制输入源的类型和信道。此外,ADV7183B支持3种输出接口模式:兼容LLC的同步像素接口、CAPI接口和SCAPI接口,默认模式为兼容LLC的8 bit CCIR656数据。
在电路设计时,ADV7183B的工作晶振为27 MHz,ALSB为地址片选端口,由于软件程序的设计需要,将其接地,置为低电平。CVBS接入AIN5脚,S-Video接入AIN1和AIN4脚,YPrPb则接入AIN2、AIN3和AIN6脚;P0~P15为数据输出端;LLC1、LLC2为时钟输出端口,当为8 bit数据输出时,LLC1为27 MHz,LLC2为13.5 MHz。而当为16 bit数据输出时,LLC1和LLC2均为13.5 MHz;HS为行同步信号输出,VS为场同步信号输出,FIELD为奇偶场信号输出。当系统通电后,板上的2个LED灯会交替闪烁10次,提示用户可通过按键进行输入源信道的选择操作:SW1键选择S-Video视频源输入,SW2键选择YPrPb视频源输入,若不操作则默认CVBS视频源输入。
由于MSP430F169和ADV7183B均有自带的I2C模块,利用I2C总线协议,系统通过中断程序进行解码芯片的各种寄存器配置,从而产生YCrCb型4:2:2的数字视频数据,软件流程图如图3所示。
首先,初始化时钟和传输模式,使MSP430F169工作在所需的模式下;其次,初始化I2C功能,使其准备将从机地址发送到I2C总线上,等待总线上的从机应答,若无应答则重复发送,若有应答则通信初始化并开中断,发送所需配置的寄存器地址和数据[10-11]。需要注意的是,在每次发送数据前都要初始化主机模式和传输模式的设置,因为每次发送完数据后,这两个标志位都会被自动清零。