当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于ARM-Linux的高清数字机顶盒软件系统设计与实现

数字电视特别是数字高清晰度电视的诞生应该说是电视界的一场深刻变革[1]。电视系统已进入数字化的进程,数字机顶盒是该系统的关键部件,特别是其软件系统的设计和开发。但无论是模拟彩电还是数字处理电视,都不具备对全数字电视信号进行解码的功能,所以一种能够接收数字电视信号并能够解码输出用于显示的中间设备——机顶盒,就显得很有必要了[2]。
    目前国内机顶盒以有线标清为主,欧洲以卫星和地面的机顶盒为主,美国以高清地面机顶盒产品为主[3]。随着技术的发展,机顶盒已不只单纯接收数字电视节目,还要接收大量的数据,而且用户和电视机之间还要实现互动[4]。目前国内还没有一种成熟的交互式应用,所谓的交互式应用基本上都还停留在本地交互的基础上[5]。本文研究的机顶盒可以支持诸如电子节目指南、按次付费观看、立即按次付费观看、准视频点播、数据广播、Internet接入、电子邮件、视频点播以及IP电话、可视电话等的应用[6]。因此要求电视接收机具有很好的信息处理能力和网络通信能力。
1 机顶盒软件系统
    数字机顶盒由硬件平台和软件系统构成,音视频解码主要由硬件实现,而操作界面的功能、电视图像的重现、数据广播业务的平台以及Internet的接入等都需要软件系统实现[7]。
    数字机顶盒的软件系统主要由嵌入式操作系统(EOS)、硬件抽象层(HAL)、软件抽象层(SAL)以及应用程序(ASL)组成。本文主要研究基于ARM(HHARMS3C6410)平台、Linux(v2.6.21)操作系统、THOMSON公司的数字高清解码芯片的HDTV机顶盒系统的软件设计,功能包括通过Demux模块接收流数据、解析PSI信息、对音视频流进行解码及播放、接收用户遥控器输入,并具有简单的用户界面。研究的目标是开发出适用于所选的硬件平台特点、具有基本的机顶盒产品功能的软件系统。
    开发内容有以下几个方面:
    (1)机顶盒底层驱动程序。包括前端、USB、Enthernet、Flash的驱动及遥控信号接收的软件等。
    (2)机顶盒节目管理模块。包括整机状态信息和用户设置信息的存取和管理,业务数据的存取、更新和管理,节目数据的获取、分析。
    (3)机顶盒应用程序。包括机顶盒用户界面、选单的设计与显示、图形用户界面/选单/用户交互操作的应用和管理等。
    软件系统整体结构如图1所示。

2 节目管理模块的开发
    节目操作管理模块是用户应用程序的重要组成部分,该软件模块主要实现确定节目操作管理模块与系统其他模块的关系(包括相互之间的通信协议)、建立节目数据库、本模块内部软件结构的设计。
    有关节目的各种操作是数字电视机顶盒软件功能中非常重要的一部分,用户所有有关频道、节目的实质性操作功能都在这部份实现。在本文的总体设计方案中,节目的操作功能主要包括节目搜索(自动和手动)、节目选择、节目信息的提取和保存、节目数据库操作等。
    在本机顶盒有关节目操作的各种功能中,绝大部分都与节目数据库有关。如自动节目搜索时,需要建立节目数据库,并为搜索到的节目建立相应的数据单元,用于存储节目的各种信息;在删除节目时,需要改变删除节目在节目数据库中的连接关系,并打上删除标志等。因此,节目数据库是节目操作软件的关键部分之一。
2.1 Builder模块
    该模块主要功能是在USIF的控制下建立节目数据库,该模块通过MSG Mgr向USIF反馈搜索状态以及内容,根据用户的需要建立频点、频道信息数据库。Builder模块结构图如图2所示。[!--empirenews.page--]

    Builder主要支持3种搜索方式:
    (1)盲扫。根据预置频点搜索节目信息,建立完整节目数据库。
    (2)网络搜索。根据输入频点搜索NIT表,根据网络信息搜索该网络的所有节目信息,建立完整的网络节目信息数据库。
    (3)手动搜索。根据输入频点搜索该频点,建立该频点完整的节目信息数据库。
2.2 PSI模块
    PSI模块需要Demux模块提供Section数据的搜索功能,其建立在Demux驱动之上,为EPG、Builder等模块提供完整表及条件捕获接口。PSI模块结构图如图3所示。

    PSI模块提供2种得到表方式:
    GetTable:通过该功能接口,直接得到表数据返回,如果超时没有得到表数据,返回超时。
    Capture:通过该功能接口,先提出表申请,通过异步通信方式获得表结构并通知应用模块。
    在捕获方式中都有3种模式:
    (1)Update Mode:在得到版本更新时通知应用模块。
    (2)Complete Mode:当得到完整表结构时通知应用模块。
    (3)Section Mode:当接收到Section数据时候就立即通知应用模块。
2.3 DBaseMgr模块
    该模块是一个数据库管理系统,主要功能是实现对频道、频点、系统信息、EPG等信息的存储与管理,以及对节目频点的添加、删除、排序、查找、编辑等。该模块主要与Builder、EPG、USIF、Player 4个模块交互,并通过与Flash交互进行物理操作。为了保证数据元素操作的效率,避免产生大量的内存碎片,也为了元素操作方便,该设计以静动结合的思路采用静态双向链表的数据结构。在多个进程或线程同时对同一个数据库进行操作时,要考虑同步互斥机制了。在对数据库进行任何操作之前先对数据库加锁,当数据库操作完成之后,再解锁,这样就保证了数据库操作的一致性。数据库模块结构如图4所示。

    数据库管理系统功能特点主要有以下几点:
    (1)功能完备。该模块需要提供完备的功能接口,包括数据库的创建、管理以及删除等基本操作。另还需要满足多视窗操作。
    (2)多用户操作。本系统采用的是嵌入式Linux系统,它是一个多用户分时系统,所以该数据库需要保证同时满足多用户操作需要,保证系统的安全。
    (3)数据完整。本系统属于嵌入式系统,该模块必须保证掉电后数据库数据的完整性。
    从前几节的内容可以看出,有关节目的操作与PSI表的处理有着十分密切的关系。这是因为PSI表的分析管理直接影响到节目数据库的内容,而节目的各种操作又都是与数据库紧密相连的。节目操作管理部分的软件设计主要可分成3大部分:PSI表处理模块、节目数据库模块和节目操作模块。其中PSI处理模块主要完成PSI表的各种操作,如表的获取、分析及管理等;节目数据库模块主要完成关于数据库的操作,如数据库的初始化、建立、内容的读写及更新等;节目操作模块则实现有关节目的操作,如节目的搜索、删除、恢复、选择等。这3部分有机结合起来就形成了节目操作的整体软件模块。
3 机顶盒应用程序的开发
    机顶盒应用程序主要实现用户交互选单的显示等功能,因此选择MiniGUI开源软件开发机顶盒应用程序。
    MiniGUI作为嵌入式Linux系统下的一个轻量级图形用户界面支持系统已被应用到很多实际项目中。与其他嵌入式GUI相比,其具有系统资源消耗小、可配置和可定制性高、稳定性高、可移植性好等优势。
    MiniGUI具有良好的软件架构,通过抽象层IAL、GAL将MiniGUI上层和底层操作系统隔离开来。基于MiniGUI的应用程序一般通过支持库、操作系统和驱动程序接口以及MiniGUI自身提供的API来实现自己的功能。[!--empirenews.page--]
    基于MiniGUI开发的UI模块如图5所示。UI模块主要满足用户通过遥控器进行节目搜索、播放、换台以及节目浏览等操作。

    UI模块的体系结构如图6所示。

    本研发项目,形成了一套包括Linux操作系统移植、驱动程序、MiniGUI库移植和上层应用程序在内的机顶盒软件系统。该软件配合机顶盒硬件平台构成了基本实用的整机系统,经测试该系统的设计方法具有很好的合理性和稳定性。本项目采用的传输标准是我国目前采用的DVB-C标准,因此,在系统整体功能的定位上,主要考虑了DVB-C标准的特点,在软件功能上也侧重了对DVB-C PSI的支持。该软件实现的功能主要有:一方面机顶盒利用该软件可以实现基本的解调、信道解码、音/视频解码输出等功能;另一方面还能向用户提供一系列选单式的交互操作功能,实现诸如节目搜索、系统设置的改变存储、节目信息的查看、定时操作、电子节目指南、本地存储节目的快进快退等附加功能。这些功能的实现基本满足了当前用户对高清数字机顶盒的要求。我国是彩电大国,但目前机顶盒还很不普及,因此该项目不仅具有很好的研究价值,而且具有广阔的市场前景。
参考文献
[1] 张晟,郭小勤.数字机顶盒软件设计[J].中国有线电视,2007(14):1367-1369.
[2] 郑端建,郭磊,魏世民.MiniGUI图形库在嵌入式Linux平台上的移植与实现[J].仪表技术,2008(10):10-14.
[3] 林德才,李悦,魏芳.基于STB7100的高清IPTV机顶盒设计[J].电视技术,2008(1):47-49.
[4] 黄欣,陈珊,俞斯乐.基于ST解决方案的HDTV机顶盒软件的设计实现[J].信息终端,2002(7):63-65.
[5] 胡宏平.基于数字电视机顶盒的嵌入式Linux操作系统的设计[J].电视技术,2005(8):52-57.
[6] YU Si Le, CHEN Shan. An improved structure of pre-determined parental viewing control data in software design for ATSC receiver[J]. IEEE Trans, on CE, 2002,48(1).
[7] 陈珊,俞斯乐.数字电视接收机中电子节目指南功能的软件实现研究[J].NSBT,北京:2000.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

数字可编程变频电源是一种能够根据用户需求调整输出电压和频率的电源设备。它在工业生产和实验室研究等领域中被广泛使用。

关键字: 单片机 可编程电源 系统设计

杭州2024年5月20日 /美通社/ -- 5月20日,百世供应链旗下百世云仓在2024年全国网络大会上,宣布了其全面出海战略。聚焦于东南亚市场的新机遇,并积极推动品牌走向国际市场。 百世供应链召开2024年百世云仓全...

关键字: 供应链 网络 触点 软件

引领供应链数字化转型新潮流 上海2024年5月16日 /美通社/ -- 5月14日,"第七届亚太智慧供应链与物流创新博览会"在上海顺利举办,作为中国和亚太区最大规模,最有影响力的顶流供应链物流盛会,...

关键字: 数字化 软件 供应链管理 控制

上海2024年5月13日 /美通社/ -- 在数字化时代,高效的税务管理和ERP系统成为企业发展的关键。为了满足这一需求商应信息科技与Exact Software 易科软件就金四全电票税系统与ERP系统集成及商务合作建立...

关键字: AC 软件 BSP 数字化

上海2024年5月13日 /美通社/ -- CONNECT 2 是更加用户友好的声卡,仅需轻点几下,它就能为人声和乐器的录制增添异彩。触控面板触感舒适、控制精准、一目了然。所有输入输出信号均可独立静音。自动设置功能通过内...

关键字: NEC 声卡 控制 软件

央视《今日说法》栏目近期报道了一名90后程序员通过开发非法视频搬运软件在不到一年的时间里获利超700万,最终获刑的案例。

关键字: 程序员 软件

上海2024年4月22日 /美通社/ -- 恶性的攻击和意外事件总是防不胜防,提前部署灾备方案可以在遭遇意外时尽可能减少企业损失。那么面对无处不在的勒索病毒和潜在风险,为什么依然有很多企业还会遭遇数据丢失?

关键字: 勒索病毒 软件 电脑 群晖数据

SAP(思爱普)近日发出的裁员计划,不仅涉及全球范围内约8000个职位,更是在中国区造成了近1500名正式员工和合同工不续的情况。

关键字: 软件 互联网

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

自 ChatGPT 出现以来,生成式人工智能 (GenAI) 在亚洲和大洋洲的开发和部署势头强劲,Omdia 的最新《亚洲和大洋洲的生成式人工智能 - 2024 年:通过本地化实现民主化》报告表明,到 2024 年底,G...

关键字: 人工智能 软件 AI
关闭
关闭