概述
Sitsang开发平台是Intel专为嵌入式处理器PXA255设计的一个综合开发平台。PXA255 是Intel推出的取代StrongARMSA1110 的新一代嵌入式应用处理器,它拥有Thumb 压缩指令、64位长乘法指令、扩展型DSP 指令等先进特性,并集成了多通信信道、LCD控制器、增强型存储控制器、PCMCIA/CF 控制器以及通用I/O 口。Sitsang 开发平台以PXA255为核心,配备了存储器、液晶显示屏、网卡、声卡、USB控制器等设备,提供了丰富的外围数据接口,包括IrDA、UART、USB扩展槽等外部数据接口。
本设计以Sitsang开发板作为嵌入式开发平台,将“随身看”、影音录制、视频输出、海量存储、视频点播、网络下载等多种功能融为一体,实现一个兼顾家庭娱乐和户外便携的便携式多媒体中心。
; 系统总体方案
根据Sitsang开发平台的资源情况以及设计的目标要求,本设计在原有的Sitsang开发平台上扩展了一块视频扩展板,视频扩展板的主要功能是视频信号的输出和录制。系统总体结构如图1所示。
图1 系统框图
系统实现
媒体播放器
多媒体功能是本系统的重点,所以媒体播放器在本系统中具有举足轻重的地位。为了能够流畅播放多种格式的视频文件,本系统在Sitsang开发板上移植、修改并优化了Linux媒体播放器MPlayer。
MPlayer是Linux 上最优秀的多媒体播放器。它能使用众多的编解码器,支持广泛的输出设备。
MPlayer在Sitsang板上播放时,颜色会出现偏差;正常模式不能在FrameBuffer的中间显示;带-fs的全屏参数播放后,只是将播放位置移到中间,并不放大,而且该模式不支持在播放时通过键盘事件触发。如果要放大屏幕,需要加-vf scale=
MPlayer自带的mp3lib浮点音频解码库在Sitsang开发板上的解码效率很低,因此使用基于定点运算的libmad音频解码库替代原有的mp3lib库进行音频解码。
MPlayer图形界面在Qtopia视窗环境下无法运行。为了方便用户使用,本系统提供了MPlayer在Qtopia下的用户图形界面。为了能将图形界面的控制命令及时传递给MPlayer,使用MPlayer的-input选项,通过一个FIFO从GUI向后端程序传递控制信息。
通过上述优化、修改后的MPlayer,能够满足系统方案中提出的流畅播放各种格式音、视频文件的要求。
视频输出
本系统的视频输出电路(图2)采用将Sitsang开发板上的LCD输出直接映射到电视机上的方式。这样做的好处是:两个输出完全同步,媒体播放器可以不必理会输出对象的改变。 具体的实现是通过硬件完成的。LCD控制器输出的视频信号(RGB数字信号)通过Philips公司的视频编码芯片SAA7102转换成模拟复合视频信号(CVBS)和分量视频信号(Y/C),然后传输给电视机。因为LCD输出的时钟频率和SAA7102工作的时钟频率不同步,数据宽度也不相同,所以在系统中加了一片FIFO(74V3690),起数据缓存、时钟转换及数据宽度转换的作用。在每帧信号开始的时候,由VSYNC信号实现三者同步。由于LCD输出的数据宽度是SAA7102输入数据的两倍,所以用了一个倍频电路将SAA7102的时钟信号加倍,以满足数据传输的速率要求。
图2 视频输出电路框图
影音录制
影音录制部分(图3)也是通过硬件实现的。输入的模拟复合视频信号经Philips的视频解码芯片SAA7113转换为数字信号,以YUV方式传输给华邦公司的JPEG压缩芯片W9968,经硬件压缩为Motion JPEG图像信号并通过扩展总线接口传输到Sitsang开发板。音频输入信号则直接通过Sitsang开发板上的音频输入接口送到Sitsang开发板上的音频编码芯片,转换成数字信号并进行编码。应用程序将Motion JPEG图像信号与音频信号一起转换为基于Motion JPEG编码的AVI格式媒体文件并存入移动硬盘。保存下来的文件可以直接被MPlayer播放。
图 3 视频录制电路框图
为了给媒体文件的存储提供大量的空间,本系统通过板上的USB主端口扩展30GB移动硬盘和通用读卡器。并重新定制Linux内核,使其增加对USB移动硬盘和通用读卡器的支持。
红外遥控
为了方便用户的控制,在视频扩展板上安装了红外遥控接收模块,其基本结构如图4所示。其中红外接收装置仅仅是一个红外接收头,接收到的串行数据信号送入MCU( 89C2051),由软件进行解码。这样做的好处是可以通过修改软件实现对不同遥控器的兼容,同时也充分利用了视频扩展板上的资源。
解码后的数据通过串口送往Sitsang开发板。Qt/Embedded链接库提供对终端设备、虚拟键盘和USB键盘等多种输入设备的支持。为了让Sitsang开发板支持红外遥控器,修改了Qt/Embedded中处理USB键盘事件的部分,将从串口读入的数据作为键盘事件来处理,结合应用程序中热键的定义,完成了遥控功能。
图4 红外遥控部分的基本结构
网络服务
有了媒体播放器的支持,用户基于宽带网络既可以利用FTP下载工具,从FTP站点上下载影音资源,又可以通过VOD点播系统实现在线观看视频节目,享受丰富的网络资源。本系统支持基于HTTP协议的顺序流式VOD点播和网络文件系统NFS的视频点播。除提供VOD点播服务外,本部分还提供网络广播的收听和网络文件系统的功能。
结语
本系统通过移植MPlayer播放器,扩大Sitsang平台的功能,支持MPEG-1、MPEG-2、DivX3、DivX4、DivX5、XviD等视频格式和MP3、WMA等音频格式文件的流畅播放。同时还支持HTTP协议的网络文件的播放和网络广播的收听。
视频扩展板的输出信号稳定,色彩自然。配合宽屏幕的彩色电视机,给人以美好的视觉享受。视、音频信号录制功能可以实现录像机、网络机顶盒等功能,与LCD配合又可以使得“随身看”的节目源多样化。红外遥控功能操作简单,能在相当大的范围内保证正确的识别。
系统中提供的其它模块涉及到图像处理、文件管理、网络下载、移动存储等软硬件技术,在测试中各模块工作正常,性能稳定,达到了设计的指标。
参考文献:
1. 陈章龙等,嵌入式技术与系统——Inter XScale结构与开发,北京:北京航空航天大学出版社,2004
2. Arthur Griffith,KDE 2/Qt编程宝典,北京:电子工业出版社,2002