DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 239|回复: 0
打印 上一主题 下一主题

[待整理] 基于Sitsang平台的便携式多媒体中心

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 07:52:25 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
基于Sitsang平台的便携式多媒体中心

摘要:本设计在充分利用Sitsang开发板原有资源的基础上,通过增加硬件扩展系统、定制Linux内核和Qt/Embedded开发库等手段,基于Qtopia桌面系统实现了一个便携式多媒体中心。
关键词:多媒体;嵌入式;Linux内核;Qt/Embedded开发库概述
    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=<width>:<height>参数,但会导致播放极不流畅。因此对MPlayer的优化主要集中在以下四个方面:一、校正MPlayer的色彩;二、修改播放显示位置,使之符合MPlayer图形界面的调用;三、提高MPlayer放大时的速度,定义全屏时放大倍数为1.5倍,优化放大部分的运算;四、在播放时通过键盘事件触发全屏模式。
    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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-21 16:17 , 耗时 0.097512 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表