新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP技術的MP3播放器的研究與設計

基于DSP技術的MP3播放器的研究與設計

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

作者Email: lyfen@eyou.com

摘要:隨著數(shù)字編解碼及壓縮的發(fā)展,語音文件也朝著高壓縮比、高保真的方向發(fā)展,從MP1、MP2到目前的格式。本文了一種廉價,利用硬件存儲語音文件,并能夠從PC 機下載,從而可以隨時更新音樂。該MP3同時附加了文本閱讀的功能,可做到語音和文本的同步輸出。

關鍵詞: MP3 編碼

前言

現(xiàn)在市場上推出了各種型號的MP3隨身聽,它們采用先進的智能控制,利用先進的芯片,不僅實現(xiàn)了MP3格式語音的播放,而且集多種功能于一身。

但這些精巧的隨身聽價格較昂貴,因此本文根據(jù)要求了一種廉價MP3播放器,利用硬件存儲語音文件,并能夠從PC 機下載,從而可隨時更新MP3音樂。該MP3播放器同時附加了文本閱讀的功能,可做到語音和文本的同步輸出。

MP3播放器系統(tǒng)構成

MP3播放器系統(tǒng)結構由圖1所示,根據(jù)MP3播放器特點要求選擇了TI公司的TMS320VC5402芯片,該芯片優(yōu)越的效價比既可充分勝任本的信號處理又能滿足本設計要求的價廉目的。而主機選用功能較強的AT89C51芯片。
設計原理上,C5402芯片的信號處理部分和89C51的智能控制部分來分別完成電路設計,并相應制作兩塊PCB,可以明確設計思路,實物的大小也減半。

由圖1,MP3播放器系統(tǒng)選用大容量的FLASH MEMORY作為主存儲器硬件存儲語音文件,DSP程序也存儲在FLASH中,運行時再引導到DSP的高速RAM,從而省去DSP芯片部分的程序存儲空間。利用串口通信電路可以實現(xiàn)由PC機下載語音文件功能,利用液晶顯示屏LCD,還可以從PC機下載小說并在LCD上閱讀。

DSP、MPU硬件設計

MP3播放器中,DSP芯片的Bootloader采用了HPI口方式。由于在硬件上HPI引腳與DSP的數(shù)據(jù)、地址總線引腳是相互獨立的,同時HPI口內(nèi)部又有控制機制,所以外部主機通過HPI口訪問DSP內(nèi)部RAM時不會影響DSP的正常運行。HPI利用DSP芯片上1000H地址開始的一塊具有共享存儲器功能的2K字RAM,來實現(xiàn)主機與從機間的數(shù)據(jù)交換。

DSP擴展了一片64K字高速靜態(tài)RAM(CY7C1021V33-10),作為DSP芯片的片外RAM,用以適應各種音頻處理算法對存儲器容量的要求。

DSP芯片處理后的信號由D/A輸出到耳機,我們就可聽到MP3音樂。D/A變換由LM4545實現(xiàn),它具有48K字轉(zhuǎn)換速度,可直接和DSP芯片的輸出相連。

而MPU主要完成三項功能,分別是LCD顯示,控制DSP芯片的運行和文件的串口下載。89C51與29F040B的連接電路如圖2所示。

MPU用來訪問FLASH的地址線由P0口和P2.0~P2.5組成。這14根地址線既提供14位頁內(nèi)地址又提供5位的頁碼地址,P0口同時與兩片74LS373相連,分別以P3.5和ALE作為這兩個芯片的片選信號;第一片74LS373A輸出信號的低5位作為5位頁碼地址與29F040B的A14~A18連接,第6位作為片選信號連接29F040B的CS,后兩位則留作以后擴展用;第二片74LS373B的8位輸出連接29F040B的A0~A7;89C51的P2.0~P2.5直接連接29F040B的A8~A13,和74LS373B的8位輸出共同構作14位的頁內(nèi)地址。

相應的尋址過程(假設訪問地址1FFFFH)是:第一步,先將P3.5置1,打開74LS373A,再向 P0口寫入所要尋址的頁碼地址,1FFFFH的頁碼為7H;第二步,再將P3.5置0,關閉74LS373A,向P0口和P2口寫入14位頁內(nèi)地址,1FFFFH的頁內(nèi)地址為3FFFH。因為74LS373B由ALE片選,每次MPU訪問外設時自動打開,所以這兩步驟次序不能顛倒,否則訪問的地址就出錯。

軟件設計

能夠從PC機下載音樂是MP3播放器的特點,這一功能由MPU與PC機的串口通信來實現(xiàn)。而且設計所需的下載軟件要求能夠下載書籍文本,要求能夠中文字符的串口通信。因此實現(xiàn)中文傳輸也是本設計的程序部分的關鍵。
圖3是用VB實現(xiàn)MP3播放器的下載軟件。

圖3的文件下載軟件,由Mscomm控件來實現(xiàn)。Setting設置為"9600,N,8,1",89C51的串口寄存器SCON和PCON也做對應的設置。用Mscomm控件可以實現(xiàn)發(fā)送中文字符功能,具體方法如下:

 ?。?)直接發(fā)送
  直接發(fā)送即把中文字符等同于英文字符。如:MSComm1.output="這是一行中文數(shù)據(jù)!",但這種方法發(fā)送的中文數(shù)據(jù)不能太長,發(fā)送緩沖區(qū)和接收緩沖區(qū)的大小需設定為中文字符的兩倍以上,否則會出現(xiàn)接收或發(fā)送緩沖區(qū)溢出之類的錯誤。這種方法可用于一般要求不太高的場合。

(2)間接發(fā)送
在發(fā)送端將漢字或字符轉(zhuǎn)換為機器內(nèi)碼或區(qū)位碼數(shù)據(jù)數(shù)組,然后將轉(zhuǎn)換后的數(shù)據(jù)發(fā)送到串口,在接收端接收到數(shù)據(jù)后,按照相反的順序?qū)⒌玫降臄?shù)據(jù)轉(zhuǎn)換為相應的漢字或字符,對于MPU這端要求能有較大容量的漢字表。在轉(zhuǎn)換過程中,我們采用位運算,在取得漢字的內(nèi)碼后將高字節(jié)和低字節(jié)分開,求整數(shù)高、低字節(jié)的函數(shù)如下:
  Public Function HiByte(a As Integer)
   Dim b
   b = a And HFF00
   b = b / 256
   If b 0 Then b = b + 256
   HiByte = b
  End Function
  Public Function LowByte(a As Integer)
   Dim b
   b = a And HFF
   LowByte = b
End Function

結語

該MP3播放器DSP,采用慢速大容量外存加高速小容量外存的組合方式,音樂文件先從慢速外存下載至高速外存再載入DSP的高速RAM,下載一部分處理一部分。采用與PC機的串口通信方式實現(xiàn)文件的下載速度較慢,也可利用USB接口進行高速的通信。另外系統(tǒng)中連接的電話線可充作電話的錄音。

實踐證明,這種方法設計的MP3播放器成本較低,同時附加文本閱讀的功能做到語音和文本的同步輸出,能滿足特殊的需要。



評論


相關推薦

技術專區(qū)

關閉