摘 要:文章结合TMS320DM642芯片可重复编程性及指令高速并行处理的特点,从硬件及软件两个方面阐述了图像编码系统的设计;该系统的硬件平台可以作为一个通用的图像编码系统平台,并且系统在图像质量、硬件成本及产品的更新换代特性上优于采用专门的视频编解码芯片同类产品。 关键词:TMS320DM642;编码系统;硬件平台;优化
0. 引言
图像编码系统广泛应用于当今数字视频监控领域,如银行和证券集中监控、市内交通和高速公路集中监控、小区和楼宇安防等。市场上大部分的视频编码系统采用专门的视频编解码芯片来实现,本文采用了TI公司的C6000系列的TMS320DM642芯片。该芯片高速处理能力以及出色的对外接口能力使其设计出的产品在图像质量、硬件成本、灵活性及产品更新等方面都优于专门的视频编解码芯片。图1是基于TMS320DM642图像编码系统的模块框图:

图1 基于TMS320DM642的图像编码系统模块框图
图像编码系统要实现视音频编码、硬盘实时存储等基本功能。模拟的视音频信号通过设想摄像头进入视频A/D及音频A/D模块,产生四路的数字视频及数字音频信号,这些数字信号进入到TMS320DM642芯片内,经过该芯片的编码,生成的视频及音频的数字压缩信号由CPU控制通过PCI接口传送到硬盘IDE接口模块,存储于硬盘。视频及音频信号的编码可以是MPEG2、MPEG4、H.264或者是其他类型的编码模式,主要依赖于TMS320DM642芯片内部编程实现。
1. TMS320DM642芯片主要性能特点
TMS320DM642是TI公司最新推出的一款针对多媒体处理领域应用的DSP芯片,548脚BGA封装,有500M /600M /720M三种时钟速率,设计中根据图像数据处理实时性的需要及价格因素的考虑,选用了600M时钟速率,指令周期为1.67ns,内电压为1.4V,每个指令周期可以并行执行8条32位的指令。
TMS320DM642芯片包括三个可以配置的视频口,64个独立通道的增强EDMA控制器,多通道音频串行端口(McASP),64-bit的外部存储单元接口EMIF,66Mhz32-bit,3.3V的PCI主/从接口,10/100Mbps以太网口(EMAC)及通用I/O端口(GPIO)等外围接口。并且该芯片采用二级高速缓存的CACHE结构,一级程序和数据缓存大小为16Kb,二级缓存有256Kb,其CPU内核是基于C64X的CPU基础上的。
可见,TMS320DM642是一个强大的多媒体处理器,是构成多媒体通信系统的良好平台。其丰富的外围接口接近于一个多媒体嵌入式系统的单芯片硬件平台并且其完全的可编程性,能够兼容各种多媒体信号处理标准,构成通用的软件平台。
2.TMS320DM642核心接口的设计实现
2.1 视频接口的设计
TMS320DM642有三个可以配置的视频接口,分别为VP0、VP1和VP2。每个视频接口各有20根数据输入输出管脚,其中VP0和VP1口的12-19bit对应的管脚作为音频的串行端口(McASP)。设计中4路原始的视频信号经过前端A/D采样,形成8bit的YUV422模式的数字视频信号,8bit的数字信号可以直接连接在VP0和VP1口的2-9bit对应的管脚上,其余12-19bit对应的管脚留给音频作输入输出。如图2所示。在视频捕获模式下,每个视频接口支持两路8/10-bit的YUV422格式的数字视频输入,综合考虑音频的输入及输出,在设计中VP0和VP1口各接一路的视频输入,VP2口接2路的视频输入。

2.2 I2C接口的设计
前端四个A/D采样芯片需要通过I2C总线初始化内部寄存器。其中每两个A/D芯片需要一组I2C总线,这样就需要2组I2C总线;而TMS320DM642芯片自身可以产生输出一组I2C,这时就需要通过一个1扩2的芯片,产生2组I2C总线,设计中选用的芯片是74HC4052D。74HC4052D的数据选择信号I2C_SEL(选择是哪组I2C输出)可以由TMS320DM642的GPIO管脚实现,I2C接口连接如图3所示。
2.3 SDRAM接口的设计
TMS320DM642上有两个扩展内存接口总线,分别为EMIF-A和EMIF-B。EMIF-A有64位宽度,EMIF-B有16位宽度,最大总线速度为133MHz。EMIF有四个片使能,能够支持16Mb-256Mb SDRAM器件。EMIF接口最大可以支持1024M字节的外部存储空间。设计中根据编码模式及数据存储容量大小,选用了2块4M*32bit,133MHz速率的SDRAM。其中一块连接在TMS320DM642的数据线的31-0bit管脚上,另外一个SDRAM连接在TMS320DM642的数据的63-32bit管脚上。其接口连接图如图4所示。

图4 SDRAM与TMS320DM642的接口连接图
3.系统软件设计
系统软件设计包括前端A/D芯片初始化程序,基于TMS320DM642芯片的视音频驱动程序,编码算法、PCI驱动及CPU控制管理程序的编写。系统软件设计的模块框图如图5所示。

其中编码算法的编写是整个软件的核心技术之一,它直接影响到系统的功能特性及性能好坏。此编码系统设计中采用了MPEG4的编码算法,MPEG4的算法代码在网上是公开发布的。由于MPEG4的编码算法代码十分庞大,把MPEG4的编码算法代码移植到DSP芯片中,必须对编码算法进行代码优化。优化过程充分利用了TMS320DM642芯片的指令并行处理特点,使系统满足实时性的需求。
编码算法的优化是系统不可缺少的重要技术,编码算法优化中注意以下几点:
(1)编译工程文件时把编译选项打到-o3级别, -o3对文件级别进行最强的优化,这个选项可以使代码执行的并行性最好。
(2)先优化编码算法的C语言程序,根据语句的特点选择不同的方法优化C程序,比如:使用内联函数替代复杂的C语言程序,对短字长的数据使用宽长度的存储器访问,改进双循环体等。
(3)对于消耗时间最多,C语言级别优化效果不是很好的程序段,采用书写线性汇编的方式优化原文件。
(4)通过为指令分配功能单元、考虑指令的延迟和功能单元之间的配合以及合理分配使用32个寄存器,来优化线性汇编,写出高效的并行指令。但是此过程是很复杂的,如果此段代码已经达到了实时性的要求,就不需要这个过程了。
(5) 把一些在编码算法中消耗时间比较长的关键代码和数据放到第二级CACHE里,这样可以很大程度提高代码运行速度。
4.小结
TMS320DM642芯片具有强大的可编程性,基于TMS320DM642的图像编码系统的硬件平台是一个通用的硬件平台。利用DSP内部编程可以实现MPEG2、MPEG4、H.264等多种编码模式,所以利用TMS320DM642设计出的视频产品在灵活性方面绝对优于专门的视频编解码芯片。同时对于只能处理一路CIF的视频编码芯片来说,一个TMS320DM642芯片可以处理四路的CIF,即相当于四个编码芯片的处理能力,其硬件成本大大降低。在大量的工程实践和实际应用中,证实通过该编码系统编码再解码后的图像对于运动物体是很流畅的,停顿现象得到明显改善,图像的干扰波纹(如水波纹及斜纹)也明显减少。
参考文献:
[1] TMS320C64x Technical Overview, Texas Instruments Incorporated, January 2001
[2] TMS320C6000 Technical Brief, Texas Instruments Incorporated, February 1999
[3] 李方慧,王飞,何佩琨. TMS320C6000系列DSPs原理与应用(第二版).北京:电子工业出版社,2002.
[4] 彭启琮,李玉柏.DSP技术. 成都: 电子科技大学出版社,1997
|