基于OS20的机顶盒软件体系及其应用设计
[10-10 20:38:44] 来源:http://www.88dzw.com 电子制作 阅读:8402次
文章摘要:字库:生成点阵字库,包括英文变宽16点阵字库、中文简体繁体16*16(用于EPG和Teletext界面)和24*24(用于菜单和对话框)点阵字库(GB2312标准的一级字库)、lattin-1欧洲八国(英、法、德、西班牙、意大利、荷兰、葡萄牙、波兰)语言字母集16*16点阵字库。调色板:平台支持可选的16色或者256色调色板,对于尽量接近原色显示24bit图片,调色板的选择是关键。把所有要显示的图片用photoshop整理成一张大图片,选择其最佳显示的256色索引值,导出对应的256色调色板即可。状态机:在电视节目播放的情况下,按数字键、Ch+/-可切换频道,按Vol+/-可控制音量,Mute
基于OS20的机顶盒软件体系及其应用设计,标签:电子小制作,http://www.88dzw.com字库:生成点阵字库,包括英文变宽16点阵字库、中文简体繁体16*16(用于EPG和Teletext界面)和24*24(用于菜单和对话框)点阵字库(GB2312标准的一级字库)、lattin-1欧洲八国(英、法、德、西班牙、意大利、荷兰、葡萄牙、波兰)语言字母集16*16点阵字库。
调色板:平台支持可选的16色或者256色调色板,对于尽量接近原色显示24bit图片,调色板的选择是关键。把所有要显示的图片用photoshop整理成一张大图片,选择其最佳显示的256色索引值,导出对应的256色调色板即可。
状态机:在电视节目播放的情况下,按数字键、Ch+/-可切换频道,按Vol+/-可控制音量,Mute键静音切换,按channel键和上下键可快速选择所需要看的频道(按左右键可以在所有频道和喜爱频道之间切换),按Menu键键入菜单,按EPG键进入EPG界面。模组状态切换关系如图3所示。
说明:K: 表示按键消息,对红外遥控器按键输入进行接收、转换生成;M:表示选择了某操作。
图3 系统状态变换图
4.2 各主要数字电视功能模块的设计
4.2.1 搜台机制
数字电视的搜台算法很重要,因为不仅要找出频道列表,还要解析出一定程度的各频道的相关信息。搜台算法包括手动搜台和自动搜台算法。自动搜台是通过手动搜台对频率的for循环来实现的。所以只需讨论手动搜台即可。搜台流程如图4所示。
图4 搜台流程图
首先调用驱动API设定Tuner频点、符号率等参数,锁定频点(若失败,则返回)之后,根据数据更新的方式决定是否要清除ProgramList和TransponderList,然后搜索解析PAT表,PAT表解析完之后会对逐个Program解析PMT表和SDT表,所有的Program都完成之后,解析NIT表获得网络信息,更新TransponderList,最后成功返回。
需要注意的是:第一,在搜台的时候要利用Tuner的驱动函数来检测其锁定状态,而不能简单地设置超时。Tuner的状态有三种:锁定成功、锁定失败和锁定中。对于锁定成功和锁定失败,可即时返回;对于锁定中状态,需设置一定的超时机制,例如1s,来决定是否要放弃搜索;第二,在自动搜台时,对每次搜索,必须要确认dbase进程已完成相关的表解析,需用信号量来同步。
4.2.2 Data Base和EPG的构建
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 不同接收方法的接收速度比较
《基于OS20的机顶盒软件体系及其应用设计》相关文章
- › 基于OS20的机顶盒软件体系及其应用设计
- 在百度中搜索相关文章:基于OS20的机顶盒软件体系及其应用设计
- 在谷歌中搜索相关文章:基于OS20的机顶盒软件体系及其应用设计
- 在soso中搜索相关文章:基于OS20的机顶盒软件体系及其应用设计
- 在搜狗中搜索相关文章:基于OS20的机顶盒软件体系及其应用设计