DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 116|回复: 0
打印 上一主题 下一主题

基于OS20的机顶盒软件体系及其应用设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-22 00:16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘 要:介绍了ST半导体公司的OS20实时嵌入式操作系统的基本特性。通过DVb-T数字电视机顶盒研发项目的应用设计,分析了机顶盒软件研发的主要问题和软件架构的实现,包括系统的状态机设计、搜台算法的实现、以EPG为主的SI解码系统的设计实现和优化,从各个方面讲述了OS20实时操作系统在机顶盒设计中的应用实践。
关键词:OS20;嵌入式系统;机顶盒;数字视频广播;电子节目指南
1 引言
在较短的时期内,DTV和SDTV不可能降到现有模拟电视接收机的价位,因此还必须通过地面数字STb将地面数字电视广播的节目显示在模拟电视接收机上。
本文结合笔者在使用ST DTTi5516主芯片开发DVb-T接收机的过程中的心得体会,结合ST半导体公司的OS20实时操作系统,谈谈数字电视接收机开发的应用设计的几个主要问题。
2 系统介绍
以DVb-T为例,整个终端接收解码过程如下图所示。



图4 搜台流程图
首先调用驱动API设定Tuner频点、符号率等参数,锁定频点(若失败,则返回)之后,根据数据更新的方式决定是否要清除ProgramList和TransponderList,然后搜索解析PAT表,PAT表解析完之后会对逐个Program解析PMT表和SDT表,所有的Program都完成之后,解析NIT表获得网络信息,更新TransponderList,最后成功返回。
需要注意的是:第一,在搜台的时候要利用Tuner的驱动函数来检测其锁定状态,而不能简单地设置超时。Tuner的状态有三种:锁定成功、锁定失败和锁定中。对于锁定成功和锁定失败,可即时返回;对于锁定中状态,需设置一定的超时机制,例如1s,来决定是否要放弃搜索;第二,在自动搜台时,对每次搜索,必须要确认dbase进程已完成相关的表解析,需用信号量来同步。
4.2.2          Data baseEPG的构建
Data base,包括ProgramList,TransponderList和EPG信息的构建。其中,ProgramList和TransponderList的构建在搜台时完成,当用户作频道管理时,需要作相应的更新并写Flash即可。
EPG信息(此处指基本EPG,不包括扩展EPG),由DVb-SI组成。对于EPG信息,最重要的是从EIT表中解出的节目时间表和当前/下一个信息,对应于EIT Schedule表(表ID为0x50-0x6F)和EIT p/f表(表ID为0x4E-0x4F)。
EIT表的信息量非常大,假如有200个Program,每个Program假如每天有20个节目,每个节目的节目内容描述必须要用256b字节来存储(SI1.0标准),假如传播的是一周节目指南,仅仅节目内容描述信息就需要存储空间:200*20*7(天)*256≈7Mb,这么大的存储空间实现这么小的一部分功能,不管对于Flash还是对于SDRAM都是不可忍受的。



图5 不同接收方法的接收速度比较
为此,只解析和存取一个Program(当前播放或默认播放Program)的EIT表信息。机顶盒启动或用户换台时进行EIT表信息的更新。尽管从理论上说,可以在前端发送的一个循环内把所有的EIT表数据都收下来放到缓冲区中去解析,但由于受解复用处理速度和遥控器按键响应灵敏度的限制,很可能在一个循环内不能接收解析所有的EIT数据,所以要对解复用的数据量和遥控器按键响应速度作折中。
根据DVb标准,8天内的EIT表信息循环传输间隔不超过10s,所以节目时间表没必要按时间顺序接受,采用乱序接收解析的方法可以大大提高EIT表的解析速度。项目实践证明,采用了乱序接收解析的方法能使一周节目指南信息的刷新速度提高3倍以上!如图5所示。优化之后,正在观看的Program的一周节目指南基本上20s左右即可完成更新。
Teletext和Subtitle的实现可以通过调用相应API按初始化->打开->链接数据流的流程即可实现。
5         结论
与众多的嵌入式实时操作系统一样,ST的OS20具有嵌入式系统所要求的实时、高效和精炼的特性,能够稳定高效地应用于高传输率的数字电视接收和解码。通过DVb-T数字电视机顶盒研发项目的应用设计实践证明,本文从系统的状态机设计、搜台算法的实现和以EPG为主的SI解码系统的设计实现和优化等各个方面给出了较优的解决方案。
参考文献:
[1] ISO/IEC 13818-1,Information technology -Generic coding of moving pictures and associated audio:Systems [S],1994.
[2] STMicroelectronics Inc. Dtti5516 Data Sheet.[Db/OL].http://www.st.com.
[3] ETSI EN 300 468 V1.6.1,Video broadcasting (DVb),Specification for Service Information (SI) in DVb systems[S],2004.
[4] ETSI EN 300 708 V1.2.1,Television systems,Data transmission within Teletext[S],2003.
[5] 谷志奇,余松煜.机顶盒SI模块的设计与实现[J].电视技术,2004(3):51-53.
[6] 朱冰,郑世宝.多任务实时操作系统在数字电视接收机中的应用[J].电视技术,2005(8+):76-85.
[7] 郑宗汉.实时系统软件基础[M].北京:清华大学出版社,2003.
[8] 徐登,郑世宝,金荐.一种优化的机顶盒SI引擎的设计与实现[J].电视技术,2005(5):13-15.
[9] 刘久富,孙德敏,杨忠,等.嵌入式软件的动态测试[J].微计算机信息,2006(1):82-84.
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-23 17:55 , 耗时 0.100307 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表