彭 锐,于鸿洋,张 萍
(电子科技大学 电子工程学院,四川 成都 610054)
近年来,数字机顶盒在国家大力推行下有了很大发展。预计国内数字机顶盒市场将在2010年达到全球第一,占全球数字机顶盒总消费量的80%[1]。因此,数字机顶盒发展具有很高的经济价值,而高清数字机顶盒是数字机顶盒中一种值得关注的发展趋势。
数字机顶盒的主要功能逻辑关系如图1所示[2]。
当数字机顶盒接收高频信号后,通过高频头对信号进行下变频,再通过A/D转换器进行转换后,用QAM/QPSK解调得到MPEG的传输流,解复用和分析PES流后就分别得到了视频、音频流,再通过解码、编码后变成模拟信号,通过输出口输出。
一个低成本的高清数字机顶盒设计主要包括数字广播电视接收前端、MPEG解码、音视频及图形处理、CPU、调制解调器和其他外围接口等。笔者用到的STi7109芯片是新一代的SoC芯片,它整合了CPU、编解码、音视频处理及图像处理等多项功能,可以大大提高开发周期,具体设计方案如图2所示[3]。
数字机顶盒数据流程主要是先从缆线把数字信号流(包括公开的和加密的)传给高频头,然后在芯片STb0468b芯片处进行QAM/QPSK解调处理,再传输到STi7109集成芯片完成如图1所示的解复用和PES流分组解析,产生对应的视频信号和音频信号。
软件是数字机顶盒的灵魂,它的设计合理性对数字机顶盒产品质量、产品的研发可持续性及可升级性,都产生重大影响。高清数字机顶盒软件可以从多个角度进行设计。
高清数字机顶盒与标清数字机顶盒软件的层次设计具有相似性,但是由于高清数字电视数据量要大的多,除了提高硬件本身的处理速度外,还要对软件层次进行修改,以提高代码的运行效率,降低CPU负荷。图3为高标清数字机顶盒软件设计方案对比[4]。
在高清数字机顶盒软件设计方案中取消了JVM中间固件,因为尽管Java程序编写相对容易,但是Java虚拟机运行速度太慢,增大了CPU负荷。同时,还要针对应用程序部分做更合理的设计,方便以后软件升级与改进。
应用软件设计是从两个方面进行的,分别为软件层次和软件模块功能。首先,把应用软件分成3层,即初始化层、中间接口层和分类的软件模块应用层[5](见图4)。
初始化层主要完成对板上的各种接口、总线、音视频编解码器以及其他板级等内容的初始化,包括对其各种寄存器参数的初始化,还有实例对象的初始化,如音视频的句柄等。
中间层的接口主要是对底层的一些实力对象进行包装后,让更上层的应用能直接调用中间层的函数,如设置音量大小和高频头的频率等。
各种软件应用模块主要是直接面向用户层,为用户提供相关服务的接口,比如可以通过选单显示出EPG的内容,通过网络实现互动点播等。
高清数字机顶盒软件系统的启动主要包括5部分:Bootloader、Linux内核、文件系统、动态加载部分驱动模块以及应用软件,如图5所示[6]。
软件的启动从Bootloader开始,当Bootloader完成一次对硬件最基本的初始化后,把控制权交给Linux内核,然后Linux操作系统再次对硬件初始化,并管理整个系统,最后动态加载一些驱动模块(这里是为了避免GNU的一些代码公开条例),运行高清数字机顶盒应用软件[7]。至此,整个软件系统就运行起来了。
重点讨论了高清数字电视机顶盒的软件系统设计,同时也结合了基于STi7109芯片硬件设计的一种解决方案,简单描述了数字机顶盒软件系统的启动过程。由于嵌入式Linux的开源性和强大的网络功能,相信基于嵌入式Linux的高清数字机顶盒将成为高清数字机顶盒未来发展的一个主流方向。
[1]甘育裕,陆列.嵌入式Linux在新型数字机顶盒中的应用[J].中国有线电视,2006(Z2):851-854.
[2]郭荣佐,郭进,黄君.数字电视机顶盒软件体系结构应用研究[J].电视技术,2008,32(5):28-30.
[3]ST company.STI7109-low-cost HDTV set-top box decoder for H.264 and microsoft WMA9-STMicroelectronics[EB/OL].[2010-02-02].http://pdf1.alldatasheet.com/datasheet-pdf/view/192665/STMICROELECTRONICS/STI7109.html.
[4]TAN Qiang,ZHOU Mengchu,LI Jingjian,et al.A brief overview of current TV set-top box developments[C]//Proc.IEEE International Conference on Systems,Man,and Cybernetics.[S.l.]:IEEE Press,1996:2127-2132.
[5]KAR M L,SO V,BROWN R W.Architecture of retail set-top box application platform for digital cable network[C]//Proc.International Conference on Consumer Electronics.[S.l.]:IEEE Press,2001: 306-307.
[6]HALLINAN C.Embedded Linux primer[M].London:Prentice Hall,2006.
[7]MOON S P,KIM J W,BAE K H,et al.Embedded Linux implementation on a commercial digital TV system[J].IEEE Transactions on Consumer Electronics,2003,49(4):1402-1407.