DVB-C机顶盒的软件总体设计
DVB-C机顶盒软件实现方案基于稳定性、可靠性和可扩展性的原则进行设计,所有软件系统应该达到功能完备,使用简便和便于扩充几个特性。跟据上述分析,机顶盒软件体系结构如图2所示。
图2机顶盒软件模块层次图
整个机顶盒软件的结构采取开放式的模块化结构。其中硬件抽象层可以增加软件的硬件无关性;操作系统抽象层用于实现操作系统层的可移植性,以支持多种RTOS;中间件移植层用于各种商业化的中间件软件的移植。从底下往上看,整个体系从硬件层到应用层分为以下几个层次:
1、硬件抽象层:通过提炼一些硬件操作的特性,将一些与硬件相关紧密的操作抽象出来,从而将操作系统和硬件层分开,这使得BSP和Driver的设计更简洁,有利于提高软件的可重用性和易移植性。
2、BSP层:用于将引导操作系统,对操作系统提供板级支持。同时提供一些近设备的驱动。
3、操作系统及硬件驱动层:提供操作系统内核和硬件驱动。操作系统主要提供内存管理、任务调度、时钟管理、资源共享和互斥等功能。硬件驱动层在操作系统和硬件抽象层的基础上实现对硬件的驱动。
4、中间件:是一种将应用程序和操作系统、硬件细节隔离开来的软件环境,通常它都是由一些虚拟机器构成的,如HTML虚拟机、javascript虚拟机、MHEG-5虚拟机、Java虚拟机等。这使得应用不依赖于特定的硬件平台。著名的中间件提供商有:OpenTV和Canal+。
5、DVB引擎:实现DVB/DAVIC协议的解析。包括MPEG2解码器、SI引擎和DSM-CC数据接口。
6、应用层。建立在上述各个模块的基础上的应用程序片。包括:频道管理、系统自检、电子节目导航、软件下载与升级管理和家长控制等模块。
操作系统的选型
机顶盒作为一个典型的嵌入式系统,对其操作系统有更高的稳定性和实时性要求,一般选用实时嵌入式操作系统,这里我们选用uCOS-Ⅱ操作系统:一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。由于uCOS-Ⅱ属于开放源码操作系统,所以开发包投入可以免除,而且去了版税。同时该操作系统在工业控制,消费电子和国防等领域已经得到了广泛的应用,实践证明该操作系统在稳定性和可用性上是完全适合在本方案中是选用的。
uCOS-Ⅱ内核精简,效率高,对存储器和内存的需求低,对于降低系统成本有利。此外,uCOS-Ⅱ所有源代码都公开,而且很多著名科研机构包括大学、研究所都对该操作系统进行了支持,提供了大量的已经经过工业验证的软件包,这对于开发人员来说很便利,有利于加快开发进度。
结束语
数字电视机顶盒是模拟电视机向数字电视机过渡的最佳解决方案。数字电视机顶盒是未来家庭必备的多媒体信息终端,使用数字电视机顶盒的有线电视用户,可以享受电视、数据、话音等全方位的信息服务。随着数字技术、多媒体技术和网络技术的发展,数字电视机顶盒的功能将逐步得到完善。