摘 要:BSP-15是美国Equator公司专门以视频应用为中心而设计的新款宽带数字信号处理器。本文描 述了BSP-15处理器的硬件结构、功能特点和硬件I/O接口,介绍了其软件开发工具iMMediaTools及其开发环境,提出了宽带应用中BSP-15单芯片解决方案,并给出了应用实例。
关键词:BSP-15;宽带数字信号处理;I/O接口;iMMediaTools
在多媒体信号处理领域,特别是视频处理方面,通常要求数字信号处理器具有针对多媒体应用的优化的内核结构和丰富的媒体接口,通用信号处理器在这方面性能得不到充分发挥,为此,美国Equator公司推出了BSP系列高速宽带数字信号处理器BSP系列。BSP-15是该系列中的一款,与MAP-CA反向兼容。BSP-15是专门以视频应用为中心而设计的高效DSP,以高度集成的单芯片满足了宽带产品的需要。在400MHz的时钟频率下,BSP-15处理能力为40
GOPS(每秒400亿次整数运算),处理速度相当于Pentium III的8.5倍,是同系列MAP-CA芯片的1.33倍,是其它解决方案的10倍以上。由于BSP-15核心功能是通过软件为高性能、大视频流的宽带应用而设计,结合iMMediaTools软件开发环境及其提供的视音频库,BSP-15为数字视频图像应用提供了高效的解决途径。BSP-15处理器在高性能的宽带应用产品如机顶盒、数字电视、视频会议系统、医疗图像产品、数字视频编辑系统和办公自动化等有着广泛的应用前景。
系统功能框图
BSP-15宽带信号处理器内部框图如图1所示。BSP-15主要由一个超长指令字处理器内核(The VLIW core)、一个可编程位流协处理器(The
VLx)、视频滤波协处理器(VF)、片内存储器、显示刷新控制器(DRC)和大量可用的数字I/O接口组成。
BSP-15支持各种用软件实现的视频、图像以及其它信号的压缩和解压缩。由于多媒体信号处理的核心工作都是基于BSP-15的软件平台,因此,我们可以方便地通过增加、删除或者增强一些功能模块来对最终系统进行改进。这种软件实现的算法相对硬件实现有很大的优越性,升级非常方便。
图1 BSP-15功能框图(略)
BSP-15芯片的功能特点
区别于通用DSP,宽带信号处理器BSP-15具有以下几个突出的特点:
(1)高度流水线的超长指令字(VLIW)处理器
VLIW核内有4个整数型ALUS,2个64位 SIMD(单指令多数据) ALUS,2个专为多媒体运算而设计的128位SIMD ALUS。VLIW核每个指令周期可并行执行4步操作,并且支持8位、16位、32位、64位数据类型独立的SIMD运算。VLIW带有较大容量的片内存储空间,包括32个1位预寄存器,8个128位专用寄存器,128个32位通用寄存器(能奇-偶配对成64个64位通用寄存器使用)。
(2)先进的高吞吐量存储器组织
指令通过一个32KB的2通道指令缓冲器,以LRU取代机制被送到VLIW处理器。指令以压缩的格式被存储,数据则通过一个32KB的4通道,4层交叉存取的数据缓冲器,以LRU机制被送到VLIW处理器。独立的指令、数据和DMA存储器管理单元(MMU)相互分开,各有一个完全组相联的、16个条目的转换旁视缓存器起存储器保护作用。片外存储器通过一个高速的64位SDRAM/SGRAM接口接入,最高支持128MB片外存储器。
(3)专用的协处理器
BSP-15增加了两个专门为视频算法设计的协处理器:变长编解码(VLx)协处理器和视频滤波(VF)协处理器。VLx协处理器带有4KB的指令存储器和4KB的数据存储器,用来处理可变长度的编码/解码和视频滤波。视频滤波协处理器VF带有6KB缓存,为空闲的视频输出口以及存储器之间提供2D图像滤波、格式转换等图像处理功能。DataStreamer是一个带有8KB缓冲,可编程的64通道DMA控制器,用于提供数据高速地输入输出,为多媒体的大数据量提供了足够的带宽保证。
(4)丰富的媒体接口
针对多媒体信号处理而设计的优化的内核以及丰富的I/O接口,为多媒体信号尤其是视频信号处理为中心的设计提供了一个强大而又方便的解决方案。
硬件I/O接口
BSP-15的硬件接口包括视频输入输出接口、音频输入输出接口、RGB接口、PCI总线接口、SDRAM接口、显示控制器DRC接口、I2C接口、ROM控制器接口和标准的在线可编程JTAG接口等。
视频输入输出接口
BSP-15有两个视频输入口和一个视频输出口。每一个输入口都支持MPEG-2传输通道接口(TCI)或者ITU-R BT.601/656信号格式。输出口支持ITU-R
BT.601/656兼容信号。另外,这几个视频输入输出口还可以作为通用的数据传输端口。
在TCI接口模式下,视频输入接口可以按串行或者并行方式输入MPEG-2视频数据包,支持最高数据传送率80Mbps(串行)或30Mbps(并行)。默认情况下,串行数据在tci_data[0]输入,并行数据在tci_data[7:0]输入。当然,通过对PIO编程这些定位可以交换。TCI接口能智能判断输入数据包中的同步位,或者利用外部的tci_sync信号同步输入数据。一旦检测到同步信号,BSP-15就会利用DataStreamer
DMA控制器把数据送到片内的存储器中。
对于ITU-RB RT.601/656的输入信号,外部只需另接一个视频编码器(如Philips公司的SAA71l3芯片)就可以把NTSC/PAL制式的信号转换成ITU-R
BT.656信号,解码器还可以用系统自带的I2C总线来控制。视频输入输出接口支持单独的H/V同步(ITU-R BT.601)或者内嵌同步信号(ITU-R
BT.656)信号,在BSP-15上通过软件实现的视频后置滤波可以无缝地实现与NTSC/PAL视频编码器的接口。同样可以采用系统自带ITU-R
BT.656的I2C串行总线来控制NTSC/PAL视频编码器。
GPDP作为通用数据传输端口时,可以像普通的数据端口一样,进行8位数据的并行输入输出,再加上一个时钟和一对握手信号,这个接口提供了将多个MAP信号处理器以更高的带宽连接的另一种实现方式。这个数据端口支持的最高数据传输率可以高达60
Mbps。
音频输入输出接口
BSP-15支持多种音频接口格式。它有一个IEC958音频接口和一个I2S接口。IEC958音频接口支持索尼、飞利浦数字接口S/PDIF、AES/EBU接口、TOSLINK接口。I2S接口主要用在家庭影院中高质量的音频D/A转换器上,BSP-15的I2S接口符合标准的串行协议,最多可以接3个立体声DAC和1个ADC,支持48KHz、44.1KHz和32KHz的音频采样频率。该接口还支持主、从两种工作模式。在从工作模式下,可以选择外部激励信号或内部自身产生的信号作为采样频率时钟。
RGB接口
BSP-15有一个模拟RGB接口和一个数字RGB口。模拟RGB接口最高支持1280 1024的分辨率。RGB模数转换器DAC为显示刷新控制器模块的一部分。8位的DAC允许的像素时钟速率达110MHz。BSP-15产生RS-343A兼容监视器信号,可以驱动标准的SVGA监视器。RGB数字接口支持12/18和24比特的视频流。
PCI总线接口
BSP-15的PCI总线接口与32位的PCI 2.2接口规范完全兼容,最高数据传输率高达66 Mbps。PCI接口中的配置寄存器在芯片上电时由ROM控制其初始化。BSP-15的PCI接口作为PCI总线的目标设备时,通过PCI接口可以访问BSP-15内部的SDRAM,还可以访问一些相对程序员透明的控制寄存器、PIO空间等。作为PCI主控器,PCI接口可以用超长指令字内核、协处理器来初始化PCI总线请求,还可以发起内存、I/O和配置命令。BSP-15可以作为PCI总线上的主机。它有三对申请/应答信号线,使得在多处理器系统应用中最多可以有4个BSP-15同时接到PCI总线上而不需要任何中间转接装置。PCI接口有2根独立的中断线,如果BSP-15工作在从模式,则任何内部中断可以被发送到PC的任何中断上面,反之如果BSP-15工作在主模式,则PCI中断被BSP-15采样获取,并被发送到BSP-15的VLIW核进行处理。BSP-15同时支持3.3V和5V的PCI接口电压,而Equator的另一款宽带数字信号处理器
MAP-CA则是一个单一3 .3V供电的器件,如果在5V PCI总线结构系统中使用,需要一个3.3V-5V的电平转换芯片。
SDRAM接口
SDRAM接口控制单元最多允许用户外接128MB的SDRAM,而不需要任何外部逻辑。外部的PCI主设备还可以通过PCI接口单元的地址译码单元来访问SDRAM。存储控制接口还包括一个可编程硬件单元,可以实现数据从存储器到存储器、从存储器到高速缓存的传送、排队等操作。片内的锁相环产生存储控制单元的时钟信号,并利用这个时钟实现BSP-15与SDRAM的同步,极大的方便了CPU核与各种速度不同的存储器的匹配。
显示刷新控制器DRC接口
显示控制器接口(Display Refresh Control,DRC)里有很多高档的图形显示技术,复杂视频混合、2D图像混合、导航服务都在显示硬件接口里得到了很好的实现。该接口还支持色彩空间转换、图形校正,输出的格式有YcbCr和RGB两种。同DataStreamer和VF共同工作,DRC还能支持高级显示模式,比如PIP(picture
in picture)。
I2C接口
I2C总线是Philips公司开发的一种串行通信总线,用于视频输入输出控制。它利用两根双向线(数据线SDA、时钟线SCL)实现器件与器件之间(IC与IC之间,简称I2C)的串行通信。BSP-15既可以作为I2C总线上的主机,又可以作为从机来与外部I2C总线设备交换地址数据信息。与一般的I2C接口不同的是,BSP-15还附加一条选择输出线I2C_select,可以通过软件来控制外部的模拟复用电路或者电平转换器,在I2C总线和其他的外部总线比如监视器接口的DDC总线之间切换,使这个接口可以选择是否作为I2C总线来使用。这条选择输出线还可以作为普通输出线来使用。
ROM控制器接口
ROM控制器接口单元(ROMCON)有以下四种不同的功能:
(1)作为BSP-15的配置和启动电路的接口,在系统启动时读取系统配置并启动程序。
(2)作为FLASH ROM接口,控制片外FLASH ROM的读写操作。
(3)作为中断控制和仲裁逻辑,控制软件和硬件产生的VLIW核及PCI总线软、硬中断的使能、设置和清除。
(4)作为内部可编程寄存器的访问接口,可以实现对内部可编程寄存器的访问。PLL I/O提供了PIO对可编程寄存器的访问,可以通过ROMCON内的PIO寄存器间接对3个PLL(VILW核/SDRAM,象素,音频时钟)进行编程。
JTAG接口
BSP-15支持标准的IEEE 1149.1边界扫描测试端口,可以很方便地实现在线调试。当没有使用JTAG接口时,应将TCK和TRST管脚接地。
软件开发包iMMediaTools
BSP-15完全可以使用C语言编程,不像现今许多DSP系统需要汇编语言来帮助设计。为了加快系统和软件开发速度,Equator公司提供了一套名叫iMMediaTools的软件开发包,其中包括一个优化的专用于VLIW核的C/C++语言编译器及一个额外的用于VLx协处理器的C编译器、FIRtree媒体本质扩展C语言、汇编器、连接器、源代码调试器、两个虚拟机仿真器(sim/casim)和分类的库函数。IMMediaTools
5.5可以运行在装有Windows 2000,Windows NT和RED HAT Linux操作系统的PC机上,6.0版本还可以运行在Windows
Xp上。为了方便多媒体信号的处理,Equator公司及其软件合作伙伴特别提供了一系列用于视音频处理的媒体库参考源代码软件包,包括常用的JPEG、MPEG
1/2 /4编码和解码模块,H.263+和H.264编码和解码模块、Windows Media9 Series编解码模块以及MPEG、MP3、G.729音频编解码模块等等。
iMMediaC编译器
BSP-15开发系统包括带有FIRtree媒体本质扩展C语言的iMMediaC编译器。FIRtree是专门的单指令多数据流形式的高速媒体处理扩展语言。FIRtree媒体本质扩展C语言一次从数据存储器中读取128位字的数据。这个128位字的数据中可以包括很多32位或者64位的操作数,它只需要两个额外的寄存器来存储立即数,即可同时并行执行这些数据单元中的指令。由于iMMediaC编译器运用了大量的优化和全局配置技术,把涉及硬件的操作留给编译器完成转换,从而使编程人员不需要使用费时费力的汇编语言就可以完全发挥硬件的全部性能。
使用C语言编程可以节省开发费用、加快产品开发的周期、降低系统成本、减少维护时间,而且十分方便软件的升级。整个编译器使用一系列复杂的内嵌扩展、定义和频率跟踪算法,更好地实现了代码的高效性。而相对编程人员来说,面对的还是熟悉的集成开发环境(IDE)。在这个集成开发环境中,可以进行编辑、检查、测试、装配和连接源程序代码。
此外,iMMediaTools软件开发包提供了标准的C语言运行库和专门支持BSP-15处理器内部资源(数据流容器和可变长度编码协处理器等)的函数库包。
BSP-15单芯片系统
BSP-15通常作为主处理器用于单芯片系统。iMMediaTools为BSP-15单芯片应用系统开发提供了良好的开发环境。图2是其开发和调试环境。在主机侧,Equator公司提供iMMediaTools主工具组以及可选的第三方开发工具;在目标侧,Linux或eCos操作系统同GNU调试服务器一起运行在BSP-15处理器上。
BSP-15协处理器系统
当BSP-15作为视频协处理器,同其他的主处理器如ARM、MIPS或者X86运行在不同的操作系统如Linux、Windows
CE.NET上时,BSP-15就会发挥强大的媒体加速处理能力。
协处理器系统允许重复使用已经存在于另外一个处理器平台上的应用程序,因而能够缩短产品开发周期。iMMediaTools为构建协处理器系统提供了高级支持。上述系统可以是将BSP-15作为另一个主处理器的协处理器的嵌入式系统,在主处理器上运行Linux或Windows
CE.NET等操作系统。图3是Windows CE.NET协处理器系统调试开发环境。图中运行在BSP-15上的ETIComm为BSP-15提供内处理器的通信协议和PCI驱动,Windows
CE.NET主机这边的Comm驱动器为主机侧的应用程序访问BSP-15提供接口。
图3 BSP-15协处理器系统调试开发环境(略)
应用实例
在一个实际应用系统中,BSP-15宽带数字信号处理器可以有主/从(master/slave) 两种模式。主模式中,BSP-15作为系统PCI总线上的主机,控制外围器件,组成一个独立的系统。从模式通常把整个应用系统作为PC机的一个通用PCI插卡,PC主机可以运行Windows
2000、Windows NT和RED HAT Linux操作系统。为了方便应用,这里给出了一个通用的接口模式,是从模式的情况,可以满足大部分系统的需要。用BSP-15宽带数字信号处理器设计一个视频信号处理卡,原理框图如图4所示。输入的模拟视频信号(S-VIDEO或者CVBS)经过视频编码器SAA7113进行模数A/D转换和数据格式处理后,得到标准的ITU-R
BT.656格式的数字视频流送给BSP-15处理,通过Equator公司强大的软件支持可以实现视频的各种操作,如MPEG-2、MPEG-4压缩处理等。ITU-R
BT.656格式输出的视频信号可以通过Philips公司的视频解码器SAA7121进行数模D/A转换和格式变换,变成符合国际标准的NTSC/PAL制式的S-VIDEO电视信号的输出。另外还有一个SVGA兼容的RGB输出端口,可以直接与计算机显示器相连接。音频输入信号I2S输入输出总线经过音频D/A转换器CS4334和A/D转换器CS53L32A与外部的音频信号连接。另外,系统外接27MHz的晶体振荡器,作为音频与视频编码时的同步时钟;4MB的FLASH
ROM存储器作为系统的启动电路和非易失存储器;还接有128MB的PC133 SO-DIMM SDRAM存储器,作为系统程序运行和变量存储的地方。
图4 BSP-15从模式应用原理图(略)
结束语
Equator BSP-15不仅仅是传统上的处理器或DSP,更是一款用于多媒体信息处理特别是视频处理的片上系统芯片。我们选用BSP-15芯片进行视音频的系统设计具有3方面优势:(1)BSP-15
是专为视频图像处理而设计的,能够提供高质量的视频效果;(2)BSP-15具有丰富的片上I/O接口,不必添加过多的外围设备,因而可以降低整个系统的成本和设计的复杂度;(3)100%C语言编程,没有汇编语言要求,升级方便,灵活性高。与同系列的TI
DSP及Philip的Trimedia 系列DSP相比,BSP-15不足之处是软件开发难度要大些,稳定性也被怀疑。但由于出色的处理性能,BSP-15处理器在消费电子产品、视频会议、数字图像处理等方面仍将占有较大的市场。
|