基于Hi2011的DVB-C机顶盒设计与实现 - [2]

Video.com.cn(视频网) 2008-06-03 14:49 来源: 电子产品世界

    在硬件平台和软件结构基本构建好以后,就选择适合高效的多任务系统环境的嵌入式实时操作系统,而μC/OS-II采用基于优先级的多任务抢占式调度策略;内核短小,实时性好,能进行快速的上下文切换(小于5µs),效率高;内存要求低鉴于这些特点,在本系统中,选择嵌入式实时多任务操作系统为μC/OS-II,作为该机顶盒的操作系统,并将其移植于Hi2011系统上,同时设计操作系统抽象层,封装操作系统与用户相关的操作。

    3.2操作系统

    在硬件平台和软件结构基本构建好以后,就选择适合该系统的嵌入式实时操作系统。在选择嵌入式实时操作系统(real-timeoperationsystem,RTOS)时,应该具有以下特征的RTOS:基于优先级的多任务抢占式调度策略;内核短小,实时性好,能进行快速的上下文切换(小于5µs),效率高;开放源代码,并且支持一系列的处理器芯片;低的内存要求;具有可裁剪、可移植性。

    因为这样的RTOS是高效率的操作系统,能够为DVB-C提供高效的多任务环境,包括任务调度管理、时钟管理、内存管理、中断处理、通过信号量实现同步和互斥、以及通过消息队列实现消息通信等等。比如μC/OS-II、μCLinux、Vxworks、OS20等操作系统,都具有上述特征。

    在本系统中,选择嵌入式实时多任务操作系统为μC/OS-II,作为该机顶盒的操作系统,并将其移植于Hi2011系统上,同时设计操作系统抽象层,封装操作系统与用户相关的操作。

    3.3软件模块和任务的划分

    根据DVB-C硬件模块的一致性可知,其软件模块主要包括初始化启动模块、端口处理模块、解复用模块、解扰模块、节目存贮模块、Flash模块、音视频操作模块、用户界面控制模块、频道转换控制、系统升级模块、EPG模块、中文字体模块和SDRAM模块等。

    依据DVB-C要实现的功能和模块划分,将系统的任务划分为10个主要的任务,并为每个任务分配不同的优先级。每个任务都完成相应的功能,并将任务的调度交于操作系统实现。其中系统的初始化启动模块和设备驱动模块在主函数中调用相应的函数来实现其对应的功能。具体划分如下:Task2完成处理远程电源管理、清屏、主菜单键和传递按键给键值处理模块等功能;Task3完成系统的音视频处理;Task4完成频道更新;Task5处理频道节目的编辑和刷新等;Task6调度开机LoGo;Task7处理机顶盒各种显示任务;Task8调度游戏和日历等;Task9处理各种表单,如节目单和解复用单等;Task10处理处理OSD和PMT。而Task1启动其他任务和开机Logo。

    3.4数据库构建

    基于DVB-C的数字机顶盒的数据库构建,主要构建本地临时数据库和数据库管理两个方面。其中本地临时数据库包括:节目表ProgramList、附加节目表TransponderList和节目数据结构,ProgramList和TransponderList的构建在搜台时完成,当用户作频道管理时,需要作相应的更新并写Flash即可。

评论】 【社区】 【 】 【关闭此页

发表评论

发表者:
内容: