當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]一種嵌入式MP3音頻點播系統(tǒng)的設計與實現(xiàn)

1 引言
    隨著信息化、智能化、網(wǎng)絡化的發(fā)展,嵌入式系統(tǒng)技術(shù)也隨之提高。目前,嵌入式系統(tǒng)已廣泛用于信息家電、移動通信、工業(yè)控制、軍事電子等領(lǐng)域。嵌入式MP3音頻點播系統(tǒng)是一種基于局域網(wǎng)、具有交互功能的點播系統(tǒng)。它能通過局域網(wǎng)與控制中心進行雙向傳輸,不僅可從局域網(wǎng)下載播放MP3的歌曲,也可擴展USB接口,利用現(xiàn)有的移動存儲設備實現(xiàn)音頻數(shù)據(jù)的存儲和備份。


2 系統(tǒng)功能及實現(xiàn)方案
   
嵌入式系統(tǒng)由底層硬件、設備驅(qū)動、操作系統(tǒng)、應用中間軟件及應用系統(tǒng)5部分組成?;谇度胧较到y(tǒng)的MP3音頻點播系統(tǒng)可廣泛用于卡拉OK廳、語音教室和公共廣播等許多場所,它由一個網(wǎng)絡服務器和多個客戶端播放器組成,是基于局域網(wǎng)的C/S結(jié)構(gòu)的點播系統(tǒng)。首先在服務器中存儲豐富的歌曲,用戶可通過播放器自帶的網(wǎng)絡功能登陸服務器,以獲取歌曲進行播放.同時該點播系統(tǒng)也可通過USB存儲設備播放本地歌曲,也可將服務器上的音樂下載到本地USB存儲設備上。
    服務器端采用Windows操作系統(tǒng)的PC機作為服務器:客戶端采用Linux作為操作系統(tǒng);采用S3C2410作為處理器;選MiniGUI編寫控制界面,并通過socket編程與服務器連接。MP3播放終端服務器與客戶端之間采用FTP(File Transfer Protoco1)網(wǎng)絡通信協(xié)議傳遞數(shù)據(jù),常用的FTP服務器為ServerU。

3 系統(tǒng)硬件設計
    S3C2410內(nèi)部集成有ARM920T內(nèi)核和常用外圍組件。由于它是一款專為手持設備設計的低功耗處理器.因此可以降低手持設備成本,具有較高的性價比。該系統(tǒng)采用模塊化設計思想,依據(jù)功能可劃分為網(wǎng)絡、存儲、解碼、觸摸屏、按鍵、電源、USB接口、UART接口等模塊。其硬件結(jié)構(gòu)如圖1所示。

3.1 處理器模塊S3C2410
    它的功能和特性如下:①具有較高的處理速度,通過內(nèi)部鎖相環(huán),最高可在203 MHz的系統(tǒng)時鐘下運行;②具有極低的功耗.其核心供電電壓為1.8 V,外圍I/O口使用3.3 V電壓;③具有3種低功耗控制方式,甚至可關(guān)閉CPU中除喚醒邏輯外的所有功能,極大地降低了功耗;④與其他ARM器件相比,S3C2410片上集成了更多的外設接口,如外部存儲控制器、LCD,DMA,USBl.1,SD,M。MC卡控制器、UART,SPI接口、I2C總線控制器和I2S總線控制器、I2S音頻接口、PWM定時器、看門狗、117個外部I/O口、24個外部中斷源、A/D轉(zhuǎn)換器和觸摸屏接口、實時時鐘及片上PLL的時鐘產(chǎn)生等。使用集成接口,有利于功能的擴展。
3.2 存儲模塊
   
存儲模塊由一片64 MB的SDRAM和兩片16 MB的Flash組成,可為系統(tǒng)提供足夠的存儲空間。Flash存儲器是一種可在系統(tǒng)電擦寫,掉電后信息不丟失的存儲器。與Flash存儲器相比,SDRAM不具有掉電保持數(shù)據(jù)的特性,但存取速度大大高于Flash存儲器,且具有讀/寫特性。因此系統(tǒng)中SDRAM主要用作程序的運行空間、數(shù)據(jù)及堆棧區(qū)。
3.3 解碼模塊
   
決定MP3音質(zhì)的關(guān)鍵是主控解碼器件中的數(shù)模轉(zhuǎn)換器(DAC)單元和耳機功率放大器單元。DAC負責把解碼的數(shù)字音頻流轉(zhuǎn)換成可驅(qū)動耳機發(fā)音的模擬音頻信號;耳機放大器則可把模擬音頻信號放大到可驅(qū)動耳機的功率。該系統(tǒng)選用的解碼器是UDAl380。S3C2410則通過I2S總線與解碼器UDAl380通信。
3.4 網(wǎng)絡模塊
    S3C2410自身并沒有網(wǎng)絡控制器,接入以太網(wǎng)時需增加獨立的以太網(wǎng)控制器,在此選用DM9000作為以太網(wǎng)控制器。該器件具有通用的處理器接口、10M/IOOM自適應、4 K雙字節(jié)靜態(tài)存取存儲器、低功耗、高處理性能,可支持3.3~5V的容差。


4 系統(tǒng)軟件設計
   
該音頻點播系統(tǒng)選用Linux操作系統(tǒng),其軟件結(jié)構(gòu)如圖2所示。從軟件角度看,嵌入式Linux操作系統(tǒng)分為引導加載程序、內(nèi)核、文件系統(tǒng)及用戶應用程序4部分。其一用于完成初始化RAM、初始化串口、設置Linux啟動參數(shù)、調(diào)用Linux內(nèi)核映像等功能;其二為特定于具體硬件的定制內(nèi)核以及控制內(nèi)核引導系統(tǒng)的參數(shù);其三為含根文件系統(tǒng)和建立Flash存儲器設備上的文件系統(tǒng);其四為特定于用戶的應用程序,即為播放程序。

4.1 文件系統(tǒng)
   
因為系統(tǒng)需要一種以結(jié)構(gòu)化格式存儲和檢索信息的方法.所以需要文件系統(tǒng)的參與。Linux下的常用文件系統(tǒng)由RAMDISK,JFFS2.CRAMFS等組成。所謂文件系統(tǒng)就是用戶程序與文件的集合,在Linux PC機上存放到一個統(tǒng)一的目錄下,然后通過工具打包成一個映象(image)文件,這通常為壓縮過程,燒寫到板子上后,待Linux內(nèi)核完成啟動后,逐個掛接這些文件系統(tǒng)映象文件并做解包工作。當然第一個掛接的就是根文件系統(tǒng)(rootf),待rootf提供Shell后,即可通過Shell命令mount來掛載其他文件系統(tǒng)(FS)了。
    該系統(tǒng)設計選用RAMDISK文件系統(tǒng)。RAMDISK文件系統(tǒng)的特點是:當Linux內(nèi)核運行時都會把文件系統(tǒng)數(shù)據(jù)塊的信息拷貝到SDRAM中,即相當于在SDRAM中劃出一塊區(qū)域模擬PC機的硬盤,既然在SDRAM中,當然是可讀可寫的,斷電后則無法保存相關(guān)信息。
    RAMDISK中的重要目錄:
    (1)/bin:保存大多數(shù)init,busybox,shell文件管理實用程序等二進制文件。
    (2)/dev:包含用在設備中的所有設備節(jié)點。
    (3)/etc:包含系統(tǒng)的所有配置文件。
    (4)/lib:包含所有必須的庫,如libc,libdl等。
[!--empirenews.page--]4.2 用戶應用程序
   
應用程序負責與服務器網(wǎng)絡通信,向服務器發(fā)送請求、下載歌曲、播放歌曲,并對整個播放過程進行控制管理。通過240x320TFT觸摸式彩屏LCD把信息呈現(xiàn)給用戶,用戶可通過觸摸屏和按鍵向系統(tǒng)發(fā)送請求。系統(tǒng)播放終端程序簡要流程見圖3。

    應用程序主要分為主程序mainplay.c和Mp3play,F(xiàn)tplib,Song_select,Song_list,Config_data這5個模塊。mainplay.c主要用于生成主界面和下級界面、各菜單的管理、接收和傳遞用戶的請求,并調(diào)用各模塊完成相應的任務。設計中采用MilaiGUI實現(xiàn)界面編程。MiniGUI是一個圖形用戶界面支持系統(tǒng),鍵盤和鼠標動作,產(chǎn)生由應用程序不斷輪詢的事件,這些事件發(fā)送到具有焦點的窗口,而且應用程序把這些事件交由與該窗口聯(lián)系的例程來處理。<minigui/minigui.h>,<minigui/comm..h>和<minigui/window.h>是所有的MiniGUI應用程序都必須包括的頭文件。MiniGUI程序的入口點為MiniGUIMain,即:

    int MiniGUIMain (int argc, const char* argv[])

    main函數(shù)已經(jīng)在MiniGUI中定義,該函數(shù)在MiniGUI初始化工作后調(diào)用MiniGUIMain函數(shù)。所以,每個MiniGUI應用程序中無論是server端程序MGINIT,還是客戶端應用程序.其入口點都為MiniGUIMain函數(shù)。其參數(shù)argc和argv與C程序main函數(shù)的參數(shù)argc和argv的含義是一樣的。
    Config data為配置數(shù)據(jù)管理模塊,用于實現(xiàn)配置參數(shù)的輸入和管理.同時實現(xiàn)配置界面的生成。FTP電控柜議庫函數(shù)存放在Ftplib模塊中,通過該模塊可建立套接字,與服務器連接、通信,并下載文件。Song_list負責歌曲列表的管理,實現(xiàn)目錄的切換,以完成循環(huán)播放歌曲、隨機播放歌曲、單首循環(huán)播放歌曲的管理功能。
    這5個模塊中的核心為Mp3play模塊。它包含了MP3的解碼代碼,通過該模塊調(diào)用解碼驅(qū)動程序,實現(xiàn)歌曲的解碼播放、前進、后退、音量控制等,以完成MP3音樂文件的最終播放。


5 結(jié)語
    嵌入式網(wǎng)絡MP3播放終端集成了網(wǎng)絡化和數(shù)字化的優(yōu)點,是嵌入式系統(tǒng)在音頻領(lǐng)域中的一個典型應用。從系統(tǒng)實現(xiàn)及效果看,該系統(tǒng)達到了設計要求,且操作簡單,適合于各種層次的用戶。若改用無線方式進行設計,可通過無線網(wǎng)絡隨時隨地下載、收聽信息,這種播放器必將更受用戶的歡迎。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉