交互式机顶盒、数字电视已经从分立器件结构发展到单芯片解决方案,这是数字大规模集成电路制造工艺技术进步的结果,也是最大限度降低系统成本的必然要求。现代单芯片解决方案的机顶盒一般集成有CPU、解复用、音频视频解码、二维图形处理、编码和外设端口等模块。为节省芯片面积、这些独立部分是通过总线方式连接在一起的。改进系统的性能,通常是提高CPU的速度、增强二维乃至三维图形的处理能力、增加外设端口的接口数目和类别等方
交互式机顶盒、数字电视已经从分立器件结构发展到单芯片解决方案,这是数字大规模集成电路制造工艺技术进步的结果,也是最大限度降低系统成本的必然要求。现代单芯片解决方案的机顶盒一般集成有CPU、解复用、音频视频解码、二维图形处理、编码和外设端口等模块。为节省芯片面积、这些独立部分是通过总线方式连接在一起的。改进系统的性能,通常是提高CPU的速度、增强二维乃至三维图形的处理能力、增加外设端口的接口数目和类别等方面着手,从而从总体上提高系统的交互处理能力。但由于视频解复用器和音频视频解码器对存取数据总线实时性要求严格,增加了CPU处理等待时间,形成了所谓的总线瓶颈。有关测试表明,总线瓶颈使得CPU的执行指令等待时间达到了76%,这种单纯依靠提高CPU性能来克服处理能力不足的方式,并不能提高性价比,而改善总线瓶颈可以通过改进或增加系统互联总线来完成,但这必将增加芯片制造中互联线的复杂度,从而增加成本。
除了总线瓶颈带来的问题外,随着用户对接入方式多样性以及图形图象处理要求的日益提高,通过电话线回传的交互式机顶盒、数字电视的窄带接入方式以及有限的计算能力也越来越不能满足人们的要求,随着有线HFC网的双向改造以及与电信网、互联网三网合一进程的加速,为用户加添Cable Modem CM、Ethernet等灵活可选的带宽接入方式以及增加高级2D乃至3D高级图形处理,便成为机顶盒应用的一个重要方面。
基于ST40GX1与STi5514的双CPU方案
为解决上面提出的问题,设计时可选择ST公司推出的基于STi5514单芯片解码器和ST40GX1二维图形处理器的双处理器解决方案,该方案避免了外设模块倍增带来的总线拥挤以及解码实时性要求带来的等待延迟。STi5541和ST40GX1内部都采用高速先进的STBus来实现互联,前者负责实时性要求较高的硬件解复用、视频音频解码、与解码相关联的外围I/O设备控制等。后者负责宽带交互式应用以及高级图形处理,两者之间的高速数据通信通过MPX(Memory Periheral Exchange)总线以及存储映射的邮箱(Mailbox)来进行,通过主频达100M赫兹的MPX总线,STi5514能直接存取ST40GX1上可高达256MB的DDR SDRAM存储资源。
◇ STi5514的功能特点及接口
STi5514主要用于完成MPEG-2视频、音频信号的解压缩。其内部集成了一个MP@ML标准清晰度的视频解码模块和一个杜比AC-3/AAC/DTS音频解码模块以及Video Encoder和Audio DAC模块等。内部32位RISC CPU工作主频为120M赫兹在外接V.90的硬件Modem条件下,可以通过电话线进行窄带交互式应用,如进行基于电话线回传的视频点播、低速Internet浏览等。
与ST公司早期推出的单芯片解码器STi5512相比,除一般功能接口相同外,其突出特点是:指令和数据缓冲都增加了一倍,同时并发处理三路TS(Transport Stream)流输入、支持多种解扰模式(包括DVB、DES、ICM、Fast-I),直接支持杜比AC-3/AAC/DTS音频解码,提供ATAPI硬盘电路接口,并直接支持Ultra-DMA66高速数据传送模式的硬盘以实现数字电视节目的实时录制,视频解码流可以以ITU-R601-656格式数据流输出或者以复合视频信号CVBS、分量信号RGB和YUV等不同模拟模式输出,支持Teletext解码输出,同时提供对两路SIM卡接口。利于扩展银行卡等高级应用。由于STi5514去掉了1394接口,故需外接1394控制器(如STE422等)来扩展基于1394的视频输入。
◇ ST40GX1的功能结构
ST40GX1内部集成有SH-4型32位RISC处理器内核,Gamma 2D图象处理,混合模块以及其他视频电路接口逻辑,ST40GX1是交互式应用的处理核心,它包括系统设备和外设两个方面:
(1)系统设备
ST40GX1的系统设备包括中央处理器(CPU)、用于DSP功能的浮点运算单元/加乘处理单元(FPU/Mac)、存储管理单元(MMU)以及DMA控制模块。其中,CPU为32位SuperH RISC,它采用2通道超标量体系结构,主频166M赫兹,16位指令定长(Load-Store结构),8KB直接指令缓存,16KB直接操作数缓存,并带有一个片上乘法器。而其存储器则支持4GB的存储空间,并支持单块或多块虚拟内存模式,页面的大小可以是1KB、4KB、64KB或1MB,此外,它还支持4通道全相关指令ITLB(Instruction Translation Lookaside Buffer)、64通道全相关指令以及操作数UTLB,同时支持软件控制的更新算法以及随机计数的更新算法,这为32位保护模式下的操作系统提供了完备的硬件平台,ST40GX1中的通用DMA控制器可支持5个通道的数据传输,其中4个通道可以用于存储器到存储器或存储器到外设之间的数据传送,另外一个通道为带缓冲的多路复合通道,同时支持2D块的搬动以及链表操作,片内两个通道的DMA握手信号和EMI接口信号还可用于MPX总线操作。
(2)外设接口模块
ST40GX1的外设接口模块包括通用接口模块和视频专用接口模块,其中通用接口模块包括两个与ST40系列处理器兼容的全双工异步串行通信端口、中断控制器、符合IEEE1149规范的调制控制器、实时时钟、4个用户可编程的PLL、24位输入输出方向可配置的并行I/O口,以及两个符合V1.1规范的USB主控制器和收发器、Modem模拟前端接口MAFE、两个可配置为支持I2C或SPI总线接口标准的同步串行控制器(SSC0和SSC1)、Teletext输入接口、两个使用异步协议的SmartCard接口、用于和外部微控制器通信的存储映射邮箱(Mailbox)、符合PCI2.1规范的PCI接口控制器、两路音频PCM输入接口和一路PCM输出接口等;而视频专用接口及处理模块则包括字视频输入端口和2D图象处理器,这两个CCIR601-656视频输出端口(DVP0,DVP1)可以同时输入VCbCr4:2:2格式的视频数据,并将其装入局部存储器。也可对没有内嵌同步信号的视频来根据SAV/EAV协议提供外同步信号支持,用户可以从输入的视频图像中设定视频捕获窗口以及活动窗口的子窗口。数字编码其(DENC)将数字视频流转换为标准的模拟基带PAL/SECAM/NTSC信号以及RGB和YUV模拟分量信号,如果在LMI上使用32位的DRAM,则可以获得RGB24位的数字视频流,2D图象处理器(或图像块传送引擎)拥有两个2D DMA图像数据输入源,可完成一整套强大的处理操作,除可完成普通2D图形加速功能外,还可完成不同图形格式(RGB/ YUV等)之间的转换,其中包括块填充、块拷贝、异步复合、色彩变换以及2D缩放处理等功能。
基于STi5514和ST40GX1的系统构成
根据STi5514和ST40GX1的功能特点,图1给出了本系统的总体结构方案。
◇ 前端解码部分
由于STi5514内置三路TS流解扰通道,故采用双路的Turner+STV0297QAM解调器同时解调两个频道的基于DVB-C的视频数据传输流,充分利用STi5514的硬件解扰、控制处理以及解码能力,可以实现画中画功能,其中Turner可以采用MicroTune的MT2040单芯片调谐器以节省空间和成本,此外,通过外接STE422,对IEEE1394接口输入提供支持。
◇ 后端解码部分
后端解码由STi5541完成,STi5514通过外接8MB共享的SDRAM完成在信道解调、解复用以及解码过程中所需要的存储资源,STi5514通过MPX总线共享位于ST40GX1 EMI接口上的16MBFLASH,通过ATA接口外接硬盘存储器以扩展VCR应用。STi5514解码后的符合ITU-R601_656标准的视频数据通过视频输出端口直接输入到ST40GX1的两路视频输入端口中的DVP0。STi5514向ST40GX1发送27M赫兹的像素时钟以及同步信号,以确保STi5514视频数据正确接收。
◇ 图形处理
当用ST40GX1处理二维图形时,可先用ST40GX1来接收来自STi5514的解码视频流,并经过插值、色彩空间坐标变换后,与网页浏览等其他视频进行透明度处理(Alphablending)、饱和度处理(Gamma Processing)等复合处理,从而形成统一的视频帧缓存数据,在通过内部的DENC将其编码为模拟电视能接收处理的复合视频信号CVBS、SVideo或分量信号RGB、YUV等输出。
由于ST40GX1只支持3.3V的PCI接口,故可通过Intel的SB21150BC来扩展3.3V或5V的PCI插槽;在需要3D图象处理的情况下,也可以通过外插PCI 3D图形加速卡来实现。
◇ 交互式应用的网络接口
交互式应用的硬件部分可由ST40GX1以及相应的网络接口完成。考虑到网络接口的带宽接入方式要求,设计时可利用ST40GX1对外部提供的PCI总线接口,并集成Cable Modem、Ethernet等高速接口。
(1)Cable Modem
首先选择符合Docsis1.1/Euro-docsis1.1规范的Cable Modem前端单芯片接口芯片 STV0396作为Cable Modem解决方案,这一部分既可以作为一个独立的PCI卡来设计,也可以将其直接嵌入母板上,STV0396是一个高度集成的调制解调系统,包括支持上行和下行符合DOCSIS1.1规范的物理层规范接口,媒体接入控制(MAC)以及功能强大的32位ST20 RISC处理器、PCI、EMI/MPX等与ST40GX1相兼容的外部接口。STV0396采用316管脚的GBA封装,除需外接双向调谐器外,还需要添加下行方向的声表面波滤波器(SAW、上行方向的线路放大器以及时钟等,才能实现与线缆头端设备CMTS之间的通信连接,其典型接口电路如图2所示。
(2)以太网接口
可选择基于RTL8139C的3.3V以太网芯片组作为接口芯片,这是因为芯片具有高度集成、在嵌入式系统中使用广泛以及10/100M自适应特性、自带PCI接口、在类Linux操作系统下驱动程序容易找到等优点。RTL8139采用128管脚的QPF/LQPF封装,可通过PCI总线接口与ST40GX1相连。
(3)V.90软件Modem的支持
对于V.90软件Modem的支持,可直接利用ST40GX1的Modem前端接口MAFE来完成。不使用硬件Modem可以充分利用ST40GX1的运算处理能力来降低成本。
系统的启动及通讯
ST40GX1与STi5514通过配置各自MPX总线接口的主/从(Initiator/target)方式来决定系统的启动顺序。在这里,由于系统启动代码位于ST40GX1局部FLASH中,故将ST40GX1配置为主(Initiator)将STi5514配置为从(target)。具体的启动顺序为:ST40GX1首先控制MPX总线并且先启动,在启动期间阻止STi5514使用MPX总线,直到其完全完成从Flash里面读取启动代码和初始化为止。接着ST40GX1利用MPX总线拷贝STi5514的启动程序以及应用程序代码到自己的LMI DDR内存中,拷贝完成后,ST40GX1释放并允许STi5514控制MPX总线,STi5514从ST40GX1的DDR SDRAM中拷贝自己的启动程序及应用程序代码,借鉴这一点,通过MPX总线可以实现多CPU之间的存储共享。
STi5514通过MPX总线可以访问ST40GX1上的Mailbox寄存器。Mailbox被固定映射于ST40GX1存储空间的基地址0x1B150000处,该寄存器对两个CPU都能产生中断信号。通过Malibox寄存器,ST40GX1与STi5514能实现进程同步、消息传递等进程间通信。