在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 所示:
圖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開發前端程序(綠色部分)。
圖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 所示:
圖6 游戲模塊實驗結果圖
4 總結
本系統采用開源的Linux 操作系統和QT4 界面設計工具,整個系統采用模塊化設計,具有良好的可擴展性。硬件平臺采用的是 UP-TECH S3C2410 DVK1.1嵌入式系統,該芯片采用ARM 架構,其獨特的架構設計具有功耗低、功能強的特點,因此非常適合用于手持式設備;采用LCD 觸摸屏與用戶進行交互,使用簡單,符合便攜式終端的發展趨勢。
-
嵌入式
+關注
關注
5082文章
19104瀏覽量
304822 -
Linux
+關注
關注
87文章
11292瀏覽量
209332 -
操作系統
+關注
關注
37文章
6801瀏覽量
123285
發布評論請先 登錄
相關推薦
評論