脱机视频图象编/解码系统中高速DSP芯片应用方案
扫描二维码
随时随地手机看文章
视频图象编/解码的目的一方面要将模拟视频信号转化为数字信号来传输,另一方面,由于单纯的视频模数转换所得到的图像数据量非常庞大,必须应用图象压缩技术减少数据量。在图象编/解码领域有两种实现方式,一种是基于微机平台的实现方式,图象数据通过微机软件或者是利用基于微机总线的图象处理卡进行压缩编码,并且可以通过PC网络进行数据传输。另一种方式抛开了微机平台,应用DSP为主的微处理器算法对图象进行压缩/解压缩的编/解码处理。后一种方式构成的系统被称为脱机图象系统。脱机图象系统由于设备体积小,应用灵活简便,受到广泛的关注。随着微处理技术的发展,专用的图象压缩/解压缩ASIC芯片涌现,图象处理算法已经集成于ASIC中,这就简化了脱机图象系统的设计实现。
虽然专用图象压缩/解压缩芯片已经集成了编/解码的算法,但是图象压缩效果的实时调节、数据速率的控制和图象数据的传输仍然需要高速微处理器加以控制实现。本文主要从硬件设计角度,介绍在一个脱机视频图象编/解码系统中,高速DSP芯片TMS320C542的设计应用。
1 TMS320C542的外围接口功能
TMS320C542是美国TI公司C54x系列DSP中的一款。它是16位定点运算的高速微处理芯片,运算速度为40MIPS,工作电压为5V,片内RAM有10K字,是该系列中片内RAM较大的。C542主要的外围硬件接口功能如下:
·并行IO接口,包括16位地址线和16位数据线。地址线是单向的输出引脚,数据线为双向引脚。协该接口工作的还有数据区选通信号DS、程序区选通信号PS、IO端口选通信号IS、存储访问的数据锁存信号MSTRB、IO端口访问的数据锁存信号IOSTRB和读写信号R/W。
·5条外部中断信号线,其中有一个是不可屏蔽中断,其余的4个是可屏蔽中断。
·1条程序条件跳转控制输入线和1条外部标志信号输出线XF。
·两个串行通信号,其中一个是具有数据缓冲区的高速串口BSP,另一个是时分复接TDM串行通信口。数据缓冲串口BSP由全双工的串行接口和最大可以达到2K字长的数据缓冲区构成,当采用缓冲发送/接收模式时,缓冲区中的数据的发送/接收过程不影响DSP运行其它程序代码。
·主控接口HPI,用于外部处理器或者微机总线与DSP之间的数据访问控制。外部处理器或微机可以利用这个接口访问DSP内部的指定内存空间,进行数据的读出或写入,而不妨碍DSP内部程序正常的运行处理。即使外部处理器的处理速度很慢,HPI接口也不会减慢或停止DSP的运算。如果外部处理器有必要申请DSP的服务,也可以利用此端口引发DSP的相应中断。
作为脱机视频编/解码系统核心的DSP既要具有高速的计算能力,又希望能够提供良好的外围接口和通信接口,C542的性能符合本系统的需要。
2 DSP的外围关系
本系统中DSP的外围器件比较多,而且各自都具有特殊的功能和用法,所以理顺它们的电气关系,是系统设计的首要问题。
2.1 DSP的程序载入所需要的外围
C542的运行程序除了厂家直接烧制到片内ROM的情况外,需要外加器件帮助DSP存储程序。在系统上电复位后,首先要将程序代码由片加载到DSP的片内RAM中再执行。C54x提供了多种程序加载的方法:HPI接口程序加载方法、8位I/O接口程序加载方法、16位I/O接口程序加载方法、8位并行EPROM程序加载方法、16位并行EPROM程序加载方法和串口程序加载方法。本系统选择用一片32K×8bit的EPROM采用8位并行ERTPM的程序加载方法给DSP加载程序。
DSP在上电打电报位后首先读取IO端口地址为OFFFFh的数据SRC。这个16位数据SRC的最低两位bit1-0决定用户所选择的程序下载方法。当这两位是01时,即可选择8位并行EPROM程序加载方法。然后,SRC的bit7-2位数据乘以2 10后的结果将作为DSP访问EPROM的起始地址。此后,DSP将把程序代码从这个起始地址开始的数据区载入到程序区里去执行。
本系统将一片32K×8bit的EPROM作为起始地址为8000h的数据空间存储加载程序。此时,SRC的bit7~0应设置为10000001。本系统依据CMOS电路规范,采用4.7kΩ的电阻将DSP数据线的第0、7位上拉为高电平,同时数据线的1~6位用4.7kΩ电阻下拉接地。电阻的使用使得一方面当有器件驱动数据总线时不会影响数据线上的正确逻辑,另一方面当DSP访问0FFFFh的IO端口时,只要其它芯片释放数据总线,DSP就可以读取到正确的SRC数据。
2.2 专用视频图象编/解码ASIC
专用视频图象编/解码ASIC可以提供16位的数据接口,通过4根地址线来选择访问ASIC的内部不同寄存器的数据。通过这个接口,DSP可以设置视频图象编/解码的工作状态,图象压缩效果。通过这个接口,DSP也可以读取到图象的相关统计数据,比如图象的总亮度,像素的最大亮度和最小亮度等信息,以便为DSP调整压缩效果提供依据。通过这个接口,还可以读出压缩图象数据或者写入压缩图象数据,此时,该接口等效为一个FIFO接口,这个专用视频编/解码ASIC能够主动发出服务请求中断,向DSP申请数据访问和控制处理。
根据这个专用视频编/解码ASIC的接口特点,本系统利用DSP的IO端口来访问处理该外设器件。
2.3 低速控制单片机
DSP作为高速的运算处理器不适合低速的控制应用。本系统中,对图象亮度、色度和对比度的调节,对摄像云台的控制,对用户控制器信号的接收以及对系统工作状态指示灯的显示,都是一些低速的控制。本系统选用单片机来完成这些工作,这样同时也就需要DSP和单片机交换控制命令。
C542的HPI接口提供了一个很好的DSP和单片机之间通信的解决方法。虽然HPI接口的8条数据线和5条访问控制线要占用单片机的13个IO引脚,但是本系统所有单片机IO资源是足够的。有了HPI接口,单片机可以将用户命令发送给DSP,并通过引发DSP中断申请DSP处理。DSP也可以将命令通过HPI接口要求单片机执行相应操作。利用HPI接口的特点,两个微处理器之间的通信不必匹配数据输速率,也不会影响各自程序的执行速度。
2.4 图象数据存储SRAM
为了实现数据传输的流速控制,需要存储器缓冲数据。同时,要实现图象冻结和其它一些处理功能,也同样需要足够的存储空间。本系统选择了128K×16bit的高速SRAM来扩展C542有限的存储空间。C542的内部RAM占据了地址从0000~27FFh的数据区,8000~0FFFFh的的数据区已经分配给了EPROM放置程序代码,最后只有2800~7FFFh的地址可以给SRAM使用。有一种扩展SRAM访问地址线的方案是采用两次寻址方法。第一次先给出部分地址并缓存下来,此时不访问数据;在第二次访问时,给出余下的地址数据,然后利用拼接的总地址来访问数据。
由于图象数据是数据流,它在SRAM中的存放和读取都是地址顺序递增的。依据这一特点,本系统设计了一种新的SRAM地址线扩展方法。该方法将每32个16位字图象数据划分为一次数据操作的最小单元组。这32个字数据在SRAM中存放地址的高12位是一样的,这高12位地址用DSP的低12位地址线选择。而SRAM的低5位地址用一个5位二进制计数器自动递增生成,即每访问一次高12位地址,低位地址自动增1.这样,实际只用了DSP的12根地址线,就可以高效地访问SRAM的所有存储空间。最后,DSP地址线的高四位A15~12应该在0011~0111之间选择两个值,一个用来片选SRAM,一个用来复位计数器。
2.5 数据通信高速串口
本系统直接利用C542的缓冲串口BSP作为系统开放给用户的通信接口。该接口的数据速率最高可以达到40Mbps,数据包的长度可以在8位、10位、12位和16位之中选择。BSP串口的接收部分BSPR操作在被动方式下,伴随接收数据的时钟和帧同步信号应该由外部提供。BSP串口的发送部分BSPX既可以工作在主动模式下,其数据时钟和帧同步由DSP内部提供。BSPX也可以工作在被动模式,数据时钟和帧同步时钟由外部输入。BSP的缓冲区数据自动发送和接收功能,也简化了DSP的处理工作。本系统在DSP的BSP串口基础上增加了接口驱动,构成了系统的通信接口。
3 DSP部分的系统设计
图1是本脱机视频编/解码系统的核心DSP部分的构成原理图,其中DSP的缓冲串口DSP单独构成了用户通信串口,DSP的HPI接口实现了DSP和低速控制单片机之间的通信。剩下与DSP的IO接口相连接的外围是上电复位SRC数据逻辑、程序加载EPROM、视频图象编/解码ASIC和图象数据存储SRAM。EPROM和SRAM作为DSP扩展的数据存储区来处理,SRC数据逻辑和视频编/解码ASIC作为DSP的IO端口来访问。从程序指令角度讲,数据存储区的访问操作应该使用DSP的数据访问指令,例如LD、ST、MVDD等等,而IO端口的访问要使用DSP的IO端口访问指令PORTR和PORTW。
DSP的IO接口的16位数据线和16位地址线构成外围器件的数据总线和地址总线。小规模的MACH可编程逻辑器件被用于设计IO外围器件的访问控制逻辑。MACH产生的每个器件的片选和读写信号由它与DSP的关系、它的寻址范围以及管脚信号特性决定。例如程序下载EPROM是DSP扩展的数据区,寻址范围8000~0FFFFh,如果它的片选信号是高电平有效,EPROM片选逻辑为:
CS-EPROM=(!DS)&A15
当DSP访问数据区时,DS有效,为低电平,并且当地址线的最高位A15为1时,CS_EPROM信号有效,EPROM被选通。此外,用于SRAM访问地址自动递增的二进制五位计数器也由MACH可编程逻辑器件实现,构造出了附加的5条地址线。
通过利用DSP芯片TMS320C542所具有的DSP和HPI接口功能,并结合MACH可编程逻辑芯片扩展DSP的IO接口功能,从而实现了脱机视频芯片扩展DSP的IO接口功能,从而实现了脱机逻辑芯片扩展DSP的IO接口功能,从而实现了脱机视频图象编/解码系统的控制核心的设计。通过实际的调试,DSP能够在上电复位时正确地从EPROM下载程序代码并运行,DSP可以正确地访问视频编/解码ASIC和数据存储SRAM,DSP与单片机的命令数据交换和串口数据的传输都能正常实现。这个结构合理、布局紧凑的硬件设计为进一步的软件开发提供了方便。DSP对外围数据访问的指令代码,特别是对SRAM的访问操作,简单高效,这为DSP程序软件中其它图象实时控制算法节省了宝贵的指令周期资源。