视频图象编/解码的目的一方面要将模拟视频信号转化为数字信号来传输,另一方面,由于单纯的视频模数转换所得到的图像数据量非常庞大,必须应用图象压缩技术减少数据量。在图象编/解码领域有两种实现方式,一种是基于微机平台的实现方式,图象数据通过微机软件或者是利用基于微机总线的图象处理卡进行压缩编码,并且可以通过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接口的特点,两个微处理器之间的通信不必匹配数据输速率,也不会影响各自程序的执行速度。