《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式掌上娛樂系統設計方案
嵌入式掌上娛樂系統設計方案
摘要: 在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亚洲国产精品_日韩亚洲一区二区
欧美在线一二三| 国产精品国产三级国产aⅴ入口| 亚洲图片你懂的| 夜夜夜精品看看| 日韩视频精品在线| 亚洲精品视频免费| 亚洲精品在线视频观看| 亚洲人成网站影音先锋播放| 亚洲黄色视屏| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲日本欧美日韩高观看| 亚洲第一区在线观看| 亚洲国产精品激情在线观看| 亚洲国产精品传媒在线观看| 亚洲国产一区二区三区高清| 亚洲电影中文字幕| 亚洲激情电影中文字幕| 亚洲三级性片| 99精品视频免费在线观看| 日韩亚洲欧美一区| 一区二区三区久久| 亚洲视频999| 亚洲欧美日韩国产一区二区三区| 午夜精品视频一区| 久久国产精品亚洲va麻豆| 久久精品道一区二区三区| 亚洲国产日韩欧美在线动漫| 亚洲精品日韩精品| 亚洲五月六月| 久久狠狠久久综合桃花| 久热精品视频在线| 欧美欧美午夜aⅴ在线观看| 欧美性一区二区| 国产日韩免费| 亚洲国产精品成人| 夜夜嗨一区二区| 亚洲一区二区少妇| 久久精品一区中文字幕| 亚洲精品免费电影| 亚洲在线观看免费视频| 久久久久久一区二区| 欧美激情1区2区| 国产精品久久久久久久久| 国产一区二区欧美| 亚洲欧洲另类| 亚洲欧美精品伊人久久| 亚洲欧洲一级| 亚洲小视频在线| 久久久精品国产99久久精品芒果| 免费在线亚洲| 国产精品美女久久久| 国内精品久久久| 亚洲毛片在线免费观看| 亚洲伊人网站| 亚洲激情av| 亚洲男人天堂2024| 久久综合激情| 欧美午夜精品久久久久久超碰| 国产日韩综合| 日韩亚洲欧美一区二区三区| 欧美伊人久久久久久久久影院| aa日韩免费精品视频一| 久久av二区| 欧美日韩国产精品专区| 国产视频久久久久| 日韩一级大片| 亚洲黄色影院| 久久国产欧美精品| 欧美午夜剧场| 亚洲第一福利社区| 午夜精品久久久久影视| 一区二区三区产品免费精品久久75 | 欧美高清在线精品一区| 国产精品亚发布| 亚洲精品看片| 亚洲福利视频网| 欧美影院午夜播放| 欧美日韩另类综合| 在线成人激情黄色| 亚洲欧美日本另类| 亚洲天堂av综合网| 欧美高清在线观看| 国内激情久久| 亚洲自拍都市欧美小说| 亚洲乱码国产乱码精品精可以看| 久久精品网址| 国产精品毛片a∨一区二区三区| 亚洲国产精品久久久久秋霞影院| 性欧美1819sex性高清| 亚洲综合成人在线| 欧美人与禽性xxxxx杂性| 一区二区三区在线观看国产| 亚洲欧美成人精品| 亚洲女人小视频在线观看| 欧美国内亚洲| 亚洲大黄网站| 亚洲高清免费| 久久午夜影视| 国产一区二区三区久久| 亚洲你懂的在线视频| 亚洲欧美日韩精品久久| 欧美午夜精品理论片a级按摩| 亚洲日韩欧美视频一区| 91久久夜色精品国产九色| 久久人人97超碰国产公开结果 | 亚洲一区二区在线免费观看视频 | 国产精品高潮在线| 一区二区三区三区在线| 一本色道久久精品| 欧美激情一区二区三区| 亚洲激情中文1区| 亚洲美女免费精品视频在线观看| 免费在线成人av| 亚洲成人原创| 亚洲精品视频二区| 欧美国产视频在线| 亚洲全黄一级网站| 日韩视频一区二区| 欧美人妖另类| 日韩视频免费看| 亚洲色在线视频| 国产精品草草| 亚洲欧美国产另类| 久久精品72免费观看| 国产一区自拍视频| 欧美怡红院视频| 六月婷婷一区| 亚洲人成网站在线播| 99国产精品99久久久久久| 欧美日韩国产精品| 亚洲图片欧美日产| 欧美在线你懂的| 国产综合第一页| 亚洲激情国产| 欧美区一区二| 亚洲视频一区在线观看| 午夜视频在线观看一区| 国产午夜精品福利| 亚洲国产毛片完整版| 欧美另类视频在线| 亚洲一区二区免费| 久久久久久久尹人综合网亚洲| 精品va天堂亚洲国产| 亚洲日韩第九十九页| 欧美四级剧情无删版影片| 亚洲综合精品| 久久女同精品一区二区| 亚洲清纯自拍| 亚洲欧美激情视频在线观看一区二区三区 | 狠狠色综合网站久久久久久久| 最新成人av网站| 欧美日韩一区二区精品| 亚洲欧美激情视频| 免费一级欧美片在线观看| 亚洲精品一区在线| 欧美一区二区三区另类 | 午夜精品福利视频| 激情六月婷婷久久| 一本色道久久88综合亚洲精品ⅰ| 国产精品高潮呻吟| 久久精品国产亚洲a| 欧美日韩成人综合| 亚洲嫩草精品久久| 欧美电影在线免费观看网站| 在线视频精品一区| 久久婷婷麻豆| 妖精成人www高清在线观看| 久久精品日韩| 亚洲精品乱码久久久久久| 欧美在线观看一区二区三区| 亚洲第一主播视频| 午夜精品一区二区三区在线播放 | 激情文学综合丁香| 亚洲视频欧美视频| 国产一区欧美| 在线亚洲激情| 激情亚洲网站| 亚洲欧美日韩直播| 在线欧美影院| 欧美一区二区三区四区视频| 亚洲精华国产欧美| 久久丁香综合五月国产三级网站| 亚洲三级影片| 久久亚洲影院| 国产精品99久久久久久久女警| 毛片一区二区三区| 亚洲在线观看免费视频| 欧美肥婆在线| 欧美一区二区三区在线观看视频| 欧美日韩在线观看视频| 久久精品视频免费播放| 国产精品剧情在线亚洲| 99国产精品久久久久久久久久| 国产午夜亚洲精品羞羞网站| 中文高清一区| 亚洲国产一区二区三区青草影视| 欧美影院在线| 亚洲一本视频| 欧美三级在线视频| 日韩小视频在线观看|