基于SMBUS总线的视频解码芯片SAA7113初始化2009-5-2611:24:00谢文华,高文华供稿摘要:本文不用于以往的用标准51单片机对芯片进行初始化配置,而是采用一种新型单片机C8051F040对解码芯片SAA7113进行初始化,并给出解码芯片各个寄存器的配置值及其C8051F040专用SMBUS总线的使用方法。SMBUS总线与IIC总线兼容,C8051F040具有专用的SMBUS总线接口,不需要用单片机引脚模拟IIC总线,传输数据时只需要对其寄存器进行操作,这就大大节省了硬件资源,编程方便。关键词:视频解码;SAA7113;C8051F040;SMBUS总线Abstract:ThevideodecoderchipSAA7113isinitializedbytheSingleChipMicrocomputerC8051F040whichisanewtypeMCUinsteadofthestandard51MCU.ThepaperintroducestheconfigurationofthevariousregistersinthevideodecoderandtheuseofSMBUSwhichisexclusiveintheSingleChipMicrocomputerC8051F040.SMBUSiscompatiblewithIIC,C8051F040usesexclusivelyinterfaceofSMBUSinsteadoftheanalogIICinthestandard51MCU.SMBUSonlyoperatesitsregisterstosavethehardwareresourcesandtomakeprogrammingconvenientlywhenittransmitsthedata.Keywords:videodecoder;SAA7113;C8051F040;SMBUSSAA7113是飞利浦半导体推出的9位视频AD芯片,在很多视频产品如电视卡、MPEG2、MPEG4中都有应用,也可用于可视对讲、可视门铃、可视电话中。SAA7113的主要作用是把输入的模拟视频信号解码成标准的“VPO”数字信号,SAA7113兼容全球各种视频标准,可根据需要将其配置为相应的视频标准,即初始化,否则SAA7113就不能按要求输出,在我国应用时习惯上将其配置为PAL制式。对SAA7113初始化需要通过IIC总线进行,本文用C8051F040单片机对其进行初始化及其控制。C8051F040单片机是51单片机的一种,但是它不同于普通的51单片机,它具有专用的IIC接口,只需要对特定的SMBUS总线寄存器进行操作,编程方便。1、SAA7113的基本原理及其寄存器介绍SAA7113是一种视频解码芯片,它可以同时输入4路CVBS或者2路S视频(Y/C)信号,通过内部寄存器的不同配置可以对输入进行切换,输出为8位的“VPO”数字信号,为标准的ITU656、YUV4:2:2格式。SAA7113兼容PAL、NTSC、SECAM等多种制式,可自动检测50或60Hz的场频,通过寄存器不同配置在各种制式间切换。SAA7113的寄存器地址从00H开始,到FFH结束。其中00H、1FH、60H~62H为只读寄存器,不可写;14H、18H~1EH、20H~3FH、63H~FFH为保留地址;只有以下寄存器可读写:01H~05H(前端输入通道部分),06H~13H、15H~17H(解码部分),40H~60H(常规分离数据部分)[1]。对各个寄存器的配置值如下[2]:寄存器地址:01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH,10H,11H,12H,13H,15H,16H,17H,40H,41H~57H,58H,59H,5AH,5BH,5EH寄存器配置值:08H,0C0H,33H,00H,00H,0EBH,E0H,0B8H,01H,80H,47H,42H,01H,01H0FH,00H,0CH,0A7H,00H,00H,00H,00H,02H,FFH~FFH,00H,54H,07H,83H,00H2、SAA7113与单片机C8051F040接口设计C8051F040通过SMBUS(SystemManagementBus)总线(一种与IIC兼容的数据总线)将SAA7113各个寄存器的配置值送入解码芯片SAA7113,单片机C8051F040与SAA7113接口电路设计如图1所示。图1SAA7113与C8051F040接口图单片机C8051F040有标准8051的端口(0、1、2和3),又有4个附加的8位端口(4、5、6和7),因此共有64个通用的I/O口,这些端口的工作情况与标准8051相似,但是有一些改进。每个端口都可以被配置为推挽或者漏级开路输出,另外还引入了数字交叉开关,这是一个大的数字开关网络,允许将内部数字系统资源映射到P0、P1、P2和P3的端口I/O引脚。这一特性允许用户根据自己的特定需要选择通用端口I/O和所需数字资源的组合。通过配置端口I/O交叉开关寄存器0——XBR0=0x01和端口I/O交叉开关寄存器2——XBR2=0x40,将单片机的P0.0和P0.1引脚分别作为SMBUS总线的SDA(SerialData)和SCL(SerialClock)脚。3、SMBUS总线时序SMBUS是Intel开发的双向二线总线,其I/O接口只有2条接线:SDA和SCL。SCL传输总线时钟,SDA传输总线数据。C8051F040SMBUS总线符合SMBUSVL1.1规范且与IIC...