1 引 言
数字电视的崛起在我国被誉为广电产业的第三次革命,它巨大的市场潜力正逐渐凸现出来。数字传输方式因其采用了先进的技术,具有传统的模拟传输方式所无法比拟的优势,取代后者已是不可阻挡的趋势。目前,数字电视正在世界范围内迅速地推广,作为接收数字电视的新兴家电,机顶盒正悄悄进入千家万户。
机顶盒(STB,Set Top Box)是广播媒介实现数字化后接收端的重要设备,一般置于电视机上, 从功能来看,机顶盒主要分为上网机顶盒、数字卫星综合接收解码器、数字地面机顶盒,以及有线电视数字机顶盒,这些设备由于具有很好的网络功能,因此也成为信息家电的代表。
我们在这里讨论的主要是指有线电视数字机顶盒,它的基本功能是接收数字电视广播节目,同时具有所有广播和交互式多媒体应用功能。
数字电视机顶盒的技术含量非常高,它集中反映了多媒体、计算机、数字压缩编码、加解扰算法、加解密算法、通信技术和网络技术的发展水平,在设计技术上主要包括机顶盒硬件技术和软件技术两大部分, 其中,软件技术占有更为重要的位置。除了音视频的解码由硬件实现外,包括电视内容的重现、操作界面的实现、数据广播业务的实现,直至机顶盒和个人计算机的互联以及和Intemet的互联都需要由软件来实现。
我们在这里介绍一款基于STi5518 芯片的DC-618C型数字电视接收机顶盒的软件设计。
2 DC-618C数字电视接收机顶盒的软件设计
2.1实时操作系统基本原理
STi5518解码芯片本身的性能比较强大,可以满足应用对硬件的要求,关键在于软件对硬件的管理上,随着应用的复杂化,一个嵌入式控制系统可能要同时控制和监视很多外设,要求有实时响应,有很多处理任务,各个任务之间有多种信息传递。如果仍采用原来的程序设计方法存在两个问题,一是中断可能得不到及时响应。处理时间过长,这对于一些控制场合是不允许的,对于网络通信方面则会降低系统整体的信息流量。二是系统任务多,要考虑的各种可能也多,各种资源如调度不当就会发生死锁,降低软件可靠性,程序编写任务量都会有大幅度增加。
实时操作系统(RTOS)是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务。RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。在编写程序时,可以分别编写各个任务,大大减小了程序编写的工作量,而且减小了出错的可能,保证最终程序具有高可靠性。
实时多任务操作系统,以分时方式运行多个任务,宏观表现为多个任务同时运行。任务之间的切换以优先级为根据,只有采用优先服务方式的RTOS才是真正的实时操作系统,时间分片方式和协作方式的RTOS并不是真正的实时,RTOS的主要功能模块有调度和中断处理(为了优化用汇编编写)、任务管理、事件管理、定时器管理、报文管理、循环队列管理、资源管理、固定存储块管理、规范的UART管理和自动掉电管理等,这些也是标准的RTOS所应具有的基本功能。RTOS也体现了一种新的系统设计思想和一个开放的软件框架,工程师可以在不大量变动系统其它任务的情况下增加或去掉一个任务,一个项目开发的过程中,可以有多个工程师同时进行系统的软件开发,各个人之间只要制订好规程和协议即可,既缩短了开发时间,又降低了最终软件产品对于具体某个开发者的依赖性。为RTOS设计的成熟和通用的任务可以以库函数的形式供其它人继续利用,这一点和C语言的设计思想一致。
2.2 应用于DC-618C机顶盒的OS20操作系统
内嵌于Sti5518内部的CPU--ST20,使用的是ST所独有的嵌入式实时操作系统OS20。
OS20操作系统是一个模块化的高性能的实时操作系统, 它具有较强的实时性和多任务能力,这主要取决于它的任务调度机制,从调度策略上来讲,OS20采用分优先级调度策略(默认为16)和时间片轮转调度策略 ——即同一优先级下多任务处理采用时间片轮转处理方式。