一种视频处理系统设计与实现
因此VP2在每个时钟周期只有在上升沿输出8位数据,无法满足SAA7105H的工作要求。
2.4 地址空间映射
DM642的程序/数据空间以字节为单位进行统一编址,整个寻址空间为4 G字节。其片上存储器,片上外设及外部存储器接口(EMIF)均映射到此4 G字节空间中。
DM642的CEO空间被配置为64 bit SDRAM接口,分配给外扩的SDRAM使用。SDRAM的工作时钟由DM642的ECLKOUTl提供,其可由软件配置为EMIF的ECLKIN或CPU时钟/4、或CPU时钟/6,最高为133 MHz。一般情况下,配置为ECLKIN,即100 MHz。SDRAM在子空间的具体定位为:Ox8000 0000~Ox81FF FFFF。
DM642的CEl空间被配置为8Mx8 bit的Flash,在CEl子空间占据的具体空间定位为0x9000 0000~0x9007 FFFF。
DM642外部地址总线只有A[22:3],总共20根,所以CEl子空间最大的寻址范围为lMx8 bit。系统中CEl子空间除了分配给Flash以外,还分配给状态,控制寄存器、UARTA、UARTB等资源使用,其中Flash只占据CEl子空间的前一半的寻址空间,即最大的可寻址范围为512Kx8 bit,而Flash的设计容量为8 Mx8 bit,所以为寻址到Flash所有的地址空间,采用分页技术来实现对Flash的访问。
2.5 I2C总线
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。由于连接到I2C 总线的器件有不同种类的工艺(CMOS、NMOS、双极性),逻辑0(低)和逻辑1(高)的电平不是固定的,它由电源VCC的相关电平决定,每传输一个数据位就产生一个时钟脉冲。
I2C总线由数据线SDA和时钟SCL构成串行总线,可发送和接收数据,在CPU与被控IC之间、IC与IC之间双向传送。在数据传送过程中共有3种信号,分别是开始信号、结束信号和应答信号。其中,开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据;结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据;应答信号:接收数据的IC在接收到8 bit数据后,向发送数据的IC发出特定的低电平脉冲。
DM642集成有一条I2C总线。DM642为总线的主设备。系统用I2C总线连接了以下从设备:2路视频解码器SAA7113H的控制口、1路视频编码器SAA7105H的控制口和1路实时时钟RTC。每个I2C总线的从设备均对应一个从设备地址,I2C总线以此从设备地址区分所访问的是哪个从设备。DM642通过I2C总线配置上述器件的寄存器。
2.6 网络接口
DM642的网络接口由EMAC与MDIO两部分组成的。其主要功能有:符合IEEE802.3协议;支持传媒无关接口(MII);8个独立的发送与接收通路;同步的10/100 Mbit的数据操作;广播及多帧的传送。
系统选用LXT971ALC作为10/100Base一TX以太网收发器。LXT971ALC的MII接口与DM642的MII接口对接。DM642的MII不支持TXER,它通过求反发送帧CRC来指出网络错误,所以LXT971ALC上的TXER引脚直接接为无效。系统只采用10/lOOBase-TX方式,信号经Hll02 1:1变压器变换成TX+、TX一、RX+和RX一信号,连接到RJ45连接器上。RJ45连接器选用406549一l,其上带2个LED指示灯,绿色LED,用作指示连接状态;黄色LED正常情况下用于指示数据传输。
3 系统调试
3.1 视频通道的驱动
系统中视频解码通道使用SAA7113,编码通道使用SAA7105H。这2个器件需要经过寄存器配置才能正常工作,因为寄存器数量众多,直接逐个配置寄存器相当复杂。系统开发了基于DSP/BIOS的应用程序,可以调用FWID API函数,实现对视频通道的驱动。以下是几个接口函数的使用说明:
(1)初始化工作 FVID_croat(name,mode,*status,
optArgs,*attm)参数说明:String name:device driver的名字,该device driver在DSP/BIOS中定义;Int mode:指定设备的打开模式为输入/输出;Int*status:该参数是application送给mini—driver的一个状态指针,由mini—dIiver来返回状态的;PtroptArgs:用于初始化FVID channel的具体参数,用结构体的形式打包,并将指向该结构体的指针传送给mini—driver进行处理;FVID_Attrs *attrs:FVID_Attrs结构参数为空,表示FVID_alloc,FVID_free,FVID_exchange calls为非block形式,无论成功与否,立刻返回。
(2)发送控制命令到mini—driver FVID_control(disChan,VPORT_CMD_START, NULL)参数说明:FVID_HandlevidChan:fvid通道句柄;Int cmd:cmd命令;Ptr args:cmd命令附带的信息。该函数发送一个控制命令给mini—dT
- 3DES算法的FPGA高速实现(06-21)
- 基于DSP的Max-Log-MAP算法实现与优化(05-27)
- DSP中DMA操作的无阻塞请求实现(06-18)
- 二维DCT编码的DSP实现与优化(09-08)
- 基于DSP处理器上并行实现ATR算法(01-29)
- 基于DSP的H.324终端设计(05-27)