一种高清媒体信息发布终端的设计
日期:2011-7-14本文所述的高清媒体信息发布终端硬件系统结构主要包括: 高清解码芯片EM 8623L; 128MB SDRAM 和8MB 闪存; 网络接口控制器; 前面板控制电路; 内置2 5英寸笔记本SATA 硬盘接口; 提供高清数字多媒体接口(HDM I)、高清晰视频色差分量接口( YPbPr)、复合视频信号接口(V IDEO)等视频接口, 光纤数字音频接口( S /PD IF)、同轴数字音频接口( COAX IAL)、双声道立体声音频接口( R- AUD IO - L)等音频接口。此外还提供了USB2 0接口, 可与外接移动存储设备连接, 播放其中的影音资源, 并提供固件升级功能。 3 软件设计 3.1 软件架构设计 软件系统根据嵌入式系统原理和多媒体信息发布应用需求进行设计, 系统架构如图1, 主要由硬件驱动层, 实时操作系统层, 中间层和应用程序层组成。硬件驱动层是与硬件联系最紧密的软件层, 包括音视频输出接口、N IC、SATA控制器, USB2 0控制器、F lash、RS232和前面板/遥控器等的驱动, 以及和访问硬件地址寄存器的API, 是系统稳定高效运行的重要基础。设备驱动的加载可以随着操作系统启动时在内核中加载,也可以在操作系统起来之后, 单独进行模块加载, 具体可在内核编译时进行驱动加载的设定, 使得内核大小的设定较为灵活, 方便根据F lash空间做出适当的调整。
图1 系统软件结构图 实时操作系统是嵌入式设备软件的核心部分。uC linux是针对嵌入式处理器特点设计的一种实时操作系统, 它继承了标准L inux 强大的网络功能和多任务管理功能, 支持多种文件系统, 提供标准丰富的API, 具有执行效率高、占用空间小、可扩展性强和良好的可移植性等优点。除此, 他还专为无MMU 的处理器设计, 并对L inux 内存管理和进程管理进行了改写, 满足无MMU 处理器的开发要求。由于EM8623L.html" target="_blank" title="EM8623L">EM8623L是一款没有MMU 的处理器, 因此本系统采用uC linux 作为操作系统内核。
中间层包括私有协议栈模块, PPPOE ( Po int- to- po intpro tocol ADSL网络接入功能, 通过将开源的标准L inux上的PPPOE代码移植到嵌入式uC linux 内核实现。音视频解码模块是Sigma Designs开发的一个完整的文件播放器, 用于播放EM86231硬解码支持的多标准音视频文件和先进的显示处理功能(支持HDM I/YPbPr/AV 等视频输出和S /PDIF, 双声道等音频输出)。2D图形加速器支持高速OSD和GU I,为高清晰度显示器提供高质量的图像。
应用程序层处于软件系统的最顶层, 实现系统应用软件的主体功能, 主要包括遥控器接收处理, 图形用户界面显示, 高清媒体文件本地下载, 网络在线升级, 系统登陆远程服务器的注册认证, 视频/音频/图片/飞字等的分时控制播放和组合播放等。 3.2 系统任务设计 针对高清媒体信息发布所要求的准确性, 实时性和和即时性, 本系统主要设计了四个系统任务, 分别是: 主控任务、计时线程、网络任务线程和飞字播放线程。主控任务主要负责各任务调度, 监控服务器对主窗口和飞字窗口发出的控制命令(如暂停, 快进, 快退, 停止, 继续等操作) , 以及根据下载到本地硬盘的各种节目制作单播放相应的媒体节目, 可以实现顺序播放, 插播控制,按时间播控和手动播放等。网络任务线程包括控制信息收发线程和数据下载线程。控制信息收发线程和数据线程完成高清媒体文件的远程下载和本地存储, 控制信息收发线程主要负责协议的握手, 即协议信息发起端在200ms内未等到约定协议信息的到达, 便判定信息超时并进行重发; 数据线程主要负责网络推送的媒体文件的本地下载和存储。
计时线程主要负责获得当前的系统时间, 然后把系统时间与本地时间控制列表中每条记录的播放时间、插播控制列表的每条记录的播放时间进行比较, 如果有记录的播放时间到, 则进行相应的播放处理, 播放处理分为主窗口和飞字窗口。飞字播放线程实现根据飞字循环播放列表, 飞字插播列表, 飞字时间控制列表中的节目顺序进行相应的飞字播放操作。系统整体工作流程具体步骤如下: ( 1)启动bootloader, 进行必要的硬件初始化; ( 2)从flash中启动rom fs; ( 3)判断是否启动成功, 如果成功的话, 接下来解压app bin g z, 进行内核的初始化, 加载相应的设备驱动, 启动上层的应用程序。
( 4) 如果不成功则从硬盘中读取rom fs b in, 并写入ROM 中, 并重复进行( 3) 操作; ( 5)读取flash中默认的配置参数并设置相应的参数; ( 6)启动DHCP, 获取I P地址、网关、DNS 服务器IP、子网掩码等; ( 7)启动网络线程任务, 进行终端与服务器的对接, 注册认证; 媒体数据下载等; 如果与服务器连接成功, 则同步终端系统时间; ( 8)启动主控任务, 按照播放优先级播放指定播出列表节目。主控任务流程图如图2所示。 图2 主控任务流程 4 结束语 本文设计了一个基于EM8623L.html" target="_blank" title="EM8623L">EM8623L的高清媒体发布终端, 具有低功耗, 结构紧凑, 高稳定性等特点。支持高效可靠的高清媒体节目本地下载; 支持顺序播放、即时播放和定时播放功能; 支持几乎所有高清视频媒体的流畅播放; 能够实现视频、音频、图片和滚动字幕等多媒体信息的组合播放; 并接受前端控制系统的实时监控; 具有多种音视频输出接口, 支持1080P纯高清显示。目前结合前端控制系统在银行, 机场等场所已经得到广泛推广和应用。