淮安信息职业技术学院毕业设计论文
第三章 智能数字机顶盒的设计(以大显DC-618C为例)
3.1引言
数字电视机顶盒的技术含量非常高,它集中反映了多媒体、计算机、数字压缩编码、加解扰算法、加解密算法、通信技术和网络技术的发展水平,在设计技术上主要包括机顶盒硬件技术和软件技术两大部分, 其中,软件技术占有更为重要的位置。除了音视频的解码由硬件实现外,包括电视内容的重现、操作界面的实现、数据广播业务的实现,直至机顶盒和个人计算机的互联以及和Internet的互联都需要由软件来实现。
这里介绍一款基于STi5518 芯片的DC-618C型数字电视接收机顶盒的设计。
3.2 DC-618C数字电视接收机顶盒的设计
图3-2-1 STi5518芯片内部功能框图
12
第三章 智能数字机顶盒的设计
芯片内置81MHz的32位RISC CPU、2K字节存储器、2K字节D存储器和4K字节D存储器(SDRAM);片内的音频解码器支持MPEG-2多声道解码,3×2声道PCM输出,DTS数字输出和MP3解码;具有高性能在屏显示功能,每像素2到8位OSD可选,具有抗闪烁、抗摆动的滤波器;内置PAL/NTSC/SECAM编码器,支持RGB、CVBS、Y/C和YIN输出。
图3-2-2解复用、音视频解码模块
分配SDRAM存储器接口可支持1或2×16M位、或1× 64M位、125MHz的SDRAM,对SDRAM、ROM和外围器件可编程;前端接口有串行、并行和ATAPI接口,硬件扇区滤波器,集成的CSS解扰和跟踪缓冲器;片内的传输流解复用器支持并行/串行输入,DES和DVB解扰,32个PID;具有2个UART、2个智能卡、I2C控制器、3个PWM输出、3个捕捉定时器;支持MODEM;具有44位可编程I/O口、红外发射器/接收器。 3.2.1应用于DC-618C机顶盒的OS20操作系统
内嵌于Sti5518内部的CPU--ST20,使用的是ST所独有的嵌入式实时操作系统OS20。OS20操作系统是一个模块化的高性能的实时操作系统, 它具有较强的实时性和多任务能力,这主要取决于它的任务调度机制,从调度策略上来讲,OS20采用分优先级调度策略(默认为16)和时间片轮转调度策略 ——即同一优先级下多任务处理采用时间片轮转处理方式。
OS20系统的内存开销也很小,核的开销大约为:内部只占600字节,每个任务占用的内存:内部24字节,外部36字节。
此外,OS20操作系统还具有任务切换时间短等特点
13
淮安信息职业技术学院毕业设计论文
STi5518解码芯片本身的性能比较强大,可以满足应用对硬件的要求,关键在于软件对硬件的管理上,随着应用的复杂化,一个嵌入式控制系统可能要同时控制和监视很多外设,要求有实时响应,有很多处理任务,各个任务之间有多种信息传递。如果仍采用原来的程序设计方法存在两个问题,一是中断可能得不到及时响应。处理时间过长,这对于一些控制场合是不允许的,对于网络通信方面则会降低系统整体的信息流量。二是系统任务多,要考虑的各种可能也多,各种资源如调度不当就会发生死锁,降低软件可靠性,程序编写任务量都会有大幅度增加。
图3-2-3STi5518硬件系统结构
14
第三章 智能数字机顶盒的设计
3.2.2 DC-618C机顶盒的软件架构设计
依据软件工程的原理,DC-618C机顶盒软件采用从上到下的层次化设计,依次由易到难,由具体到抽象和由软件到硬件,主要包括如下几层
应用层:应用层是控制整个机顶盒操作的高层代码,也是需要程序员自己完全实现的代码。在这一层中实现各种各样的功能,包括初始化各种外设、创建任务、设置节目频点、实现用户输入输出操作等。对于与第三方的软件合作,包括网络浏览器,也嵌入在应用层中,应用程序可以直接调用驱动层的应用程序接口(API)。第三方的中间件可以通过驱动使用层来调用应用程序接口。所有的应用层组件在功能上能通过操作系统移植层来访问实时操作系统。
驱动层:驱动层通过调用硬件抽象层,来管理各种外设和内部子系统模块,将这些模块的功能抽象化和屏蔽化,向上一层提供应用层程序接口,使得应用层的操作直观和简洁。应用层组件通过调用驱动层API来控制系统硬件功能和服务。这些驱动完成普通的低层任务,如控制传输解复用和音视频解码等。
硬件抽象层:对DC-618C的所有硬件的操作必须通过修改寄存器来实现,DC-618C将所有寄存器与接口统一编址,使得通过软件对寄存器的操作非常简单,硬件抽象层正是完成这一功能.可以说,H.A.L.是驱动层的子集,负责直接编辑硬件。驱动层提供通用的低层功能,同时H.A.L.在硬件上实现这些功能。为了响应驱动层的调用, H.A.L.执行特定的芯片函数,编辑芯片寄存器来完成一个特定的功能,它只与一种特定的芯片相对应,所以当改变硬件平台时,只需要改变相应的硬件抽象层。 3.2.3 EPG(电子节目指南)的实现
电子节目指南,是指在符合MPEG-2的TS传输流中插入DVB标准
定义的SI信息,使机顶盒的综合接收解码器可以从TS流中提取出节目提供商播出节目的列表和播出参数,以直观的形式显示给数字电视用户。EPG信息由两部分信息组成:基本EPG信息和扩展EPG信息。基本EPG信息是指完全可以用《数字广播业务信息规范》中的网络信息表NIT、业务群关联表
15
淮安信息职业技术学院毕业设计论文
BAT、业务描述表SDT和事件信息表EIT进行描述的EPG信息。扩展EPG信息是指在基本EPG信息之外,通过数据轮播传递的EPG信息,这些信息的入口采用EPG映射表(EMT)进行描述,信息的内容被封装成具有多级目录结构的文件系统,称为扩展EPG内容信息(XECI)。基本EPG信息和扩展EPG信息中的EPG映射信息均采用表传输方式;扩展EPG信息中的扩展EPG内容信息采用数据轮播方式传输。
在数字电视节目的播出过程中,可以加入辅助的SI信息,供机顶盒解码器的开发者来实现五花八门的电子节目指南的导航功能。EPG提供的信息主要包括:传送信息的天数(例如一周)、传送频道的数目和名称、传送的节目数、节目提供商的标识和名称、传送网络的信息(网络标识和网络名称),其细节信息还包括:节目名称、节目的简单介绍、节目的开始和结束时间、节目的主题、节目的类属、节目的观看分级限制(例如对某个年龄段进行限制)。利用机顶盒收看数字电视节目,用户通过EPG不仅能够接收普通的电视节目、广播节目或图文电视节目,而且,还可以查看感兴趣的信息:按节目分类(如音乐节目、体育节目、电影等)检索节目;按节目提供者检索节目;未来一段时间内节目播出表;视频网络中节目播出情况等信息。 3.2.4 PSI/SI信息及其功能
MPEG-2中的传送码流是根据ITU-TRecH220、ISO/IECDIS13818-2和ISO /IEC13818-3协议定义的一种数据流,其目的是为了在有可能发生严重错误的环境下进行一道或多道程序的编码数据的传送和存储。这种错误表现为比特值错误或分组丢失。传送流的速率可以是变化的或固定不变的。在任何情况下组成的原始流可以是变化的或固定不变,在这些情况下的语法和语义限制是相问的。传送流速率由节目参考时钟(PCR)字段的位置和数值决定,通常对于每个程序都有自己的PCR字段。传送流中有关PID的信息及各PID之间的关系包含在最主要的PSI(ProgramSpecificInformation:节目特定信息)中,MPEG-2解码器将使用PSI信息来自动设置解码所需的各种参数。PSI信息使用4个表来定义码流的结构:PAT(ProgramAssociationTable:节目关联表)、PMT(ProgramMapTable:节目映射表)、NIT(NetworkInformationTable:网络信息表)、CAT(ConditionalAccessTable:条件访问表)。
16