基于SMBUS总线的视频解码芯片SAA7113初始化.doc_第1页
基于SMBUS总线的视频解码芯片SAA7113初始化.doc_第2页
基于SMBUS总线的视频解码芯片SAA7113初始化.doc_第3页
基于SMBUS总线的视频解码芯片SAA7113初始化.doc_第4页
基于SMBUS总线的视频解码芯片SAA7113初始化.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于SMBUS总线的视频解码芯片SAA7113初始化2009-5-26 11: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、60H62H为只读寄存器,不可写;14H、18H1EH、20H3FH、63HFFH为保留地址;只有以下寄存器可读写:01H05H(前端输入通道部分),06H13H、15H17H(解码部分),40H60H(常规分离数据部分)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,41H57H,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,FFHFFH,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交叉开关寄存器0XBR0=0x01和端口I/O交叉开关寄存器2XBR2=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总线兼容3。SMBUS接口可以被配置为工作在主方式或从方式,其传输模式可分为主机发送、主机接受、从机发送、从机接收4种模式。本系统中单片机作为主机向SAA7113发送数据。在SDA上发送串行数据,在SCL上输出串行时钟。本文只给出单片机作为主机发送示意图如图2所示。图2主机发送示意图对SMBUS串行接口的访问和控制是通过5个特殊功能寄存器来实现的:控制寄存器SMB0CN,时钟速率寄存器SMB0CR,地址寄存器SMB0ADR,数据寄存器SMB0DAT和状态寄存器SMB0STA。通过SMB0STA寄存器可获取发送、接收信息,以控制数据传输过程;通过SMB0DAT接收,发送数据;通过SMB0ADR寄存器配置从机自身的地址。本系统将SMB0ADR配置为SAA7113的地址0x4a,SMB0CR配置为0x40,SMB0CN的初始值配置为0x40,即:使能SMBUS总线并将总线初始状态设为空闲状态。4、软件设计主机在发送之前先查询BUSY(SMB0CN.7)位,若该位为0,则总线空闲,主机可以占用总线,否则表示总线忙,主机可一直查询该状态,直至BUSY=0。主机通过将STA(SMB0CN.1)置1产生起始条件。起始条件发送后会产生中断,主机在中断中查询SMB0STA的值,如果SMB0STA=0x08,则表明起始位发送成功,此时将STA=0,并将从机地址和写控制位送入SMB0DAT,再将SI(SMB0CN.3)置0,SMB0DAT中的数据按从高位到低位的顺序发送出去。从机接收到地址,并以自身地址比较,如果相符合,产生ACK信号。主机产生中断,查询SMB0STA的值,若SMB0STA=0x18,表明从机地址和写控制发送成功,并受到应答信号,此时将主机待发送数据装入SMB0DAT,并将SI置0。从机接收到数据,并产生ACK信号,主机中断,查询SMB0STA的值,若SMB0STA=0x28,则主机上次数据发送成功。若主机没有发送完毕,继续发送;若发送完毕,将STO(SMB0CN.4)置1,结束发送。工作流程图如图3所示,其中aak为主机要发送的数据。图3工作流程图5、仿真结果通过keil3仿真器进行仿真,并单步执行,随时查看SMBUS各个寄存器中的值,确保数据发送。图4、图5、图6分别为数据起始位发送成功、从地址和写控制位发送成功和数据发送成功的仿真结果图。6、结论SAA7113在很多产品中都有应用,本系统通过C8051F040单片机对其进行初始化,不必通过模拟化的II

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论