1 引言
随着多媒体技术和网络技术的不断发展,在楼宇电视广告播放技术上,网络化的播放系统将逐渐取代现行的广告机本地播放方式。多样化、实时化的发布模式以及智能化、人性化的管理平台,将推动楼宇电视广告行业的发展。
在网络化的播放系统中,具有联网功能的多媒体播放终端是一个关键设备,它可以播放图片、音乐、视频、文字,成了整个播放系统不可分割的一部分。在新一代的播放系统中,中心管理员可以通过互联网或内部网对其进行方便的配置和管理,安排具有个性化的播放内容,有效地解决了现有播放终端内容相对单调固定的缺陷。
本文根据这一新的需求,提出了一种新颖的适合网络播放的多媒体播放终端的设计方案。
2 硬件设计
2.1 功能分析
表1对新一代网络播放终端与独立播放机进行了比较。
为了实现网络远程控制播放,多媒体播放终端必须具备以下功能:1)连接服务器:启动后,自动连接远程服务器;2)定时通信:定时与服务器进行握手通信;3)日志管理:记录终端运行状态,形成日志文件,定时向服务器反馈日志信息;4)远程接受任务并按要求执行:随时接受中心/分中心发送的任务,任务内容包括:定时自动开关机、定时自动下载播放文件、定时播放指定的媒体文件;5)支持多种视音频和图片格式,播放质量达到DVD级画质及音质要求;6)可监控各区域播放工作状态;7)多种视频输出接口,可外接LCD,LED,PDP等多种显示终端;8)支持远程软件升级。
2.2 硬件平台选择
目前,生产多媒体处理器并推出相应解决方案的半导体供应商多达十几家,比较典型的有Intel,AMD,TI,Freescale,ADI,NXP,SigmaDesigns,ST,Sharp,Sunplus(凌阳)以及深圳安凯等。这些厂商提供的处理器因为源自不同的架构,在性能、接口、功耗等方面差异很大,在选择方案时,要从处理能力、支持的视频格式、支持的接口、功耗、软件和操作系统(OS)支持以及成本等方面作精心比较:
1) 处理能力及支持的视频格式
Intel的PXA270和AMD的Au1200都是通用处理器,性能较强大,支持的音视频格式有MPEG-1/2/4,WMV9,DivX,XVID,MP3,WMA,WAV,ASF,AVI,JPEG等。但PXA270需媒体加速器配合才能更好地工作,方案相对较复杂。基于DSP的解决方案包括TI的DM270/DM320、NXP的PNX0190和ADI的Blackfin系列。此类方案仍需一个MCU(ARM7或ARM9)来处理系统的通用功能,如操作系统和用户接口等。音视频解码是DSP的专长,一般支持MPEG-1/2/4,DivX,WMV9和JPEG等格式。
2) 支持的接口
丰富的接口使开发人员可以扩展功能或在确定外围器件时有更多的选择。多媒体处理器的外围接口主要包括存储器接口、USB接口、存储卡接口、摄像头接口、硬盘接口、显示接口、网络接口等。现有的方案都支持SRAM'style='color:ff0000' target='_blank'>DRAM,不过只有AMD,Intel和NXP还能同时支持DDR存储器,这有利于实现更快的编解码速率。主流方案都支持USB2.0。多数方案至少支持两种存储卡格式,如MMC/SD或SD/CF等,部分方案支持网络接口,如AMD,Intel和SigmaDesigns等。
3) 支持的操作系统
软件开发是播放器开发的重要组成部分,如能缩短软件开发时间,就可加速产品上市。对于不同结构的硬件,软件开发的难易程度也有区别。基于X86指令的PXA270处理器,编程较容易。DSP的算法最复杂,需要耗费大量的编程时间,所以供应商往往会提供完整的软件解决方案,如TI和NXP都提供了开发套件。基于MCU的解决方案提供了比DSP解决方案更容易的可编程性。大多数方案支持Linux操作系统,此外还需要中间件(如媒体播放器)、编解码器和应用程序等。
4) 功耗
一般来说,依靠软件编解码的方案将具有更高的功耗,例如Intel和AMD的方案;而依靠硬件进行编解码的方案更省电,如Freescale的方案;DSP+ARM方案的功耗介于两者之间。对于本文设计的交流供电的播放器,功耗不是问题。
笔者选用AMD公司的Alchemy Au1200作为多媒体处理器,其功耗低(<400 W@400 Hz);支持多种视频格式,可扩展到大型显示屏(1024×768),不需外部DSP,不需多媒体转码。
2.3 硬件系统结构
本播放终端是一个嵌入式系统,是以微计算机技术为基础的软硬件结合的专用系统,整个系统按分层结构设计:
1) 应用层:图形用户界面设计、媒体文件播放等;
2) 操作系统层:线程调度、文件系统等;
3) 多媒体解码:媒体加速引擎,MPEG-1/2/4、WMV9等的解码;
4)驱动层:音频、以太网、IDE、LCD、USB2.0等。
系统的硬件结构框图见图1。
2.4 模块设计
系统主要由处理器、内存、启动ROM、硬盘、LCD屏、外围扩展接口等部分构成。
Au1200处理器最高可支持DDR2-533内存芯片,系统内存采用2片三星的DDR-266 SRAM'style='color:ff0000' target='_blank'>DRAM,型号为K4H510838E-TLAA,总容量为128 Mbyte。启动系统固化在Flash存储器中,Au1200通过静态总线控制Flash存储器,由于地址总线只有15位,需加入1片锁存器来锁存地址信号。由于系统是一个下载播放系统,多媒体文件的存储采用普通微硬盘。
Au1200集成了LCD控制器,通过对垂直和水平同步信号、偏置信号和象素时钟信号的编程,可支持目前大多数LCD屏工作。本系统用于公众场合信息的显示,宜选用43 cm以上的LCD屏。
在此对网络接口设计加以特别的说明:系统采用以太网接口,网络控制器选用DAVCOM公司的DM9000快速以太网控制处理器,该控制器与Au1200处理器具有很好的兼容性,DM9000配备有 标准10/100 Mbit/s以太网接口,物理层支持以太网接口协议,集成有接收缓冲区。DM9000支持TCP/IP硬加速,可减轻CPU负担,提高网络上传和下传的速度,采用的是Linux驱动,使更改驱动、升级更加灵活方便。
在设计时,实现DM9000与Au1200连接,要对两者间的数据、地址、控制三大总线进行连接和转换,图2给出了连接示意图。
DM9000默认I/O基地址为300H,数据端口和地址端口的地址码由下式决定
DM9000地址端口=高位片选地址+300H+0 (1)
DM9000数据端口=高位片选地址+300H+4 (2)
网络接口模块的软件包括TCP/IP协议软件和以太网芯片DM9000驱动程序。Linux用TCP/IP作参考模型,共有4层:应用层、传输层、互联网层和主机至网络层。驱动程序包括了面向操作系统核心的接口程序和面向物理层(主机至网络层)的接口程序。面向操作系统核心接口程序,用于发现、检测网卡参数及发送数据结构例程。
3 系统软件设计
系统的软件由3部分组成:嵌入式Linux移植、驱动和应用程序编写。嵌入式Linux操作系统是用户控制系统的平台,系统驱动程序采用模块化形式,向上为用户层的解码应用程序提供API函数,向下通过系统硬件APl函数控制系统硬件。嵌入式Linux设计有3个层次:引导装载程序、Linux内核和图形系统:
1) 引导装载程序
引导装载程序通常是在硬件上执行的第一段代码。系统采用一个专用软件JFlash-Linux作为引导装载程序。它支持多种类型的芯片,可以直接与远程系统上的闪存设备进行交互,并将引导装载程序安装在闪存的给定位置中。
2) 嵌入式Linux内核
内核检查硬件并加载根设备,然后查找根文件系统的init 程序并执行该程序。配置内核时选择:模块编入内核、386处理器、物理内存off、支持ELF、标准PC软盘、支持RAM盘、支持initial RAMdisk、虚拟终端、虚拟终端控制台、标准串口、ext2文件系统、控制台驱动,以及VGAtext console,DOS FAT,MSDOS文件系统。
3) 图形系统
本嵌入式系统采用一种轻量级的GUI,具有轻型、占用资源少、高可靠性的特点。系统分层设计,最底层是一组屏幕、鼠标/触摸屏、键盘的抽象接口;中间层是可移植的图形引擎;最高层是各种API,供图形应用程序调用。最底层的SCREEN抽象接口建立在Linux Framebuffer(帧缓存)设备基础上。
应用程序信息管理程序主要实现任务管理和网络通信,其流程如图3所示。
4 系统应用
本设备主要应用是基于网络的广告播放系统,该系统由四部分组成:播放终端、中心服务器、分中心服务器和管理中心,其系统网络结构如图4所示。
将本播放终端接入图4所示的应用系统中,对几个不同大小、不同格式的多媒体文件进行下载播放,得到测试结果如表2所示,证明系统设计符合实际使用要求。
本文设计的基于Alchemy Au1200的多媒体播放终端,具有强大的多媒体播放功能,其主要创新思想在于增加了网络和信息管理功能,使其可实现网络远程控制,达到了高智能化程度,在目前的楼宇视频联播广告系统应用领域具有广阔的市场前景。