1、基于 LINUX 系统的 STB 设计摘 要:机顶盒具备数字电视信号接收及解码输出功能,是数字电视系统关键部件。当前我国尚未研发出技术较为成熟的交互式应用。本文首先对机顶盒软件系统进行简单介绍,之后分别从节目管理模块的开发以及机顶盒应用程序等角度对基于 LINUX 系统的机顶盒设计方案进行全面解读。 关键词:LINUX 系统;机顶盒;数字电视系统;交互式应用 1 前言 数字机顶盒包括硬件平台及软件系统两部分,其中硬件部分主要作用是音频及视频解码,软件系统主要用于实现操作界面相关功能、重现电视图像、数据广播业务平台及互联网接入等。数字机顶盒软件系统主要涉及到嵌入式操作系统、软件及硬件抽象层、应用
2、程序等几部分。本文主要是对依托于 LINUX(v2.6.21) 操作系统的数字高清解码芯片机顶盒系统软件设计进行分析,从而研发出适合所选的硬件平台特点并且具备基本机顶盒功能的软件系统。 2 基于 LINUX 系统的 STB 设计方案 2.1 机顶盒软件系统 本文所探讨的基于 LINUX(v2.6.21) 操作系统的数字高清解码芯片机顶盒系统软件的开发主要涉及到以下几方面内容: (1)机顶盒底层驱动程序,主要包括前端、USB 接口、Enthernet、Flash 驱动以及接收遥控信号的相关软件等;(2)机顶盒节目管理模块,该模块的主要作用是保存整机状态信息以及用户个性化设置信息,并对这些信息进行
3、有效管理;保存业务数据信息,并对其进行实时更新及有效管理;除此之外,还负责获取节目数据,并进行相应分析;(3)机顶盒应用程序,主要涉及到设计并显示机顶盒用户界面及选单界面;图形用户界面、选单界面以及用户交互的应用及管理等。基于LINUX 操作系统的机顶盒软件系统结构详见图 1 所示。 2.2 节目管理模块 用户应用程序中一个关键部分就是节目操作管理模块,此模块的主要作用是对节目操作管理模块与系统其它模块之间的关系及通信协议进行确定,构建节目数据库。对于数字电视机顶盒软件功能而言,针对节目及频道所进行的全部实质性节目操作是极为关键的一项内容。笔者在此所阐述的机顶盒设计方案中,节目操作功能主要涉及
4、到节目的搜索及选择,提取及保存节目信息,针对节目数据库所进行的相关操作等。本文所探讨的机顶盒相关的界面操作相关功能大多数都与节目数据库存在一定关联。 (1)Builder 模块。此模块的主要作用是根据 USIF 相关指令构建节目数据库,将搜索状态及内容反馈至 USIF,以用户实际需求为依据构建频点以及频道信息数据库。Builder 模块结构详见图 2 所示。 Builder 模块所支持的搜索方式主要盲扫、网络搜索以及手动搜索等三种,其中,盲扫是以预置频点搜索节目信息为主要依据,对节目数据库进行构建;网络搜索主要是以输入频点为依据,对 NIT 表进行搜索;以网络信息为依据,对相关节目信息进行搜索
5、,从而构建起较为完整的网络节目信息数据库;手动搜索主要是以输入频点为依据对其进行搜索,从而构建起完整的节目信息数据库。 (2)PSI 模块。PSI 模块是建立在 Demux 驱动基础之上的,需要借助 Demux 模块而获取 Section 数据搜索功能,其主要作用是向 EPG 以及Builder 等模块提供完整表及条件捕获接口。PSI 模块所支持的得到表方式有 GetTable 以及 Capture 两种,其中,借助前者所提供的功能接口,可以直接获取表数据返回,假如超出既定时间而未获取表数据,则返回超时;借助后者功能接口,在提出表申请的基础之上,利用异步通信方式获取表结构,并向应用模块发出相应
6、通知。捕获方式具体包括三种模式:Update Mode,即更新模式,在版本更新时向应用模块发出通知;Complete Mode,在获取完整表结构后向应用模块发出通知;Section Mode,在获取 Section 数据时向应用模块发出通知。 (3)DBaseMgr 模块。此模块是数据库管理系统,主要负责保存及管理频道、频点、系统信息以及 EPG 等相关信息;添加、删除、编辑、排序以及查找节目频点等。此模块与 Builder 、EPG、USIF、Player 等模块之间进行交互。为确保数据元素操作效率,防止大量内存碎片的出现,同时也是出于操作便利性的考虑,采用静动结合的设计思路,在数据结构上选
7、择静态双向链表式。 数据库管理系统在功能方面具有以下特点:第一,功能较为完善,包括创建、管理及删除数据库等;可以支持多用户操作,系统是建立在Linux 这一多用户分时操作系统基础之上的,可以确保多个用户在同一时间的操作需求得到有效满足;最后,拥有完整的数据。系统属于嵌入式系统,所以模块需要确保数据库数据在掉电情况下的完整性。 2.3 机顶盒应用程序 机顶盒应用程序的主要作用是显示用户交互选单,所以,在对机顶盒应用程序开发方面选择 MiniGUI 开源软件。MiniGUI 开源软件是嵌入式Linux 系统下的轻量级图形用户界面支持系统,在实践中的应用极为广泛,相比较于其他嵌入式 GUI 而言,该
8、系统最大的优势在于所占用的系统资源有限,可以根据用户实际需求进行灵活配置;稳定性强,并且具备可移植性。MiniGUI 的软件架构较为优越,其上层与下层操作系统之间由抽象层 IAL 以及 GAL 进行隔离。通常情况下,基于 MiniGUI 的应用程序功能的实现需要依托于支持库、操作系统、驱动程序接口以及 MiniGUI 自身提供的 API。以 MiniGUI 为基础所开发的 UI 模块详见图 3 所示。 3 结语 综上所述,本文首先对机顶盒软件系统进行简单介绍,之后分别从节目管理模块的开发以及机顶盒应用程序等角度对基于 LINUX 系统的机顶盒设计方案进行全面解读。本文主要从 Linux 操作系
9、统移植、驱动程序、MiniGUI 库移植以及上层应用程序等角度对基于 LINUX 系统的 STB设计方案进行介绍和分析。机顶盒硬件平台与软件系统是机顶盒系统的两大主要内容,经过实验测试,结果证实本系统设计方案的合理性。在系统功能方面,主要是对 DVB-C 标准特点进行考虑,不仅如此,在系统软件方面也对 DVB-C PSI 极为关注。本软件在功能方面,不但能够实现基本的解调、信道解码以及音频视频解码输出;而且可以根据用户的具体需求提供选单式交互操作模式,便于用户搜索节目、设置系统并对用户设置进行保存,查看节目信息以及电子节目指南等。目前用户对高清数字电视机顶盒的大部分要求均可以得到满足。作为一个
10、彩电大国,中国的机顶盒的普及率还十分有限,所以,对基于 Linux 操作系统的机顶盒系统进行深入分析和探讨具有重大的现实意义。 参考文献 1 李哲.基于 Linux 与 DSP 技术的音视频网络传输及编解码技术研究D. 中国地质大学(北京) 2006 2 程建伟.基于 STi7109 的 IPTV 机顶盒播放器的设计与实现D. 北京邮电大学 2010 3 王蕾,朴希望,李世群,陈蕾.嵌入式实时操作系统的时间性能测试J. 内蒙古大学学报(自然科学版). 2011(05) 4 方德葵主编,王明臣,姜秀华,张永辉编著.数字电视与高清晰度电视M. 中国广播电视出版社, 2005 5 易志栋.基于 XScale 和 Linux 的嵌入式 IPv6 VOD 终端设计与实现D. 吉林大学 2006