基于DM642的视频处理系统设计与实现
在视频处理领域,由于处理的数据量大,算法复杂度高,使得处理的实时性成为难题。如果使用专门的视频算法器件,在保证实时性的同时却使系统的灵活性大大降低。TI公司的TMS320DM642(简称DM642)以其高速的运算能力及
丰富的外设接口,在多媒体领域得到了广泛应用。
2 系统设计方案
2.1 系统的硬件结构
图1给出系统的结构框图。以DM642为核心,包括视频输入输出模块,存储模块,通信模块等。其中输入输出模块由2片解码器和一片编码器构成,可以同时输入2路视频,输出一路视频。存储模块主要由Flash和2片SDRAM组成。此外系统还包括JTAG仿真接口和网口,可以方便地与外界通信。
2.2 系统电源设计
DSP系统电源设计模块是关键,高精度的供电才能保证系统正常工作。系统采用5 V电源驱动2个MOSFET的DC―DC调整器(TPS54310)分别供给DSP的核心电压CVDD(1.4V)和外围电压DVDD(3.3 V)。在3.3 V和1.4 V电源之间连接肖特基二极管,保证DM642内核和外部端口同时供电。TI公司的TPS543lO的输出精度是1%,完全满足DSP工作要求。视频输入器件SAA7113H、视频输出器件SAA7105H和CPLD都需要3.3 V供电,选用AMSlll7―3.3 V为这些器件供电。系统的地分为系统地、视频输入地、视频输出模拟地、音频模拟地和网络模拟地6部分。从电源进来的是系统地。在PCB设汁中,各地与系统地之间采用220Ω、100 MHz的磁珠在一点连接起来。调试中,只要电源部分工作正常,都可以通过JTAG口将程序下载到DM642中,进而调试其他模块。
2.3 视频输入与输出
DM642集成有3个视频(Video Port,VP)口,每个视频口是由20 bit数据线、2个时钟信号VPxCLK0(输入)和VPx-CLKl(输入/输出)、3个控制信号VPxCTL0、VPxCTLl和VPx-CTL2组成。时钟信号作为视频源的时钟信号输入/输出,控制信号作为视频源的同步信号输入/输出(行同步、帧同步、场标志,视频采集使能等)。每个视频口被分为上(B)、下(A)2个通道,VP0的A通道与McBSPO复用,VPl的A通道与McB―SPl复用,VP0和VPl的B通道与McASP复用,VP2则为单功能引脚。每个视频口可被配置为视频输入口或视频输出口,但是上(B)、下(A)2个通道只能同时被配置为输入口,或同时被配置为输出口,不能一个通道配置为输入口,另一个通道配置为输出口。
系统将VP0和VPl配置成为单通道视频输入和McASP口,VP2配置成为单通路的视频输出口。VPO与VPl配置为单通道视频输入口时,VPxCLK0作为视频源的输入时钟,VPxCLK1未用。而VPxCTL0、VPxCTLl和VPxCTL2则分别作为视频源中的时基码控制。当CAPEN信号无效或在EAV和SAV时基码之间时,将不对视频数据流进行采样。BT.656视频数据流采集的起始、水平同步、垂直同步等,受输入信号CAPEN和视频通道控制寄存器VCxCTL(x=A、B)中的VCEN、EXC、HRST、VRST、FLDD等控制位组合控制。当配置为单通道视频输出口时,VPxCLK1作为视频源输出时钟,VPxCLK0作为输入时钟。而VPxCTL0、VPxCTLl和VPxCTL2分别作为输出视频的HSYNC/HBLNK/AVID/FLD、VSYNC/VBLNK/CSYNC/FLD、CBLKN/FLD。3个VP口均作为8位视频接口,使用lO位数据总线中的高8位,即VPxD[9:2]。系统的视频解码和视频编码器分别选用Philips公司的SAA7l13H和SAA7105H,图2给出视频解码和DM642的连接图。图3给出视频编码和DM642的连接图。其中SAA7lO5H支持复合视频(CVBS)输出、超级视频(S-Video,Y/C)输出和VGA输出,系统同时外扩了这3种接口,用户可通过I2C总线对其内部寄存器设置来实现不同的输出。
当SAA7105H工作在VGA输出时,其工作时钟的上升沿和下降沿都要接收数据,图3中VP2与SAA7105H的连接方式,只用到VP2的8位数据线,因此VP2在每个时钟周期只有在上升沿输出8位数据,无法满足SAA7105H的工作要求。这就要求VP2的工作频率是SAA7105H的2倍,两者才可以正确传输数据,该时钟关系在CPLD里实现。
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的访问.即将整个8 Mx8 bit的FLASH分成16个512 Kxl6 bit的页.页地址PA22、PA21、PA20、PAl9,则由页地址寄存器提供(页地址寄存器位于CPLD中)。
评论