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