基于ARM的多通道專業(yè)MP3播放器設(shè)計(jì)_第1頁
基于ARM的多通道專業(yè)MP3播放器設(shè)計(jì)_第2頁
基于ARM的多通道專業(yè)MP3播放器設(shè)計(jì)_第3頁
基于ARM的多通道專業(yè)MP3播放器設(shè)計(jì)_第4頁
基于ARM的多通道專業(yè)MP3播放器設(shè)計(jì)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于ARM的多通道專業(yè)MP3播放器設(shè)計(jì)2008-06-30嵌入式在線1 引 言隨著微電子技術(shù)的飛速發(fā)展,嵌入式產(chǎn)品以其自然的人機(jī)交互界面和豐富的多媒體處理能力迅速得以推廣,并取得了巨大成功1。目前,在多媒體音頻領(lǐng)域中,MP3播放器占據(jù)了絕對的主導(dǎo)地位。但現(xiàn)有的MP3播放器驅(qū)動能力非常有限,只適合個(gè)人使用,不能滿足大型公共場所在不同區(qū)域播放不同背景音樂的多通道播放需要?;谝陨戏治觯疚脑O(shè)計(jì)了一種基于S3C44B0X芯片的Clinux環(huán)境下的多通道專業(yè)MP3播放器。2 系統(tǒng)功能分析與結(jié)構(gòu)設(shè)計(jì)多通道專業(yè)MP3播放器是專為滿足公共語音廣播市場的需求而設(shè)計(jì)的,其主要功能包括:(1)音頻解碼和播放功能;

2、(2)通過USB接口與大容量外部存儲設(shè)備進(jìn)行數(shù)據(jù)傳輸;(3)操作界面統(tǒng)一管理功能;(4)多通道播放功能。為了提高系統(tǒng)運(yùn)行效率,實(shí)現(xiàn)多通道播放管理,本系統(tǒng)選用三星公司的S3C44B0X作為核心處理器,主要負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)換,輸出通道的選擇,以及LCD的控制。同時(shí),選用意法半導(dǎo)體的STA013作為解碼芯片,配合AK4393實(shí)現(xiàn)模擬音頻信號的輸出,此外,使用SL811HS和ISP1520提供兩個(gè)主USB接口,以實(shí)現(xiàn)移動硬盤或U盤的掛接。其系統(tǒng)總體結(jié)構(gòu)如圖1所示:圖1 系統(tǒng)總體結(jié)構(gòu)圖3 系統(tǒng)硬件設(shè)計(jì)作為一種典型的嵌入式系統(tǒng),其開發(fā)的優(yōu)點(diǎn)在于軟硬件的可裁剪性2,在確保有一個(gè)穩(wěn)定的最小系統(tǒng)以后,再對外圍的設(shè)備進(jìn)

3、行擴(kuò)展。此多通道專業(yè)MP3播放器的核心芯片S3C44B0X是基于ARM7而開發(fā)的多功能SOC(Signal Operation Control)。S3C44B0X除具備一般嵌入式芯片所具有的總線、SDRAM控制器和3個(gè)串口等外設(shè)之外,還具有TFT LCD控制器、USB Slave、USB Host、I2C總線控制器、SPI控制器、IIS音頻接口、SD&MMC存儲卡接口等豐富的擴(kuò)展功能3。由于S3C44B0X對于SL811構(gòu)建的主USB接口技術(shù)已經(jīng)相當(dāng)成熟,在這里就不再敘述。此外,S3C44B0X提供的標(biāo)準(zhǔn)接口可以支持市面上絕大多數(shù)型號的LCD顯示屏,制作也相對簡單,所以本文只對MP3播放器的解

4、碼實(shí)現(xiàn)部分和多通道的實(shí)現(xiàn)方法進(jìn)行詳細(xì)說明。3.1 MP3解碼電路設(shè)計(jì)本系統(tǒng)解碼部分的硬件采用了ST公司的STA013解碼芯片以及AKM的AK4393芯片。STA013是一款優(yōu)秀的MP3解碼芯片,它通過IIC總線來傳輸控制信息,通過串行數(shù)據(jù)線接收語音數(shù)據(jù)。AK4393是一款高品質(zhì)的立體聲DAC芯片,支持24bit/96KHz取樣,采用 “復(fù)合比特”技術(shù)使芯片的解碼更為快速和準(zhǔn)確。解碼部分與S3C44B0X的接口電路部分如圖2所示。通過S3C44B0X的I/O口對STA013發(fā)送音頻數(shù)據(jù),解碼過程由STA013的DSP核來進(jìn)行。STA013解碼后的數(shù)字音頻信號由SDO(串行數(shù)據(jù)輸出), SCKT(

5、串行時(shí)鐘), LRCKT(左右聲道時(shí)鐘), OCLK(采樣時(shí)鐘)4個(gè)腳輸出到D/A轉(zhuǎn)換器AK4393。通過AK4393將得到的模擬音頻信號,再經(jīng)過功率放大電路放大后就可以直接驅(qū)動無源音箱。圖2 解碼部分接口電路圖此外,由于實(shí)現(xiàn)多通道的播放形式,所以需要在設(shè)計(jì)過程中提供多套相同的解碼芯片和DAC。3.2 多通道功能的實(shí)現(xiàn)系統(tǒng)多通道播放采用的基本方法是(以四通道為例):當(dāng)系統(tǒng)上電以后,解碼控制信號為了實(shí)現(xiàn)對每一個(gè)解碼通道的具體工作狀態(tài)控制,通過采用外接一個(gè)四路轉(zhuǎn)換開關(guān)(CD4066),控制各路通道解碼芯片的工作狀態(tài)。轉(zhuǎn)換開關(guān)四路通道的輸入部分連接CPU的IIC總線的IICSDA,通過與CPU相連的

6、多個(gè)控制引腳(CTRL1,2,3,4),確定控制數(shù)據(jù)的傳輸方向。四路通道的時(shí)鐘信號則直接連接在CPU上,只有控制數(shù)據(jù)傳輸時(shí)才發(fā)生作用。在播放過程中,CPU實(shí)時(shí)響應(yīng)各通道傳輸數(shù)據(jù)的請求,選通該路的解碼芯片,被選通的解碼芯片對從總線上獲取的mp3文件數(shù)據(jù)進(jìn)行解碼,而未被選通的解碼通道則忽略總線上的音頻數(shù)據(jù)。當(dāng)數(shù)據(jù)請求的中斷請求信號由高變低,系統(tǒng)開始響應(yīng)下一次數(shù)據(jù)請求。通過這種各通道交替工作的方式,實(shí)現(xiàn)四通道同步播放的功能。工作原理圖如圖3所示:圖3 多通道工作原理圖4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件包括操作系統(tǒng)、驅(qū)動程序及播放器應(yīng)用程序3部分。4.1 操作系統(tǒng)的實(shí)現(xiàn)在嵌入式系統(tǒng)中,通常并沒有像BIOS那樣的

7、固件程序,因此整個(gè)系統(tǒng)的加載啟動任務(wù)就完全由BootLoader來完成。BootLoader的任務(wù)是初始化芯片和主板,系統(tǒng)選用的是U-Boot-1.1.2啟動程序,因?yàn)閁-Boot的優(yōu)點(diǎn)在于對多系統(tǒng)和多平臺的支持。由于S3C44B0X沒有存儲管理單元(MMU),所以無法移植標(biāo)準(zhǔn)的Linux內(nèi)核,而Clinux主要是針對沒有MMU的處理器設(shè)計(jì)的操作系統(tǒng)4,因此可以作為播放器的操作系統(tǒng)平臺進(jìn)行移植。通過修改相應(yīng)的配置文件和驅(qū)動程序就可以實(shí)現(xiàn)移植過程中需要創(chuàng)建的開發(fā)板文件。4.2 驅(qū)動程序的設(shè)計(jì)本系統(tǒng)所編譯的Clinux內(nèi)核中包含有USB、LCD等驅(qū)動程序,只要根據(jù)需要適當(dāng)?shù)男薷谋憧梢詰?yīng)用。但是對于

8、MP3解碼部分芯片的驅(qū)動需要自己編寫。音頻驅(qū)動程序?qū)崿F(xiàn)的主要功能是:(1)系統(tǒng)啟動時(shí)可以完成芯片的初始化;(2)具體操作時(shí)可以提供給操作系統(tǒng)合適的軟件接口。音頻驅(qū)動初始化程序如下:void STA013_Init(void)if(STA013_SendCommand(RESET_REG,0,0x00) /復(fù)位STA013STA013_PrintError();if(STA013_SendCommand(ACT_CON_REG,0,0x00) /未激活狀態(tài)STA013_PrintError();if(STA013_SendCommand(PWR_CON_REG,0,0x00) /上電STA013

9、_PrintError();if(STA013_SendCommand(FS_CON_REG,0,STA013L_FsValueSysInfo.SamplingIndex) /選擇采樣頻率STA013_PrintError();if(STA013_SendCommand(IF_CON_REG,0,0x02+(06) /選擇16位IIS數(shù)據(jù)格式STA013_PrintError(); if(STA013_SendCommand(ANG_CTL_REG,0,0) / 0x13, 0x12選擇DACSTA013_PrintError(); /和Line In輸入模式if(STA013_SendCom

10、mand(DGT_CTL_REG,0,0x00) / DAC靜音STA013_PrintError();if(STA013_SendCommand(LHP_VOL_REG,0,0x00) /左聲道音量STA013_PrintError();if(STA013_SendCommand(RHP_VOL_REG,0,0x00) /右聲道音量STA013_PrintError();if(STA013_SendCommand(ACT_CON_REG,0,0x00) /數(shù)據(jù)傳送激活STA013_PrintError();4.3 播放程序的設(shè)計(jì)作為本系統(tǒng)的一個(gè)主要創(chuàng)新點(diǎn),在多通道部分設(shè)計(jì)合理且高效的播放程序

11、代碼很重要,在這里采用的是將待解碼的MP3文件先由USB設(shè)備復(fù)制到內(nèi)存的緩沖區(qū),再由緩沖區(qū)發(fā)送給解碼器的方法。播放時(shí),程序會根據(jù)每個(gè)通道的歌曲信息將MP3文件流從USB設(shè)備復(fù)制到相應(yīng)的緩沖區(qū)中。其主要實(shí)現(xiàn)代碼如下:for(i=0;i4;i+)if(dbufi=malloc(BUF_LEN)=NULL)printf(Allocation %d Error n, i);exit(1);4.4 操作界面的實(shí)現(xiàn)完整的MP3播放器設(shè)備需要有一個(gè)簡潔的操作界面。本系統(tǒng)的操作界面選用MiniGUI軟件進(jìn)行編寫,通過對MiniGUI運(yùn)行模式的選擇、MiniGUI的移植5以及界面程序的編寫,最終的操作界面如圖4

12、所示。整個(gè)操作界面簡潔明了,系統(tǒng)在開機(jī)后提供了當(dāng)前時(shí)間,以及播放、設(shè)置和復(fù)位按鍵,可以直接通過播放鍵來實(shí)現(xiàn)多通道播放功能,通過設(shè)置鍵進(jìn)行歌曲目錄的編排。圖4 播放器主界面5 結(jié)束語多通道MP3播放器與傳統(tǒng)的MP3播放器相比,具有許多優(yōu)勢,可以滿足大型公共場所對背景音樂更高性能的需求。多通道MP3播放器可以實(shí)現(xiàn)多個(gè)音頻輸出通道同步播放,并可以通過USB接口外掛存儲設(shè)備實(shí)現(xiàn)歌曲的大容量存儲。此外,系統(tǒng)還提供了串口、以太網(wǎng)等一系列接口,方便與外部進(jìn)行數(shù)據(jù)交換和軟件升級。本文創(chuàng)新點(diǎn):設(shè)計(jì)了基于ARM7平臺下的多通道MP3播放器,實(shí)現(xiàn)了對外接移動硬盤或U盤上的mp3文件進(jìn)行多通道同步播放。參考文獻(xiàn)1 王旭東,徐剛.基于Windows CE.Net 4.2嵌入式操作系統(tǒng)多媒體播放器的應(yīng)用研究J.微計(jì)算機(jī)信息, 2006,22-6:77-792 馬忠梅,馬廣云,徐英慧等.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)M.北京:北京航空航天大學(xué)出版社,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論