www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]淺談基于Linux嵌入式操作系統(tǒng)掌上娛樂系統(tǒng)設計方案

近年來,隨著微處理器技術、DSP技術、多媒體編解碼技術以及嵌入式技術的發(fā)展,多媒體娛樂終端已經(jīng)成為消費性電子產(chǎn)品的熱點。同時,逐漸成熟的市場隨著MP3在市場上取得的巨大成功,以及MP4、數(shù)字電視、3G通訊等相關技術的起步,在未來幾年內都將會得到快速發(fā)展。

嵌入式系統(tǒng)是以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。

多媒體終端正是數(shù)字信息產(chǎn)業(yè)的一個重要組成部分,所以在這個背景下,MultimediaTerminal蘊含著極大地發(fā)展?jié)摿Α?/p>

本文是基于Linux嵌入式操作系統(tǒng)在UP-TECHS3C2410DVK1。1開發(fā)平臺下設計并實現(xiàn)了一個高性能、低功耗、低成本的嵌入式掌上娛樂系統(tǒng)。

1系統(tǒng)概述

本系統(tǒng)以UP-TECHS3C2410DVK1。1為開發(fā)平臺,使用嵌入式linux作為操作系統(tǒng)。

本系統(tǒng)的實現(xiàn)包括兩個方面:

一是底層系統(tǒng)的搭建。本系統(tǒng)是在通用的嵌入式Linux操作系統(tǒng)上進行適當?shù)牟眉簦蛊浞舷到y(tǒng)的硬件平臺,并且初始化開發(fā)底層的驅動,實現(xiàn)了對系統(tǒng)的控制以及數(shù)據(jù)的存儲和傳輸。

二是應用層的實現(xiàn)。

系統(tǒng)的底層包括文件系統(tǒng)的搭建以及各種接口部件的驅動程序,這些驅動程序通過嵌入式Linux操作系統(tǒng)進行調用,然后完成應用的功能,為上層的接口層和應用層提供服務。

中間的嵌入式GUI為接口層,采用QT4作為用戶GUI的界面庫。QT4是基于服務器-客戶端的一種用戶界面中間件,提供了豐富的功能控件和精美的界面設計功能,可以便捷的設計出所需要的各種功能模塊。

系統(tǒng)的最上層就是直接面向用戶的應用層。該層采用QT4設計,向用戶提供了精美的用戶界面,用戶可以通過觸摸屏方便的調用相關功能。系統(tǒng)的軟件結構框圖如圖1所示:

圖1系統(tǒng)的軟件結構框圖

應用層的設計是本文主要的開發(fā)工作,主要包含以下幾種功能模塊:

①多媒體功能模塊:調用MPlayer播放器對系統(tǒng)內存或者USB接口中的外存定位對應的體文件,并將其解碼;視頻、視頻文件可以全屏播放/最小播放。幾乎可以播放市面上現(xiàn)存的所有的音頻、視頻文件。

②娛樂游戲功能:提供了幾個界面友好有趣的游戲,增加系統(tǒng)的娛樂性。

2開發(fā)平臺

2。1硬件開發(fā)平臺介紹

硬件平臺采用博創(chuàng)UP-TECHS3C2410DVK1。1開發(fā)板,處理器類型:SamsungS3C2410。主頻:203MHZ。

它適用于工業(yè)控制、移動通信設備、醫(yī)療儀器等多種場合,外擴64MBNANDFLASH和64MSDRAM,提供USB2。0接口與計算機進行高速通信;該平臺集成了大尺寸LCD觸摸屏,型號:LQ080V3DG01,分辨率:640*480像素,這也是選擇它作為開發(fā)平臺的重要原因。系統(tǒng)硬件結構框圖如圖2所示。

圖2系統(tǒng)硬件結構框圖

2。2軟件開發(fā)平臺介紹

在系統(tǒng)層,由于UP-TECHS3C2410DVK1。1開發(fā)板提供原始的系統(tǒng)(vivi、linux-2。4、root。cramfs)版本低,因此,針對多媒體娛樂系統(tǒng),裁剪移植了適合本系統(tǒng)的Uboot-1。1。6、linux-2。6。24內核和yaffs文件系統(tǒng)。該系統(tǒng)使用較為通用的bootloader:UBoot,網(wǎng)絡資源較多的內核linux2。6和可讀可寫的yaffs文件系統(tǒng),易于系統(tǒng)的開發(fā)。并配置了LCD屏驅動、網(wǎng)卡驅動、SD卡等驅動。

在應用層,采用QTSDK設計所有的應用程序。

Qt是一個跨平臺的C++圖形用戶界面(GUI)庫,包括跨平臺類庫、集成開發(fā)工具和跨平臺IDE。使用Qt"一次開發(fā),多次編譯",無須重新編寫源代碼,便可跨不同桌面和嵌入式操作系統(tǒng)部署這些應用程序。

3實現(xiàn)原理

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

3。1播放器的實現(xiàn)

對于音頻和視頻的播放,本系統(tǒng)使用QT設計一個前端播放、控制界面,并使用Mplayer作為后端程序,能播放mp3、ogg、ogm、wma、wav、asf、au、avi、mpeg、mpg、mv1、mov、wmv、pls、m3u、mp4、m4a等音頻和視頻格式。播放器模塊的結構圖如圖3所示,播放器使用Mplayer作為后端程序(紅色部分),使用QT4開發(fā)前端程序(綠色部分)。

圖3播放器結構圖

3。1。1后端程序簡介

本系統(tǒng)使用Mplayer作為其后端程序。MPlayer被評為Linux下的最佳媒體播放工具,不需要任何系統(tǒng)解碼器就可以播放包括視頻、音頻、流媒體、廣播、電視等各種媒體。

Mplayer另一個重要特點在于其開源性。

Realplayer,WindowsMediaPlayer,QuickTime等許多播放軟件都是性能優(yōu)秀的播放軟件,但由于它們都不開放源代碼,給移植帶來了麻煩。同時MPlayer還具有良好的移植性,可以移植到許多非X86平臺上,MPlayer軟件包中含有針對ARM架構的優(yōu)化代碼,這些代碼利用ARM的特性加快了對媒體的處理速度。

基于以上多個原因,本系統(tǒng)選擇了MPlayer作為娛樂終端的播放軟件。本系統(tǒng)通過移植Mplayer來實現(xiàn)對視頻的播放功能。Mplayer編、解碼模塊,是系統(tǒng)的音、視頻處理中心,在mplayer的編解碼庫中,包含的大量的音、視頻格式處理程序,經(jīng)過編譯優(yōu)化過的mplayer可以完成對大多數(shù)音、視頻格式高效的編解碼工作。

3。1。2前端程序的設計與播放器的實現(xiàn)

主界面窗口有一個顯示屏和一些控制按鈕,包括播放、暫停、下一首、上一首、音量調整以及播放進度條。文件操作窗口可以使用戶選擇要播放的文件。

播放列表用來播放用戶加載的多媒體文件。

MPlayer默認全屏播放,但在GUI中一般都是指定區(qū)域或者控制來播放。這樣顯得美觀,MPlayer支持在指定的X窗口播放的功能。用-wid參數(shù)告訴窗口ID即可。例如:mplayertest。mpg-wid0x00029#0x0029是XID,而QT的控件都是從QWidget繼承下來,因此它本身也有wid,這樣只要用QWidget::winID()取出WID,即可實現(xiàn)在指定窗口播放視頻的功能。[!--empirenews.page--]

本模塊是建立一個QtGUI程序。然后用一個label控件來播放視屏,用一個進度條顯示播放的進度,用按鍵顯播放,暫停,上一首,下一首,停止和添加資源文件。然后用一個Qprocess在后臺執(zhí)行MPlayer,并把label的WID傳給它。然后把MPlayer的輸入輸出重定向,把原本從標準輸入接收命令變成從GUI的接收命令。

3。1。3播放功能設計

播放器實現(xiàn)的軟件流程圖如圖4所示:

圖4播放器軟件流程圖。

通過定義一個QProcess對象調用已編譯好的Mplayer。

QProcess*process=newQProcess();

process->setProcessChannelMode(QProcess::MergedChannels);

Process->start("mplayer–ac–madxxxxx");

在命令中添加-slave和-quiet就可以通過命令設置Mplayer實現(xiàn)相應的功能。Process->start("mplayer–slave–quiet–ac–madxxxxx")。

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

①播放暫停功能設計

通過這段代碼可以設置Mplayer暫停:process->write("pause");執(zhí)行這段代碼的時候在播放狀態(tài)下就會暫停,暫停狀態(tài)下就會繼續(xù)播放。

②音量調節(jié)

下面代碼即可實現(xiàn)音量調節(jié)的功能:

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

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

Process->write("volumeXX1");//音量設置成指定值

該系統(tǒng)使用如下代碼實現(xiàn)音量調節(jié):

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

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

系統(tǒng)最終實現(xiàn)的實驗效果圖如圖5所示:

圖5播放器模塊實驗結果圖

3。2游戲模塊的設計

系統(tǒng)設計了一個打磚塊游戲。通過建立一個打磚塊的游戲類CannonField,包含角度intangle、力度intforce、是否正在射擊boolisShooting等成員,具有設置角度setAngle(intangle)、設置力度setForce(intforce)、射擊shoot()、運動軌跡shotRect()、游戲控制newTarget()、setGameOver()、restartGame()等槽函數(shù),能發(fā)出擊中hit()、未擊中missed()、角度變化angleChanged(intnewAngle)力度變化forceChanged(intnewForce)等信號。

游戲開始時使用隨機函數(shù)在指定區(qū)域內顯示一個磚塊,點擊射擊按鈕時通過setAngle和setForce設置的角度和力度,使用shoot()進行射擊,通過發(fā)出的擊中hit()或未擊中missed()信號來作出相應的動作。仿真效果圖如圖6所示:

圖6游戲模塊實驗結果圖

4總結

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉