2 硬件接口
MAP-CA的硬件接口包括视频输入输出接口、音频输入输出接口、PCI总线接口、SDRAM接口、显示控制器接口、I2C接口、ROM控制器接口和标准的在线可编程JTAG接口等。
2.1 视频输入输出接口
MAP-CA有两个视频输入口和一个视频输出口。每一个输入口都支持MPEG-2传输通道接口(TCI)或者ITU-R BT.601/656信号格式。输出口支持ITU-R BT.601/656兼容信号。更让人称奇的是,这几个视频输入输出口还可以作为通用的数据传输端口。
在TCI接口模式下,视频输入接口可以按串行或者并行方式输入MPEG-2视频数据包。默认情况下,串行数据在tci_data[0]输入,并行数据在tci_data[7:0]输入,TCI接口能智能判断输入数据包中的同步位,或者利用外部的tci_sync信号同步输入数据。一旦检测到同步信号,MAP-CA就会把数据送到片内的存储器中。
对于ITU-RB RT.601/656的输入信号,外部只需另接一个视频编码器(如PHILIPS 公司的SAA7111A芯片)就可以把NTSC/PAL制式的信号转换成ITU-R BT.656信号,解码器还可以用系统自带的I2C总线来控制。视频输入输出接口支持单独的H/V同步(ITU-R BT.601)或者内嵌同步信号(ITU-R BT.656)信号,可以无缝地实现与NTSC/PAL视频编码器的接口。同样可以采用系统自带ITU-R BT.656的I2C总线来控制NTSC/PAL视频编码器。
作为通用数据传输端口(GPDP)时,可以像普通的数据端口一样,进行8位数据的并行输入输出。再加上一个时钟和一对握手信号,这个接口提供了多个MAP信号处理器连接的另一种实现方式。这个数据端口支持的最高数据传输率可以高达60Mbps。
2.2 音频输入输出接口
MAP-CA支持多种音频接口格式。它有一个IEC958音频接口和一个I2S接口。其中IEC958 音频接口支持索尼、飞利浦数字接口S/PDIF、AES/EBU接口、TOSLINK接口。I2S接口主要用在家庭影院中高质量的音频D/A转换器上,MAP-CA的I2S接口符合标准的串行协议,最多可以接3个立体声DAC和一个ADC,支持48KHZ、44.1kHz和32KHZ的音频采样频率。该接口还支持主、从两种工作模式。
2.3 PCI总线接口
MAP-CA的PCI总线接口与PCI 2.1规范完全兼容,最高数据传输率高达66Mbps。PCI接口中的配置寄存器在芯片上电时由ROM控制其初始化。MAP-CA的PCI接口作为PCI总线的目标设备时,通过PCI接口可以访问MAP-CA内部的SDRAM,还可以访问一些相对程序员透明的控制寄存器、PIO空间等。作为PCI主控器,PCI接口可以用超长指令字内核(VLIW core)、协处理器来初始化PCI总线请求,还可以发起内存、I/O和配置命令。MAP-CA可以作为PCI总线上的主机。它有三对申请/应答信号线,使得在多处理器系统应用中最多可以有4个MAP-CA同时接到PCI总线上而不需要任何中间转接装置。MAP-CA是一个单一3.3V供电的器件,如果在5V PCI总线结构系统中使用,需要一个3.3V~5V的电平转换芯片即可。 2.4 SDRAM接口
SDRAM接口控制单元最多允许用户外接128MB的SDRAM,而不需要任何外部逻辑。外部的PCI主设备还可以通过PCI接口单元的地址译码单元来访问SDRAM。存储控制接口还包括一个可编程硬件单元,可以实现数据从存储器到存储器、从存储器到高速缓存的传送、排队等操作。片内的锁相环产生存储控制单元的时钟信号,并利用这个时钟实现MAP-CA与SDRAM的同步,极大地方便了CPU核与各种速度不同的存储器的匹配。
2.5 显示刷新控制器接口
显示控制器接口(DISPLAY Refresh Control,DRC)里有很多高档的图形显示技术,复杂视频混合、2D图像混合、导航服务都在显示硬件接口里得到了很好的实现。该接口还支持色彩空间转换、图形γ校正,输出的格式有YcbCr和RGB两种。DRC支持的最大分辨率是1280×1024。当时钟频率达到108MHz时,可以支持16位象素格式。 2.6 I2C 接口单元
I2C总线是PHILIPS公司开发的一种串行通信总线。它利用两根双向线(数据线SDA、时钟线SCL)实现器件与器件之间(IC与IC之间,简称I2C:integrated-CIRCUIT INTERFACE CIRCUIT)的串行通信。MAP-CA既可以作为I2C总线上的主机,又可以作为从机来与外部I2C总线设备交换地址数据信息。与一般的I2C接口不同的是,MAP-CA还附加一条选择输出线iic_select,可以通过软件来控制外部的复用电路或者电平转换器,使这个接口可以选择是否作为I2C总线来使用。这条选择输出线还可以作为普通输出线来使用。 2.7 ROM控制器接口
ROM控制器接口单元(ROMCON)有以下四种不同的功能:
·作为MAP-CA的配置和启动电路的接口,在系统启动时读取系统配置并启动程序。
·作为FLASH ROM接口,控制片外FLASH ROM的读写操作。
·作为中断控制和仲裁逻辑,控制软件和硬件产生的VLIW核及PCI总线中断的使能、设置和清除。
·作为内部可编程寄存器的访问接口,可以实现对内部可编程寄存器的访问。
2.8 JTAG接口
MAP-CA 支持标准的IEEE 1149.1边界扫描测试端口,可以很方便地实现在线调试。当没有使用JTAG接口时,应将TCK和TRST管脚接地。
3 软件开发
MAP-CA可以完全用C语言编程,不需要任何低级语言。为此,赤道技术公司提供了一套名叫iMMediaTools的软件开发包,其中包括一个优化的并行C语言编译器、FIRtree媒体本质扩展C语言、汇编器、连接器、源代码调试器、两个虚拟机仿真器和分类的库函数。为了方便视频图像的处理,Equator 公司特别提供了一系列用于视频处理的媒体库参考源代码软件包,包括常用的MPEG-2编码和解码模块、MPEG-4编码和解码模块,H.263+编码和解码软件模块以及MPEG音频编解码模块。
3.1 C编译器
MAP-CA开发系统包括带有FIRtree媒体本质扩展 C语言的iMedial C编译器。FIRtree是专门的单指令多数据流形式的高速媒体处理扩展语言。这个C编译器运用了大量的优化和全局配置技术,把涉及硬件的操作留给编译器完成转换,从而使编程人员不需要使用费时费力的汇编语言就可以完全发挥硬件的全部性能。
使用C语言编程可以节省开发费用、加快产品开发的周期、降低系统成本、减少维护时间,而且十分方便软件的升级。整个编译器使用一系列复杂的内嵌扩展、定义和频率跟踪算法,更好地实现了代码的高效性。而相对编程人员来说,面对的还是熟悉的集成开发环境(IDE)。在这个集成开发环境中,可以进行编辑、检查、测试、装配和连接源程序代码。
3.2 FIRtree媒体本质语言
FIRtree媒体本质扩展C语言一次从数据存储器中读取128位字的数据。这个120位字的数据中可以包括很多32位或者64位的操作数,它只需要两个额外的寄存器来存储立即数,即可同时并行执行这些数据单元中的指令。
3.3 库函数
iMMediaTools软件开发包提供了标准的C语言运行库和专门支持MAP-CA处理器内部资源(数据流容器和可变长度编码协处理器等)的函数库包。
在一个实际系统中,MAP-CA宽带信号处理器可以有主模式和非主模式两种。主模式中,MAP-CA作为系统PCI总线上的主机,控制外围器件,组成一个独立的系统。非主模式通常把整个应用系统作为PC机的一个通用PCI插卡,PC主机可以运行WINDOWS NT、WINDOWS 2000或者RED HAT LINUX等操作系统。为了方便应用,这里给出了一个通用的接口模式,是非主模式的情况,可以满足大部分系统的需要。
输入的模拟视频信号(S-Vvieo或者CVBS)经过视频编码器SAA7111A进行模数转换和数据格式处理后,得到标准的ITU-R BT.656格式的数字视频流送给MAP-CA处理,通过Equator公司强大的软件支持,可以实现视频的各种操作,如MPEG-2、MPEG-4压缩处理等。ITU-R BT.656格式输出的视频信号可以通过PHILIPS公司的视频编码器SAA7121进行数模转换和格式变换,变成符合国际标准的NTSC/PAL制式的S-VIDEO电视信号的输出。另外还有一个SVGA兼容的RGB输出端口,可以直接与计算机显示器相连接。音频输入信号IIS输入输出总线经过音频数模转换器CS4334和模数转换器CS5331A与外部的音频信号连接。另外系统外接27MHZ的压控晶体振荡器,作为音频与视频编码时的同步时钟;4MB的FLASH ROM存储器作为系统的启动电路和非易失存储器;还接有128MB的PC133 SO-DIMM SDRAM内存,作为系统程序运行和变量存储的地方。