您的位置:首页 > 编程语言

对解码芯片SAA7114H初始化的实现

2006-09-13 21:37 337 查看
解码芯片SAA7114H是应用于桌面视频设备的单片视频信号前端处理芯片,采用CMOS工艺设计,用于模拟视频信号前段和数字视频信号的解码。该器件通过简洁的I2C总线与控制机进行连接可方便地构成SAA7114的开发系统。其内部包含两路模拟处理通道,可以选择视频源并可搞混叠滤波,同时还可以进行模数据变换、自动嵌位、自动增益控制、时钟产生、多制式解码等,另外还可对亮度、对比度和饱和度进行控制。SAA7114H内部有256个可编程控制寄存器,相应有子地址对应。SAA7114H的初始化,既是FPGA通过IIC总线对其中相应的寄存器写命令字。根据功能要求分析,共用到了其中74个寄存器。

经过以上初始化后,SAA7114H接收0通道(input 0,AI11管脚)输入720*578 PAL制CVBS信号,输出交叉的176*144数字信号。对于输入是NTSC制信号,只将上述其中的10个命令字改写即可完成NTSC制到PAL制的转换(输入720*480,输出176*144)。输出16位数字信号。
我们在XILINX EDK带的一个虚拟IIC总线软件包iic_eeprom.c基础上修改实现对其寄存器的配置。
下面介绍一下几个SAA7114H寄存器的含义:
 
[align=left] 1.0CH(Chrominance saturation control):可打开、关闭UV分量,选值40H,功能-1.0 (ITU level)[/align]
  
[align=left] 2.85H[7:5](控制输出视频数据的顺序):选值01xB,功能-D1 D0 D3 D2 Þ 00 FF SAV 00 Y0 CB0 Y1 CR0[/align]
[align=left] [/align]
[align=left] 3.93H[4:0](输出YUV的格式):xx100B,功能-Y only[/align]
[align=left] [/align]
[align=left] 4.93H[7:5]:93H[7]用来控制输出是否有SAV/EAV(当选择无SAV/EAV时,此时输出的也无00FF);93H[6]用来控制输出是采用16bits形式或8bit形式;[/align]
[align=left][/align]
[align=left] 5.A0H(Horizontal prescaling):A0H[5:0]用于水平方向的预下采样。[/align]
[align=left] [/align]
[align=left] 6.A9H&A8H(Horizontal luminance scaling increment)用于水平方向的亮度下采样。[/align]
[align=left][/align]
[align=left] 7.ADH&ACH(Horizontal chrominance scaling increment): 用于水平方向的色度下采样。值为1/2的A9H&A8H。[/align]
[align=left] [/align]
[align=left] 8.B1H&B0H(vertical luminance scaling increment)用于水平方向的亮度下采样。[/align]
[align=left]B3H&B2H(vertical chrominance scaling increment): 用于水平方向的色度下采样。值相同于B1H&B0H。[/align]
[align=left][/align]
[align=left]举个例子:输入:720X240,输出:352X288(单场)[/align]
[align=left](1)720/352=2.0454=2X1.022;设置A0H为02H;A9H&A8H为0418H(1048,1.022X1024=1048);ADH&ACH为020CH(524)。[/align]
[align=left](2)240/288=0.8333;设置B1H&B0H为0355H(853,1024X0.8333=853);B3H&B2H为0355H(853)。[/align]
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  input 编程 c