《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式掌上娛樂系統設計方案
嵌入式掌上娛樂系統設計方案
摘要: 在UP-TECHS3C2410DVK1.1開發平臺下,提出了一個觸摸式的嵌入式掌上娛樂系統設計方案。本系統主要包括多媒體播放器和游戲的基本功能。計了嵌入式游戲,增加了系統的娛樂性。使用觸摸屏方便作為人機交互的平臺。采用跨平臺性能良好的Qt4 設計了應用程序和人機界面,界面友好,漢化顯示,美觀,操作簡便,運行流暢。
Abstract:
Key words :

在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 系統的軟件結構框圖

圖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.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 實現原理

應用層軟件的設計主要包括兩個模塊:多媒體播放器以及游戲模塊。用戶主界面設計了一個主框架,然后將其他功能模塊的圖標放在該框架內,完成了整體的規劃設計。下面詳細介紹這兩個功能模塊的設計與實現。

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 播放器結構圖

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 播放器軟件流程圖

圖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")。

下面對播放器的暫停播放功能和音量調節進行介紹。

① 播放暫停功能設計

通過這段代碼可以設置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 播放器模塊實驗結果圖

圖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 游戲模塊實驗結果圖

圖6 游戲模塊實驗結果圖

4 總結

本系統采用開源的Linux 操作系統和QT4 界面設計工具,整個系統采用模塊化設計,具有良好的可擴展性。硬件平臺采用的是 UP-TECH S3C2410 DVK1.1嵌入式系統,該芯片采用ARM 架構,其獨特的架構設計具有功耗低、功能強的特點,因此非常適合用于手持式設備;采用LCD 觸摸屏與用戶進行交互,使用簡單,符合便攜式終端的發展趨勢。

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品一级二级三级| 精品不卡在线| 久久久久久久一区二区三区| 亚洲一区二区三区四区五区午夜| 亚洲黄色影片| 久久av一区二区三区| 一本久道综合久久精品| 亚洲精品乱码久久久久久久久| 在线看国产一区| 一区在线播放| 在线欧美影院| 亚洲成色最大综合在线| 在线精品国精品国产尤物884a| 黄色欧美日韩| 一区三区视频| 亚洲国产日本| 亚洲国产日韩在线| 91久久国产自产拍夜夜嗨 | 欧美午夜视频一区二区| 欧美日韩中文字幕在线| 欧美性大战久久久久| 国产精品欧美精品| 亚久久调教视频| 午夜伦欧美伦电影理论片| 亚洲欧美日韩中文在线制服| 欧美一区二区三区日韩| 久久精品视频一| 亚洲激情啪啪| 99热精品在线观看| 亚洲一区影院| 久久国产精品黑丝| 麻豆精品国产91久久久久久| 免费影视亚洲| 欧美日本网站| 国产精品亚洲成人| 国模大胆一区二区三区| 亚洲高清在线精品| 日韩视频一区二区| 亚洲欧美精品suv| 久久精品国产亚洲a| 亚洲美女黄网| 午夜久久99| 美女尤物久久精品| 欧美三级在线视频| 国产视频精品xxxx| 亚洲国产日韩精品| 亚洲婷婷国产精品电影人久久| 香蕉久久一区二区不卡无毒影院| 亚洲成色999久久网站| 亚洲美女尤物影院| 亚洲女ⅴideoshd黑人| 久久精品一二三区| 欧美激情亚洲自拍| 国产精品丝袜91| 尤物九九久久国产精品的分类| 亚洲精品综合在线| 欧美一区二区日韩一区二区| 亚洲狼人综合| 久久成人18免费观看| 欧美国产综合视频| 国产毛片精品视频| 亚洲精品久久久久中文字幕欢迎你 | 免费黄网站欧美| 欧美日韩专区在线| 狠狠久久亚洲欧美专区| 99re在线精品| 欧美在线网站| 一区二区三区四区五区精品| 欧美在线综合视频| 欧美日韩1区2区| 国产欧美69| 亚洲另类自拍| 亚洲激情视频在线播放| 午夜久久99| 欧美日韩国产综合久久| 韩国av一区二区| 亚洲一区国产精品| 亚洲美女在线国产| 久久久之久亚州精品露出| 欧美视频亚洲视频| 1000部国产精品成人观看| 亚洲制服av| 99re66热这里只有精品3直播 | 欧美主播一区二区三区| 欧美精品一区二区三区在线看午夜| 国产日本欧美一区二区| 亚洲美女视频在线免费观看| 久久成人免费电影| 亚洲欧美综合精品久久成人| 欧美风情在线观看| 加勒比av一区二区| 午夜一级在线看亚洲| 亚洲午夜久久久久久久久电影网| 看片网站欧美日韩| 国产日韩在线亚洲字幕中文| 这里只有精品视频在线| 亚洲精品视频在线观看免费| 久久久精品国产免大香伊 | 亚洲一区亚洲| 欧美日韩国产bt| 在线看视频不卡| 亚洲国产精品传媒在线观看| 欧美一区二区三区另类| 欧美午夜视频网站| 亚洲久久一区| 一区二区三区日韩欧美精品| 欧美激情久久久久| 在线日韩中文字幕| 亚洲片在线资源| 久久网站免费| 国产亚洲欧美日韩一区二区| 亚洲综合精品四区| 午夜在线视频观看日韩17c| 欧美午夜www高清视频| 99视频一区| 亚洲午夜激情网站| 欧美日韩综合在线免费观看| 亚洲乱码视频| 中文在线资源观看网站视频免费不卡 | 欧美视频网址| 日韩一区二区高清| 亚洲天堂av在线免费观看| 欧美日韩亚洲一区二区三区在线观看 | 性欧美video另类hd性玩具| 国产精品爱久久久久久久| 一本大道久久精品懂色aⅴ| 亚洲一二三区精品| 欧美午夜免费| 亚洲在线第一页| 久久精品卡一| 黄色成人av| 最新亚洲激情| 欧美日韩亚洲综合| 中文精品视频一区二区在线观看| 亚洲一区在线播放| 国产精品久久久久9999| 亚洲男人的天堂在线观看| 久久精品91| 在线成人欧美| 日韩视频中午一区| 国产精品99免费看 | 亚洲免费伊人电影在线观看av| 欧美有码在线视频| 国产在线成人| 亚洲国产综合在线| 欧美日本久久| 亚洲一区二区综合| 久久久亚洲人| 亚洲人成艺术| 亚洲综合电影| 国产在线播精品第三| 亚洲精品免费在线| 国产精品久久久久久影院8一贰佰| 亚洲制服av| 美女视频一区免费观看| 亚洲精品视频免费在线观看| 亚洲一区二区三区在线视频| 国产日韩成人精品| 最新精品在线| 国产精品久久久一区麻豆最新章节| 欧美一区二区黄| 欧美高清在线一区二区| 一级日韩一区在线观看| 欧美在线播放| 亚洲成色精品| 亚洲欧美日韩成人高清在线一区| 国产一区二区av| 亚洲伦理久久| 国产日韩在线一区| 欧美激情精品久久久久久大尺度| 亚洲人体一区| 国产精品扒开腿做爽爽爽视频 | 午夜视频久久久久久| 狠狠色综合一区二区| 一区二区三区国产在线观看| 国产精品一区一区| 亚洲美女av黄| 国产亚洲毛片| 亚洲午夜精品久久久久久浪潮| 韩日午夜在线资源一区二区| 亚洲少妇最新在线视频| 国产一区二区精品丝袜| 在线亚洲一区二区| 很黄很黄激情成人| 亚洲欧美日本精品| 在线欧美一区| 久久福利视频导航| 亚洲免费av网站| 久久在线观看视频| 亚洲一区二区三区色| 欧美黄色片免费观看| 欧美有码在线视频| 欧美三级日韩三级国产三级| 亚洲国产成人精品视频| 国产精品久久久久久久免费软件 | 久久aⅴ国产欧美74aaa| 欧美日韩综合久久| 日韩视频免费| 激情校园亚洲| 欧美在线视频一区|