基于QT4_Linux多媒体播放器系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第26卷第1期贵州大学学报(自然科学版)
V o.l 26N o .1
2009年 2月Journa l o f G uizhou U n i ve rsity (N atura l Sc i ences)F eb .2009
文章编号 1000-5269(2009)01-0060-05
基于QT4&L inux 多媒体播放器系统的设计与实现
王 震,林小川,周运练,欧阳天立
(北京理工大学珠海学院计算机科学技术学院,珠海519085)
摘 要:采用AR M 架构的嵌入式CP U,完成了多媒体浏览器的设计与实现。首先在I ntel Xsca le PXA 270上搭建一个完整的嵌入式L i n ux 操作系统平台,包括boo tl o ader 、内核以及文件系统的裁减与移植,并且开发了相关的驱动程序,如蓝牙驱动、触摸屏驱动、矩阵键盘驱动、SD /M M C 卡的驱动以及LCD 显示屏的驱动等,用于完成系统基本的输入输出功能;然后在系统上移植了QT4用于设计应用程序和友好的GU I 界面,并在此基础上开发/移植了图象浏览、视频播放、日历时间、文本浏览等功能软件;最后设计了友好的GU I 界面,将这些软件有机的组织在一起,形成了完整的多媒体浏览器系统。
关键词:ARM;QT;多媒体浏览器;数码相框中图分类号:TP311.52 文献标识码:B 随着科技的不断发展,科技早已渗入到人们日常的生活当中,科技不仅带给人们不同程度的便利,同时也带给商家广阔的开发前景。 智能化 已经成为各种商品的发展趋势,而 智能家居 概念的出现更是一种科技发展对生活改变的一种体现。 数码相框 作为 智能家居 的一个重要组成部分,不但拥有多元化的功能,更具有把百姓生活带入 智能化 的重要意义。但是现有 数码相框 产品缺少网络通讯与智能控制功能,这样使得数码相框没有正真融入到智能家居之中。各种信号在智能家居之间的传输,和数据之间的共享变得不方便,因此,在 数码相框 的基础上, 多媒体浏览器 这个新的开发概念由此产生。
1 功能设计
多媒体浏览器系统的系统框图如图1所示
:
图1 系统框图
系统的最底层是系统层,包括各种接口部件的
驱动程序,这些驱动程序通过嵌入式L i n ux 操作系统进行调用,然后完成相应的功能,为上层的接口层和应用层提供服务。
中间的嵌入式GU I 为接口层,采用QT4作为用户GU I 的界面库。QT4是基于服务器-客户端
的一种用户界面设计中间件[1]
,提供了丰富的功能控件和精美的界面设计功能,可以便捷的设计出赏心悦目的需要功能模块。
系统的最上层就是直接面向用户的应用层。该层采用QT4设计,向用户提供了精美的用户界面,用户可以通过触摸屏方便的调用相关的功能。该层主要包含以下几种功能模块:
图片浏览功能模块:对预设目录中的图片进行解码绘图,可以单张全屏/最小查看并可对图片进行放大、缩小、翻转灯操作,同时也可以对多张幻灯播放显示。
电子书功能模块:可以显示txt 格式的文本信息,用户可以运行该功能阅读电子书籍。
多媒体功能模块:调用m player 播放器对系统内存或者U SB 接口中的外存定位对应的媒体文件,并将其解码进行播放;视频文件可以全屏播放/最小播放,音频文件可以前台播放/背景播放。
日历时钟功能模块:可以显示时间/日期,并具有记事本功能。
网页浏览功能模块:可以从将网络上下载的超文本信息,通过该功能模块的解码后正确的显示
*收稿日期:2009-02-09
作者简介:王 震(1980-),男,河南泌阳人,助教,研究方向:嵌入式系统设计与应用
在显示屏上,为用户提供便捷的上网服务。
2 系统硬件设计
系统采用I ntel 的XSCALE PXA 270处理器作
为主处理器。
2.1 XSCALE PXA 270主要特性介绍
[2]
XSC ALE PXA 270是I n tel 公司于04年4月推出的面向移动设备的具有较高媒体处理能力的芯片。该芯片是基于XSca le 架构的PXA27X 系列处理器,最高主频达到624MH z ,同时加入了W ire less MMX 无线多媒体扩展指令集技术和SpeedStep 动态电源管理技术,不但增强了PXA270的多媒体处理能力,使得其能够支持2D 和3D 游戏、数据流M PEG4视频、无线加密/解密、语音识别和数字编辑等应用,而且极大地降低了系统功耗,延长了便携产品的电池使用功耗。2.2 硬件电路的设计
多媒体浏览器系统的主要硬件框图如图2所示
:
图2系统硬件结构图
系统的硬件采用模块化设计。根据功能的不同,主要有以下模块:
处理器模块:即PXA270处理器,用于实现系统的输入输出控制和音视频、图像等的编解码;
输入接口模块:包括触摸屏和键盘,主要处理用户的交互输入信息;
音频输出模块:主要用于音频信息的输出,包括本地内置喇叭的音频输出和音频接口的输出;
显示输出模块:主要用于输出视频、图像、日历时间、文本等功能信息的输出,实现人机的交互;
系统控制模块:包括晶振、电源等,复位电路,总线扩展槽等。
存储模块:包括NOR /NAND F lash 、SDRAM 、U 盘等。用于系统初始化代码的存放以及音视频数据的存储;
蓝牙模块:用于网络传输。
3 系统软件设计
在完成系统硬件的设计与调试之后,接下来就是嵌入式L i n ux 操作系统以及ARM +DSP 双向通信驱动的开发,以及嵌入式视频监控系统应用程序的开发。其软件的开发框图如图3所示:
图3 系统软件开发流程图
3.1 嵌入式操作系统的设计
在通用的嵌入式L i n ux 操作系统[3]
上,对其进行适当的裁剪,使其符合系统的硬件平台,并且初始化PXA270、开发底层的驱动,实现了对系统的控制以及数据的存储和传输。3.1.1 引导程序bootloader 的实现
系统中bootloader [4]
的作用主要有:系统底层硬件初始化、拷贝bootloader 自身到RAM 空间中、外围设备初始化、人机界面初始化等功能。此处根据系统开发板的资源情况,对其进行修改,然后将其烧写到开发板中,即可进行系统的引导,并可以使用其基本的功能。3.1.2 嵌入式Linux 内核及文件系统的实现1)嵌入式Linux 内核[5]
的实现
根据开发平台的硬件特性,修改内核中相应的代码。同时由于本系统要实现音视频数据的编解码,视频有PXA270cpu 进行解码,而音频需要添加UCB1400的驱动和操作。
A.硬件平台存储器空间地址分配
在内核i n clude /as m /arch -davinci 目录下的m e m ory .h 头文件中,进行各存储器的空间地址分配的宏定义。包括NOR F lash 、NAND F l a sh 、SDRAM 的基地址、大小,以及FLASH 和SDARM 空间的分配情况。
61 第1期王 震等:基于QT 4&L i nux 多媒体播放器系统的设计与实现