嵌入式掌上娱乐系统设计方案

发布者:静心静气最新更新时间:2012-04-27 来源: eefocus关键字:嵌入式  触摸式  多媒体 手机看文章 扫描二维码
随时随地手机看文章

在UP-TECH S3C2410 DVK1.1 开发平台下,提出了一个触摸式的嵌入式掌上娱乐系统设计方案。本系统主要包括多媒体播放器和游戏的基本功能。本系统可以播放现有的大多数的音频视频文件;设计了嵌入式游戏,增加了系统的娱乐性。使用触摸屏方便作为人机交互的平台。采用跨平台性能良好的Qt4 设计了应用程序和人机界面,界面友好,汉化显示,美观,操作简便,运行流畅。整个系统模块化设计,充分考虑了软件系统自身所占的存储空间以及可扩展性,具有广阔的市场前景。

嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。近年来,随着微处理器技术、DSP 技术、多媒体编解码技术以及嵌入式技术的发展,多媒体娱乐终端已经成为消费性电子产品的热点。同时,逐渐成熟的市场随着MP3 在市场上取得的巨大成功,以及MP4、数字电视、3G 通讯等相关技术的起步,在未来几年内都将会得到快速发展。多媒体终端正是数字信息产业的一个重要组成部分,所以在这个背景下,MultimediaTerminal 蕴含着极大地发展潜力。本文是基于Linux 嵌入式操作系统在UP-TECHS3C2410 DVK1.1 开发平台下设计并实现了一个高性能、低功耗、低成本的嵌入式掌上娱乐系统。

1 系统概述

本系统以UP-TECH S3C2410 DVK1.1 为开发平台,使用嵌入式linux 作为操作系统。

本系统的实现包括两个方面,一是底层系统的搭建。本系统是在通用的嵌入式Linux 操作系统上进行适当的裁剪,使其符合系统的硬件平台,并且初始化开发底层的驱动,实现了对系统的控制以及数据的存储和传输。二是应用层的实现。

系统的底层包括文件系统的搭建以及各种接口部件的驱动程序,这些驱动程序通过嵌入式Linux 操作系统进行调用,然后完成应用的功能,为上层的接口层和应用层提供服务[5].

中间的嵌入式GUI 为接口层,采用QT4 作为用户GUI 的界面库。QT4 是基于服务器-客户端的一种用户界面中间件,提供了丰富的功能控件和精美的界面设计功能,可以便捷的设计出所需要的各种功能模块。

系统的最上层就是直接面向用户的应用层。该层采用QT4 设计,向用户提供了精美的用户界面,用户可以通过触摸屏方便的调用相关功能。系统的软件结构框图如图1 所示:

图1 系统的软件结构框图

应用层的设计是本文主要的开发工作,主要包含以下几种功能模块:

① 多媒体功能模块:调用MPlayer 播放器对系统内存或者USB 接口中的外存定位对应的体文件,并将其解码;视频、视频文件可以全屏播放/最小播放。几乎可以播放市面上现存的所有的音频、视频文件。

② 娱乐游戏功能:提供了几个界面友好有趣的游戏,增加系统的娱乐性。

2 开发平台

2.1 硬件开发平台介绍

硬件平台采用博创UP-TECH S3C2410 DVK1.1 开发板,处理器类型:Samsung S3C2410.主频:203MHZ。

它适用于工业控制、移动通信设备、医疗仪器等多种场合,外扩64MB NAND FLASH 和64M SDRAM,提供USB2.0 接口与计算机进行高速通信;该平台集成了大尺寸LCD 触摸屏,型号:LQ080V3DG01,分辨率:640*480 像素,这也是选择它作为开发平台的重要原因。系统硬件结构框图如图2 所示。

图2 系统硬件结构框图

2.2 软件开发平台介绍

在系统层,由于UP-TECH S3C2410 DVK1.1 开发板提供原始的系统(vivi、linux-2.4、root.cramfs)版本低,因此,针对多媒体娱乐系统,裁剪移植了适合本系统的Uboot-1.1.6、linux-2.6.24 内核和yaffs 文件系统。该系统使用较为通用的bootloader:UBoot,网络资源较多的内核linux2.6 和可读可写的yaffs 文件系统,易于系统的开发。并配置了LCD 屏驱动、网卡驱动、SD 卡等驱动。

在应用层,采用QT SDK 设计所有的应用程序。

Qt 是一个跨平台的C++图形用户界面(GUI)库,包括跨平台类库、集成开发工具和跨平台IDE.使用Qt"一次开发,多次编译",无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。

3 实现原理

应用层软件的设计主要包括两个模块:多媒体播放器以及游戏模块。用户主界面设计了一个主框架,然后将其他功能模块的图标放在该框架内,完成了整体的规划设计。下面详细介绍这两个功能模块的设计与实现。[page]

3.1 播放器的实现

对于音频和视频的播放,本系统使用QT 设计一个前端播放、控制界面,并使用Mplayer 作为后端程序,能播放mp3、ogg、ogm、wma、wav、asf、au、avi、mpeg、mpg、mv1、mov、wmv、pls、m3u、mp4、 m4a 等音频和视频格式。播放器模块的结构图如图3 所示,播放器使用Mplayer 作为后端程序(红色部分),使用QT4开发前端程序(绿色部分)。

图3 播放器结构图

3.1.1 后端程序简介

本系统使用Mplayer 作为其后端程序。MPlayer被评为Linux 下的最佳媒体播放工具,不需要任何系统解码器就可以播放包括视频、音频、流媒体、广播、电视等各种媒体。

Mplayer 另一个重要特点在于其开源性。

Realplayer,Windows Media Player,Quick Time 等许多播放软件都是性能优秀的播放软件,但由于它们都不开放源代码,给移植带来了麻烦。同时MPlayer 还具有良好的移植性,可以移植到许多非X86 平台上,MPlayer 软件包中含有针对ARM 架构的优化代码,这些代码利用ARM 的特性加快了对媒体的处理速度。

基于以上多个原因,本系统选择了MPlayer 作为娱乐终端的播放软件。本系统通过移植Mplayer 来实现对视频的播放功能。Mplayer 编、解码模块,是系统的音、视频处理中心,在mplayer 的编解码库中,包含的大量的音、视频格式处理程序,经过编译优化过的mplayer 可以完成对大多数音、视频格式高效的编解码工作。

3.1.2 前端程序的设计与播放器的实现

主界面窗口有一个显示屏和一些控制按钮,包括播放、暂停、下一首、上一首、音量调整以及播放进度条。文件操作窗口可以使用户选择要播放的文件。

播放列表用来播放用户加载的多媒体文件。

MPlayer 默认全屏播放,但在GUI 中一般都是指定区域或者控制来播放。这样显得美观,MPlayer 支持在指定的X 窗口播放的功能。用-wid 参数告诉窗口ID即可。例如:mplayer test.mpg -wid 0x00029 #0x0029是XID,而QT 的控件都是从QWidget 继承下来,因此它本身也有wid,这样只要用 QWidget::winID() 取出WID,即可实现在指定窗口播放视频的功能。

本模块是建立一个Qt GUI 程序。然后用一个label控件来播放视屏,用一个进度条显示播放的进度,用按键显播放,暂停,上一首,下一首,停止和添加资源文件。然后用一个Qprocess 在后台执行MPlayer,并把label 的WID 传给它。然后把MPlayer 的输入输出重定向,把原本从标准输入接收命令变成从GUI 的接收命令。

3.1.3 播放功能设计

播放器实现的软件流程图如图4 所示:

图4 播放器软件流程图。

通过定义一个QProcess 对象调用已编译好的Mplayer。

QProcess *process = new QProcess();

process->setProcessChannelMode(QProcess::MergedChannels);

Process->start("mplayer –ac –mad xxxxx");

在命令中添加 -slave 和 -quiet 就可以通过命令设置Mplayer 实现相应的功能。Process->start("mplayer–slave –quiet –ac –mad xxxxx")。

[page]

下面对播放器的暂停播放功能和音量调节进行介绍。

① 播放暂停功能设计

通过这段代码可以设置Mplayer 暂停:process->write("pause ");执行这段代码的时候在播放状态下就会暂停,暂停状态下就会继续播放。

② 音量调节

下面代码即可实现音量调节的功能:

Process->write("volume -1 "); //音量减小;

Process->write("volume +1 "); //音量增加;

Process->write("volume XX 1 "); //音量设置成指定值

该系统使用如下代码实现音量调节:

QString cmd="volume" +QString::number(value)+" 1 ";

process->write(cmd.toLocal8Bit()。data());

系统最终实现的实验效果图如图5 所示:

图5 播放器模块实验结果图

3.2 游戏模块的设计

本系统设计了一个打砖块游戏。通过建立一个打砖块的游戏类CannonField,包含角度int angle、力度int force、是否正在射击bool isShooting 等成员,具有设置角度setAngle(int angle)、设置力度setForce(intforce)、射击shoot()、运动轨迹shotRect()、游戏控制newTarget()、 setGameOver()、restartGame()等槽函数,能发出击中hit() 、未击中missed()、角度变化angleChanged(int newAngle) 力度变化force Changed(int newForce)等信号。

游戏开始时使用随机函数在指定区域内显示一个砖块,点击射击按钮时通过setAngle 和setForce 设置的角度和力度,使用shoot()进行射击,通过发出的击中hit()或未击中missed()信号来作出相应的动作。仿真效果图如图6 所示:

图6 游戏模块实验结果图

4 总结

本系统采用开源的Linux 操作系统和QT4 界面设计工具,整个系统采用模块化设计,具有良好的可扩展性。硬件平台采用的是 UP-TECH S3C2410 DVK1.1嵌入式系统,该芯片采用ARM 架构,其独特的架构设计具有功耗低、功能强的特点,因此非常适合用于手持式设备;采用LCD 触摸屏与用户进行交互,使用简单,符合便携式终端的发展趋势。

关键字:嵌入式  触摸式  多媒体 引用地址:嵌入式掌上娱乐系统设计方案

上一篇:便携式应用中的音频接口规格概述
下一篇:单片调幅收音机电路D7641的应用介绍

推荐阅读最新更新时间:2024-05-02 22:02

基于Linux嵌入式操作系统掌上娱乐系统设计方案
近年来,随着微处理器技术、DSP技术、多媒体编解码技术以及嵌入式技术的发展,多媒体娱乐终端已经成为消费性电子产品的热点。同时,逐渐成熟的市场随着MP3在市场上取得的巨大成功,以及MP4、数字电视、3G通讯等相关技术的起步,在未来几年内都将会得到快速发展。 嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 多媒体终端正是数字信息产业的一个重要组成部分,所以在这个背景下,MultimediaTerminal蕴含着极大地发展潜力。 本文是基于Linux嵌入式操作系统在UP-TECHS3C2410DVK1。1开发平台下设计并实现了一个高
[单片机]
基于Linux<font color='red'>嵌入式</font>操作系统掌上娱乐系统设计方案
基于Murphypinyin的嵌入式键盘设计
引 言   随着嵌入式系统的飞速发展,在嵌入式手持设备中,人机交互设备是与用户接触最多的部分,最能够直接快速地体现出该设备的性能。所以,是否有一个友好的、快速的、可靠的人机交互设备已经成为衡量一款手持设备的重要指标。在嵌入式人机交互设备中,键盘由于其具有很高的准确性和可靠性,能够适应各种恶劣的工作环境,并且具有很长的使用寿命,而得到广泛应用。   本文根据手持终端的特点,设计出一款矩阵键盘,并在Linux平台下开发出键盘的驱动程序。采用Qt/Embedded构建图形界面,通过对Qt/Embedded自带输入法的分析,结合Murphpinyin中文输入法软件包,构建了一款可输入数字、中/英文的嵌入式键盘。   1 硬件设计
[单片机]
基于Murphypinyin的<font color='red'>嵌入式</font>键盘设计
研华触摸式工业平板电脑在远程监控系统上的应用
项目介绍   分布式能源是分布在用户端的供能及能源综合利用系统。风能、太阳能、燃气发电等方式均是分布式能源利用方式。燃气发电是最稳定的分布式供能方式之一,优秀的冷热电三联供发电系统能够把燃气发电的有效率提高到 95%以上。2011年4月国家能源局曾发布要建成1000个天然气分布式能源项目,2020年在大城市推广使用分布式能源系统,装机容量达到5000万千瓦。       系统描述   1.研华可编程控制器APAX-5620及APAX IO模块为现场发电机的主控设备,负责现场设备状态及发电机运行系统控制;   2.研华数据采集模块ADAM-6015、ADAM-6017作为分布式采集发电机油温及油压;   3.研华触摸式工
[模拟电子]
研华<font color='red'>触摸式</font>工业平板电脑在远程监控系统上的应用
半导体产业的三月:摩尔定律的荣光与嵌入式世界的生态扩展
华兴万邦技术经济学报告 半导体产业的三月:摩尔定律的荣光与嵌入式世界的生态扩展 回顾即将过去的三月,尽管本月是许多股票上市的半导体公司发布2022年年报的月份,也是很多全球重要半导体行业活动开始登场的月份,但是半导体领域内最值得关注的既不是某家公司的年报,也不是某家公司发起的大型收购。业界谈论最多的还是诸如ChatGPT这样的多模态大模型人工智能技术对半导体行业带来的机会,以及摩尔定律的提出者戈登•摩尔先生辞世引发的对行业发展规律的进一步探索。 2023年3月24日,摩尔定律的提出者、仙童半导体公司(Fairchild Semiconductor)和英特尔(Intel)的联合创始人、戈登和贝蒂•摩尔基金会的联合发起人戈登
[嵌入式]
半导体产业的三月:摩尔定律的荣光与<font color='red'>嵌入式</font>世界的生态扩展
安森美将在德国国际嵌入式展(Embedded World) 展示可持续的创新
安森美将在德国国际嵌入式展(Embedded World) 展示可持续的创新 演示包括面向工业和汽车市场的最新方案与技术 2023 年 3 月 8日—领先于智能电源和智能感知技术的安森美(onsemi,),将在德国国际嵌入式展(Embedded World)展示其最新的可持续创新技术 。Embedded World是开发人员、系统架构师、产品经理和技术管理人员必到的行业盛会,将于2023年3月14日至16日在德国纽伦堡展览中心举行,安森美的展台位于4A馆260号展位。 今年Embedded World以“嵌入式、负责任和可持续(embedded, responsible and sustainable)”为主题
[物联网]
安森美将在德国国际<font color='red'>嵌入式</font>展(Embedded World)  展示可持续的创新
以DSP为核心的嵌入式系统人机接口设计
1 引言 人机接口是嵌入式控制系统的重要组成部分,用于人机之间实时交换控制系统并返回系统状态。嵌入式系统大都采用液晶屏和键盘作为人机接口的输入、输出设备。这里设计的人机接口作为数据采集系统的组成部分,为系统控制和运行监测提供方便,而其本身在各种嵌入式控制系统中又具有广泛的实用性。 2 液晶屏显示功能的实现 这里采用的液晶显示器为RT320240B。该显示器的控制器使用SEIKO EPSON公司生产的SED1335型控制器。DSP访问SED1335时,无需判断其是否空闲,SED1335能够随时准备接受DSP的访问并按照内部时序及时正确传输DSP发送的指令、数据。考虑到RT320240B是大屏幕液晶显示器,显示数据
[嵌入式]
高效率嵌入式程序开发
摘 要:嵌入式系统对应用软件的质量要求很高,在嵌入式开发中须注意对代码进行优化,尽可能地提高代码效率。虽然C编译器都提供了一定程度的代码优化,但大部分由编译器执行的优化技术仅涉及执行速度和代码大小的平衡,不可能使程序既快又小,因而必须在编写程序时采取必要的措施。本文针对高效率嵌入式程序开发提供了一些编程技巧,对实际系统开发具有重要作用。 关键词:编译器; 程序开发; 代码优化 引言 在多媒体、通信等计算复杂度高的应用中,为了满足制造费用、功耗、性能以及实时性等诸多限制条件的要求,嵌入式系统程序往往需要特殊设计。这使得设计师在设计面向特定应用的嵌入式软件时,需要有一套切实可行的编程准则。而在实际程序设计中,工程师尤其需要考虑
[嵌入式]
是谁在拉动嵌入式存储的技术革新和市场扩张?
近年来,受到全球半导体产能短缺、新冠疫情以及季节性需求等因素的影响,存储器件的价格呈现出较大的波动态势。 J.P. Morgan, Gartner and Deloitte等主要行业分析机构的分析师都预测了半导体产能的短缺将持续整个2022年,甚至更长。根据WSTS的数据分析,2022年全球存储器件市场的规模将达到1716.82亿美元,较之前预估的2022年增加135.21亿美元,同比增长将会达到8.5%。 图 | WSTS的电子元器件市场预测(2021年11月) 图源:WSTS 作为占半导体芯片行业大约30%的存储器件,其需求增长速度是快于半导体行业的。是什么在拉动存储器件的市场需求?目前来看,类似于5G、物联网
[嵌入式]
是谁在拉动<font color='red'>嵌入式</font>存储的技术革新和市场扩张?
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved