基于Hi的DVB-C机顶盒设计与实现_第1页
基于Hi的DVB-C机顶盒设计与实现_第2页
基于Hi的DVB-C机顶盒设计与实现_第3页
基于Hi的DVB-C机顶盒设计与实现_第4页
基于Hi的DVB-C机顶盒设计与实现_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字电视机顶盒 (SetTopBox,STB) 是扩展电视机功能地一种新型家用电器 , 分为卫星数字电视机顶盒 (DVB-S)、地面数字电视机顶盒 (DVB-T) 和有线数字电视机顶盒 (DVB-C)三种 . 目前国内地 DVB-C机顶盒普遍采用外国厂商提供地流媒体处理器和与其捆绑销售地操作系统及在此系统上地开发工具 , 国内厂商将很难做到自主开发 , 必须高度依赖国外厂商地技术支持 . 本文采用国产地流媒体处理器 Hi2011 和开源地嵌入式实时操作系统 C/OS-II 进行了 DVB-C数字电视机顶盒地设计和研究 .2. 硬件架构设计STB硬件方面地主要单元可分为接收广播信号 , 并将其转

2、换为数字传输串流地前端芯片 , 即调谐器和调变 / 解调变器;后端芯片包括电视解码器 / 编码器、MPEG-2Transport、MPEG-2MPML或HL解码器、微处理器、绘图芯片、音频处理器、音频 DAC、视频 DAC;以及 DRAM/SDRAM、Flash 等存储、电源元件及其他标准离散元件 . 有地 STB高端产品还会整合安全芯片、 调制解调器(modem)或家庭网络芯片 , 以及可录像地硬盘( HDD).STB 对数字电视信号地处理过程为:电视射频信号经 Tuner(高频头)调谐 , 进行模数转换 , 输出 36MHz地中频数字信号送入 OFDM解调模块进行解调之后 , 变成 TS流

3、后经信道解码得到 MPEG-2TS流, 经解复用模块(集成解扰模块) 选出一路 MPEG-2音视频流和对应地数据信息 , 经信源解码后得到所选节目地数字信息 . 然后将数字信息转换为模拟信号输出给模拟电视 .Hi2011 处理器是北京海尔集成电路有限公司研发地一款流媒体处理器,该处理器具有地特点是:采用 QFP160封装;低功耗、高集成度和低成本地系统方案; 0.18 m工艺 , 工作频率可达 108MHz;三个脉宽调制输出 . 同时 , 该处理器集成了完全兼容 51 地 CPU,工作时钟 13.5MHz至 27MHz,四个时钟地指令周期 , 完全兼容标准地 8051 指令;集成了 DSP,可

4、以实现 16 位乘 / 累加操作地协处理器 , 提高 8051 地运算性能 . 在该处理器上 , 还集成了 MPEG解码器、视频播放、 OSD和音频播放等硬件模块 .本系统硬件以 Hi2011 芯片为核心 , 配备一定地外围设备和接口, 构成DVB-C数据机顶盒地硬件部分 .3. 软件体系设计DVB-C软件体系采用分层结构 , 首先对系统地软件进行分层, 然后进行模块化地层次划分 .3.1 软件层次结构按照机顶盒软件系统中不同软件功能和作用 , 将软件系统按层次进行划分 , 可分为操作系统层、驱动层、中间层和应用层其中操作系统层主要包括操作系统内核、硬件平台抽象和操作系统抽象;硬件平台抽象又叫

5、硬件抽象层, 主要是将 CPU地相关操作和功能部分进行封装 , 以提供给上层调用 , 从而避免直接与硬件直接相关性 , 同时为系统软件地移植、操作系统地更换等带来极大地方便; 操作系统抽象主要是将与操作系统直接相关地操作进行抽象化、 模块化 , 以提供给应用程序简单方便地接口 , 同时使软件系统具有良好地可移植性 .在硬件平台和软件结构基本构建好以后 , 就选择适合高效地多任务系统环境地嵌入式实时操作系统 , 而 C/OS-II 采用基于优先级地多任务抢占式调度策略;内核短小 , 实时性好 , 能进行快速地上下文切换 ( 小于 5s), 效率高;内存要求低鉴于这些特点 , 在本系统中 , 选择

6、嵌入式实时多任务操作系统为 C/OS-II, 作为该机顶盒地操作系统 , 并将其移植于 Hi2011 系统上 , 同时设计操作系统抽象层 , 封装操作系统与用户相关地操作 . 3.2 操作系统在硬件平台和软件结构基本构建好以后 , 就选择适合该系统地嵌入式实时操作系统 . 在选择嵌入式实时操作系统( real timeoperationsystem,RTOS )时 , 应该具有以下特征地 RTOS:基于优先级地多任务抢占式调度策略; 内核短小 , 实时性好 , 能进行快速地上下文切换(小于 5s), 效率高;开放源代码 , 并且支持一系列地处理器芯片;低地内存要求;具有可裁剪、可移植性.因为这

7、样地 RTOS是高效率地操作系统 , 能够为 DVB-C提供高效地多任务环境 , 包括任务调度管理、时钟管理、内存管理、中断处理、通过信号量实现同步和互斥、以及通过消息队列实现消息通信等等 . 比如 C/OS-II 、 CLinux 、Vxworks、OS20等操作系统 , 都具有上述特征 .在本系统中 , 选择嵌入式实时多任务操作系统为 C/OS-II, 作为该机顶盒地操作系统 , 并将其移植于 Hi2011 系统上 , 同时设计操作系统抽象层 , 封装操作系统与用户相关地操作 .3.3 软件模块和任务地划分根据 DVB-C硬件模块地一致性可知 , 其软件模块主要包括初始化启动模块、端口处理

8、模块、解复用模块、解扰模块、节目存贮模块、 Flash 模块、音视频操作模块、用户界面控制模块、频道转换控制、系统升级模块、 EPG模块、中文字体模块和 SDRAM模块等 .依据 DVB-C要实现地功能和模块划分 , 将系统地任务划分为 10个主要地任务 , 并为每个任务分配不同地优先级 . 每个任务都完成相应地功能 , 并将任务地调度交于操作系统实现 . 其中系统地初始化启动模块和设备驱动模块在主函数中调用相应地函数来实现其对应地功能 . 具体划分如下: Task2 完成处理远程电源管理、清屏、主菜单键和传递按键给键值处理模块等功能; Task3 完成系统地音视频处理; Task4 完成频道

9、更新; Task5 处理频道节目地编辑和刷新等;Task6调度开机 LoGo;Task7 处理机顶盒各种显示任务; Task8 调度游戏和日历等; Task9处理各种表单 , 如节目单和解复用单等;Task10 处理处理 OSD和 PMT.而 Task1启动其他任务和开机Logo.3.4 数据库构建基于 DVB C 地数字机顶盒地数据库构建 , 主要构建本地临时数据库和数据库管理两个方面 . 其中本地临时数据库包括:节目表 ProgramList 、附加节目表 TransponderList 和节目数据结构 ,ProgramList 和 TransponderList 地构建在搜台时完成 ,

10、当用户作频道管理时 , 需要作相应地更新并写 Flash 即可 .数据库管理主要是为管理和访问各数据库里地数据 , 数据库管理分为频点数据库管理、节目数据库管理和系统数据库管理三个方面 . 频点数据库管理主要是完成对频点数据地管理 , 包括频点信息单元和数据块头、 链表两个方面 . 节目数据库管理主要管理节目信息单元和数据块头、链表 , 由于节目数据库地数据量十分庞大 , 因此 , 在定义节目数据库地结构时 , 不能将节目信息置于一个结构中 , 以免超出编译器地 64KB地界线 .3.5 搜台模块搜台十分重要 , 不仅要找出频道列表 , 还要解析出一定程度地各频道地相关信息 . 搜台算法分为手

11、动搜台和自动搜台算法 . 因为自动搜台是通过手动搜台对频率地 for 循环来实现地 , 所以研究手动搜台 . 在搜台之前 , 首先搜索各种节目信息表 , 因此搜索各种表时地顺序十分重要 , 这将影响到搜索节目地时间和效率 . 在搜台时 , 有以下几种搜索表: PAT:提供 PMT地 pid, 所以要先于 PMT地搜索;PMT:提供每个节目 (service_id) 地包括音视频 pid 等信息; SDT:提供节目地属性信息 , 包括节目名字、节目运行状态等属性 , 在 PAT之后搜索; NIT:提供网络地信息 , 包括网络标识号和网络名称 , 保存在频点数据库中; NIT 还提供此网络下其他频

12、点地参数信息 , 根据这个可以增加频点数据库 .采用搜索算法思想为:首先调用驱动层封装好地相应频点、符号率等参数 , 根据数据更新地方式决定是否要清除API, 设定 Tuner ProgramList 和TransponderList,然后搜索解析 PAT表,PAT 表解析完后对 Program 逐个解析 PMT表和 SDT表, 所有地 Program 都完成后 , 解析 NIT 表获得网络信息 , 更新TransponderList,最后成功返回 .3.6 系统主函数实现C/OS-II 操作系统是使用标准 C语言编写地 , 因此 , 整个系统软件中 , 又且仅有一个 main() 函数 .

13、在本系统中 , 也只有一个 main() 函数 . 在实现 main() 时 , 必须考虑系统地效率 . 在本系统设计中 , 采用了 Task1 来开启其他任务地方式 , 来减少主函数地代码 , 提高主函数地运行效率 . 其代码如下:main()OSInit();/操作系统初始化sys_init();/系统初始化System_mail_Set=OSMboxCreate(0);/系统消息初始化sysflag=OSFlagCreate(0x81,&err_main);/系统标志初始化OSTaskCreate(task1,(void*)&Task1_StkTASK1_STK_SIZE-1,TASK1_PRIO);/ 任务调度开始OSStart();/操作系统开始4.系统调试本系统地调试按照嵌入式系统基本原理和DVB-C 地基本特点 ,将调试分为主板调试、系统软硬件调试和系统软硬件验证等.硬件方面 ,主要是验证硬件电路与设计电路地一致性和电路地各个输入/输出口地电流、电压特性 ,另外就是测试硬件地抗干扰能力和稳定可靠性.在调试时 ,采用外加干扰源地方式,测试控制器地抗干扰能力.软件方面 ,主要是验证软件地正确性.将软件下载到DVB-C 地 Fla

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论