| 利用I2C总线实现DSP对增强型视频输入理器SAA7111A EVIP的配置 |
| 类别:单片机/DSP |
| 1 引言
图像处理系统包括图像采集模块和图像处理模块。本系统设计采用SAA7111A EVIP(EnhancedVideo Input Processor)(简称SAA7111A)完成前端图像采集,使用TMS320VC5509A完成图像处理。在SAA7111A正常工作前需要对其进行初始化配置,由于这两款器件内部都集成有I2C模块,可利用I2C总线实现对SAA7111A的初始化配置。 2 TMS320VC5509A内部I2C模块 2.1 I2C模块内部结构 TMS320VC5509A内部集成有I2C模块,其内部结构框图如图1所示。 数据发送寄存器I2CDXR、发送移位寄存器I2CXSR、数据接收寄存器I2CDRR及接收移位寄存器I2CRSR负责数据线SDA上串行数据的发送与接收;时钟同步单元用于同步I2C的输入时钟(来自DSP时钟发生器)和SCL上的时钟,并在多主设备数据传输模式下保证多个主设备时钟完全同步;多主发送传输模式下,仲裁单元对数据总线上的数据进行仲裁;预分频器对I2C模块的输入时钟分频;I2C模块中断产生单元和DMA同步事件产生单元用于触发相应CPU中断和DMA传输。控制寄/状态存器用于实现I2C模块工作模式的设定和状态控制。I2C模块通过外设总线与CPU和DMA控制器进行通信。 2.2 I2C总线的数据传输 I2C总线为一条串行数据线(SDA)和一条串行时钟线(SCL)。SDA和SCL都支持输入/输出双向传输,连接时需上拉至高电平。则TMS320VC5509A内部I2C模块支持主设备和从设备两种模式,兼容Philip公司的I2C总线传输协议。 由连接至I2C总线的主设备提供时钟。时钟线SCL为高电平时,SDA上的数据须稳定,只有当SCL上的时钟信号为低电平时,SDA上的数据才改变。I2C模块在I2C总线配置为主模式时,产生START和STOP条件,如图2所示。I2C总线的数据格式支持7-bit地址格式和10-bit地址格式,数据格式如图3所示。 3 增强型视频输入处理器SAA7111A 3.1概述 SAA7111A广泛应用于桌面视频、多媒体、数字电视、图像处理、视频电话的高性能视频输入处理器。 SAA7111A主要有以下特点:SAA7111A共有4路模拟视频信号输入端,可以为4路CVBS或2路S视频(Y/C),可编程设置4路视频输入中的一路或者两路组成不同的工作模式;能实现行同步、场同步信号的自动监测、分离,并且行同步信号的起始位置与结束位置均可编程控制;场频50 Hz或60Hz自动检测,对不同输入制式的亮度信号、色差信号进行处理,实现亮度、色度以及饱和度的片内实时控制;I2C总线接口,配置片内寄存器,实现用户所需功能;SAA7111A输出为16位VPO总线,支持不同位宽的数据输出格式;有片内时钟产生电路,通过数字PLL锁定行同步。 3.2 I2C总线接口 SAA7111A作为从设备时,其写地址为48H,读地址为49H,配置寄存器时I2C总线上数据格式如图4所示。 3.3 SAA7111A片内寄存器 SAA7111A内部有32个控制寄存器,22个可编程设置。本系统只用其中一部分寄存器,通过I2C总线配置这些寄存器,使其正常工作。SAA7111A片内寄存器功能如表1所列。 4 接口设计 系统选用模式0,视频信号由SAA7111A的AIll引脚输入。SAA7111A的时钟由24.576 MHz的晶体振荡器提供,数字PLL产生同步时钟信号LLC,CREF是时钟参考信号,其频率与LLC相等,高电平时各输出信号稳定。VPO输出图像数据,每2个LLC周期输出1个16位YUV4:2:2格式的数据。同时产生的输出信号还包括水平参考信号HREF和垂直参考信号VREF。YMS320VC5509A的I2C模块的串行数据线(SDA)和串行时钟线(SCL)直接与SAA7111A的I2C总线SDA与SCL相连.并接上拉电阻,保证I2C总线处于空闲状态时SDA与SCL都处于高电平,这样DSP利用I2C总线配置视频采集器件。SAA7111A与DSP的接口原理图如图5所示。 5 配置SAA7111A 将TMS320VC5509A的I2C模块设定为I2C总线的主设备,地址为0000H,7位地址工作模式,传输速率为100 Kb/s;而SAA7111A作为从设备,读地址为49H,写地址为48H。 5.1 I2C模块初始化 利用I2C总线配置SAA7111A之前,应先初始化DSP的I2C模块。 CCS提供强大的芯片支持库,可直接调用I2C模块的芯片支持库函数完成I2C模块的初始化以及SAA7111A的配置。调用库函数之前应包含头文件csl i2c.h。I2C初始化结构如下: 而调用初始化函数初始化DSP的I2C模块I2C_setup(%26amp;My_Init)。 由于本系统的I2C模块只用于配置SAA7111A,并不进行数据传输,无需中断I2C模块,因此中断使能关闭。 5.2利用I2C总线配置SAA7111A DSP的I2C模块初始化后,则利用I2C总线配置SAA7111A。同样,使用CCS的芯片支持库函数实现SAA7111A的配置。发送到I2C总线上的配置数据组: 由于SAA7111A接收I2C总线发送的多个数据时,其子地址递增,因此在发送数据组里,第一个数据是子地址,后面依次是发送到该子地址及后面子地址的数据值。
调用写I2C总线函数,配置SAA7111A寄存器。 注意:发送从地址不包括读写位,而SAA7111A作为从设备的读地址为49H,写地址为48H都是包括读写位(Slave Address+W/R)。因此上面的发送从地址不是0x48,而是0x24。同样在利用芯片支持库函数进行读操作时,从地址不是0x49,而是0x24。 6 结束语 利用本文介绍的方法成功实现DSP对SAA7111A的初始化配置。SAA7111A与TMS320VC5509A都集成有I2C模块,便于配置SAA7111A。CCS提供强大的芯片支持库CSL,可直接使用这些函数便于访问片上外设。这些函数都是经过优化的,其执行效率高并不比直接使用汇编语言编写的代码低。 |
- pic16单片机应..
- 2008-1-9
- 基于单片机的某车型..
- 2008-1-7
- 基于ARM的FPG..
- 2008-1-7
- 基于单片机的电热水..
- 2007-11-15
- 一种基于单片机的汽..
- 2007-11-15
- 基于单片机的电子导..
- 2007-11-8
- 51单片机边沿触发..
- 2007-11-8
- 如何选择细纱机主电..
- 2007-11-5
- 单片机编程技巧
- 2007-9-14
- 空压机变频改造技术..
- 2007-9-3
- 运用定点DSP实现..
- 2007-8-7
- 基于TMS320C..
- 2007-8-9
- 一种用于图像认证的..
- 2007-7-29
- TMS320F20..
- 2007-8-9
- 多DSP系统互连方..
- 2007-8-9
- C5402 DSP..
- 2007-8-9
- 具有高可靠性的高速..
- 2007-8-9
- 基于DSP的实时M..
- 2007-8-7
- 带ARM核的双CP..
- 2007-8-9
- 基于TMS320V..
- 2007-8-9



