|
宽带多媒体数字信号处理器——MAP-CA
|
Broad Band Mullimedia DSP MAP-CA
|
■清华大学电子工程系 张旭东 张海昆 杨守峰
|
近年来,高速DSP(Digital Signal Processor)发展很快,尤其是VLIW(超长指令字)结构成为高端DSP的主流技术,
除了传统的通用DSP产品采用VLIW技术外,针对多媒体应用的专门化通用可编程DSP也有了长足进展,例如Philips的Tri-Media系列和Equator的MAP_CA系列等,在我国都已经开始应用于多媒体系统设计中,
本文以MAP_CA为例,分析一下这类多媒体处理器的特点和应用。
MAP-CA(Media Accelerated Processor for Consumer Appliances)是美国EQUATOR公司继MAP1000、MAP1000A以后推出的一款高集成度的宽带专用数字信号处理芯片。它特别适合应用于多媒体信号处理的各种产品当中,如机顶盒、数字电视、视频会议系统、医用图像产品、数字视频编辑设备和办公自动化产品等。MAP-CA是针对MPEG1、MPEG2、JPEG、H.263等图像编码技术以及语音编码技术而专门设计的。由于多媒体信号处理的核心工作都是基于MAP-CA的软件平台,因此,我们可以方便地通过增加、删除或者增强一些功能模块来对我们的最终系统进行改进。所以,MAP-CA是多媒体信号处理应用的一个现成有效的解决方案。
MAP-CA性能指标
MAP-CA是一款可工作在300MHz频率下的定点数字信号处理器,运算能力可以达到1800MIPS或30GOPS(针对视频编码)。同时,作为视频及语音的专用信号处理芯片,MAP-CA还具有丰富的视频、语音信号接口。处理器内部也针对视频和语音编解码操作做了优化处理。这使得MAP-CA在视频和语音信号处理方面具有相当大的优势。
表1列出了三种常用的数字信号处理器的性能比较结果。
MAP-CA结构概述
图1示出了MAP-CA的结构框图。
MAP-CA的内部具有一个高度流水线的超长指令字(VLIW)结构的CPU内核,每个时钟周期可以进行4次操作。具有支持32比特、64比特和128比特的数据运算单元;MAP-CA拥有比较大容量的片内存储器,包括32KB的指令存储器和32KB的数据存储器,同时提供对片外存储器的支持;它具有一个非常高性能的DMA控制器(DataStreamer),提供对PCI总线的支持;具有一个可进行变长编解码的协处理器(VLx)、以及视频滤波(Video
Filter)协处理器;此外,还提供了32位I/O总线和丰富的I/O接口。
MAP-CA的CPU内核
MAP-CA的VLIW结构CPU内核可以并行执行四个操作,支持8、16、32、64比特等多种数据格式的单指令多数据操作(SIMD operation)。
MAP-CA有四个功能单元:两个I运算单元(I-ALU)和两个IG运算单元(IG-ALU)。I运算单元可以进行32比特整型运算、逻辑操作(逻辑操作的结果被送到通用寄存器或预测寄存器中)、地址运算和索引、跳转、系统控制等操作。IG运算单元可以进行32比特整型运算(同I运算单元)、逻辑操作(同I运算单元)、64比特整型运算、移位操作、64比特的SIMD操作(数据形式包括8比特、16比特和32比特等,操作可以实现选择、比较、乘加、复乘等)、128比特的SIMD操作(数据形式包括8比特、16比特和32比特等,可以实现如FIR操作等一系列专门操作)。
同时,MAP-CA有128个32比特寄存器(可用作64比特寄存器);32个单比特预测寄存器和8个专门的128比特寄存器。128比特寄存器是专门用来配合IG运算单元,实现FIR滤波器、SAD、FFT、ADD、DCT、以及其他专门整型操作的。
MAP-CA的存储器结构
MAP-CA包含有片内存储器,也可以通过PCI总线对外部SDRAM进行存取操作。
片内存储器包括为VLIW核提供的32KB指令存储器和32KB数据存储器;以及为VLx协处理器提供的4KB数据存储器和4KB指令存储器;还包括为Video
Filter协处理器提供的6KB缓存。这些存储器都可以被MA-PCA的高效DMA控制器(DataStreamer)直接访问,也可以被外部设备通过PCI而访问到。MAP-CA的片内32KB指令存储器和32KB数据存储器除了具备片内存储器的功能外,还可以用作高速缓存(cache)。数据存储器支持每周期64位存取。
除了片内存储器以外,MAP-CA还可以外接SDRAM。MAP-CA的SDRAM控制器最高可以支持速率为150MHz的高速SDRAM,支持的最大容量为128MB。
MAP-CA的数据总线和控制器
MAP-CA的内部数据总线叫做Data Transfer Switch(DTS)。它是64位的数据总线,具有高速的桥、仲裁和总线管理功能,可以支持多种媒体的同时应用。
MAP-CA的DMA控制器叫做DataStreamer,它将MAP-CA的片内存储器、外接SDRAM、PCI总线和IO接口都联系在一起。DataStreamer是一个非常高效的DMA控制器。它最多可产生64个长度可变的缓存区,并且最多可以同时实现64个数据通道,提供包括内存到内存、内存到IO、IO到内存等的存储器访问控制。
MAP-CA还提供了对PCI总线接口的支持,可以实现符合PCI 2.1规范的33比特、66MHz的PCI接口。MAP-CA既可以被设置为PCI总线的主设备,也可以被设置为PCI总线的从设备。
MAP-CA的协处理器结构
为了增强代码的并行性,并且更好的对视频编码算法进行优化,MAP-CA增加了两个专门为视频算法设计的协处理器:变长编解码(VLx)协处理器和Video
Filter协处理器。
VLx协处理器可以与VLIW内核协调工作,增加代码的并行性。特别是在图象编解码当中,可以用来进行变长编、解码的运算。使用了VLx协处理器,在JPEG、MPEG、H.263、JBIG和DV等算法上均可以实现加速。
Video Filter协处理器,将4:2:0或4:2:2的YUV视频码流作为输入,可以实现滤波、卷积等算法(如4列 5行、3列 5行等)。最终输出YUV4:4:4的视频码流给监视器。
MAP-CA的I/O总线和I/O接口
MAP-CA具有为多媒体信号处理而设计的32位I/O总线和丰富的媒体I/O接口。这些IO接口包括:
视频接口:提供两路视频输入接口,一路视频输出接口。两路视频输入接口可以分别或同时是数字视频广播(DVB)的TCI格式或者ITU-R
BT.601/656格式。视频输出接口是ITU-R BT.601/656格式。
音频接口:提供了IIS以及IEC958的音频接口。
显示刷新控制(DRC)接口:可以用作色度空间变换、调色板列表查询、以及产生视频输出的叠加输出信号。
110MHz的RAMDAC接口:在G信号上提供同步,用于外接模拟RGB监视器。
此外,还提供了用于视频输入输出控制的IIC接口、用于MAP-CA启动的FlashROM接口、用于调试的IEEE JTAG接口、通用数据接口GPDP、以及前面提到的外接SDRAM接口和33MHz/66MHz
32比特PCI接口。
基于MAP-CA的多媒体信号处理子系统的硬件结构
基于MAP-CA的多媒体信号处理子系统实现对视频、语音信息的采集、编解码和播放功能。如图2所示是作者实验室设计并实现的一个利用MAP_CA作为处理核心的多媒体信号处理系统,该子系统根据实现功能的不同,可划分为9个功能模块,它们是:核心处理模块、视频输入模块、视频输出模块、音频输入输出模块、VGA显示模块、存储器模块、FlashROM模块、PCI总线模块和电源模块。
多媒体信号处理子系统的整体工作模式取决于核心处理器的工作模式。在我们的系统当中,嵌入式控制子系统工作在主模式下。相应的,多媒体信号处理子系统工作在从模式下,接受来自嵌入式控制子系统的控制。
多媒体信号处理子系统的工作流程开始于视频和音频信息的采集。视频信息支持S_VIDEO、复合电视信号、有线电视信号的采集,通过PHILIPS的SAA7111A芯片解码为ITU-R.656格式的视频信号,提供给核心处理模块。语音信号的采集是通过TI的TLC320AD77C芯片实现的,通过IIS接口与核心处理模块通信。
核心处理模块为Equator的MAP-CA宽带数字信号处理器。它的主要功能是语音、视频信号的编码和解码。其中,语音的编、解码采用改进的GSM编码方案;视频的编、解码采用清华大学多媒体信号处理实验室(MSPLab)在H.263标准基础上,改进的DIPMEQ算法。核心处理模块的另一个主要功能是与嵌入式控制子系统的通信。我们采用PCI总线将两个子系统互联,多媒体信号处理子系统通过PCI总线将编码后的语音和视频数据传送给嵌入式控制子系统,并从嵌入式控制子系统接受存储过的语音、视频压缩数据。
视频输出支持S_VIDEO、复合电视信号输出以及RGB Monitor的输出。视频输出的编码芯片采用PHILIPS的SAA7121芯片,可以将核心处理模块提供的ITU-R.656格式视频信号转换为S_VIDEO和复合电视信号输出。语音信号的输出,仍旧通过TI的TLC320AD77C芯片实现。
通过这个系统的研制,验证了MAP_CA用精心编制的视频编解码软件,可以达到对PAL信号的CCIR601(704*576)分辨率下,对类似H.263的视频编码可以达到25帧/秒的实时性能,可以用于多媒体通信的编解码终端。
|
|