<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于嵌入式的MP3音頻點播系統(tǒng)設計

          基于嵌入式的MP3音頻點播系統(tǒng)設計

          作者: 時間:2011-12-20 來源:網(wǎng)絡 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/149964.htm

          隨著電子技術的發(fā)展,系統(tǒng)已廣泛用于信息家電、移動通信、工業(yè)控制、軍事電子等領域。這里介紹一種S3C2410處理器和Linux系統(tǒng)的C/S結(jié)構(gòu),將文件集中存儲在網(wǎng)絡FTP服務器上或本地U盤內(nèi),利用自主開發(fā)的播放終端進行點播。該可廣泛用于卡拉OK廳、語音教室和公共廣播等場所。

          2 系統(tǒng)功能及實現(xiàn)方案

          系統(tǒng)由底層硬件、設備驅(qū)動、操作系統(tǒng)、應用中間軟件及應用系統(tǒng)5部分組成。嵌入式系統(tǒng)的音頻可廣泛用于卡拉OK廳、語音教室和公共廣播等許多場所,它由一個網(wǎng)絡服務器和多個客戶端播放器組成,是局域網(wǎng)的C/S結(jié)構(gòu)的點播系統(tǒng)。首先在服務器中存儲豐富的歌曲,用戶可通過播放器自帶的網(wǎng)絡功能登陸服務器,以獲取歌曲進行播放。同時該點播系統(tǒng)也可通過USB存儲設備播放本地歌曲,也可將服務器上的音樂下載到本地USB存儲設備上。

          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種低功耗控制方式,甚至可關閉CPU中除喚醒邏輯外的所有功能,極大地降低了功耗;④與其他ARM器件相比,S3C2410片上集成了更多的外設接口,如外部存儲控制器、LCD,DMA,USBl.1,SD,M。

          3.2 存儲模塊

          存儲模塊由一片64 MB的SDRAM和兩片16 MB的Flash組成,可為系統(tǒng)提供足夠的存儲空間。Flash存儲器是一種可在系統(tǒng)電擦寫,掉電后信息不丟失的存儲器。與Flash存儲器相比,SDRAM不具有掉電保持數(shù)據(jù)的特性,但存取速度大大高于Flash存儲器,且具有讀/寫特性。

          3.3 解碼模塊

          決定MP3音質(zhì)的關鍵是主控解碼器件中的數(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部分。

          4.1 文件系統(tǒng)

          文件系統(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中的重要目錄:

          (1)/bin:保存大多數(shù)init,busybox,shell文件管理實用程序等二進制文件。

          (2)/dev:包含用在設備中的所有設備節(jié)點。

          (3)/etc:包含系統(tǒng)的所有配置文件。

          (4)/lib:包含所有必須的庫,如libc,libdl等。

          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/commh>和minigui/window.h>是所有的MiniGUI應用程序都必須包括的頭文件。MiniGUI程序的入口點為MiniGUIMain,即:

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

          這5個模塊中的核心為Mp3play模塊。它包含了MP3的解碼代碼,通過該模塊調(diào)用解碼驅(qū)動程序,實現(xiàn)歌曲的解碼播放、前進、后退、音量控制等,以完成MP3音樂文件的最終播放。

          5 結(jié)語

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

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();