- 相關(guān)推薦
基于DSP技術(shù)的MP3播放器的研究與設(shè)計
摘要:隨著數(shù)字編解碼及壓縮技術(shù)的發(fā)展,語音文件也朝著高壓縮比、高保真的方向發(fā)展,從MP1、MP2到目前的MP3格式。本文設(shè)計了一種廉價基于DSP的MP3播放器,利用硬件存儲語音文件,并能夠從PC 機(jī)下載,從而可以隨時更新MP3音樂。該MP3播放器同時附加了文本閱讀的功能,可做到語音和文本的同步輸出。
關(guān)鍵詞: MP3播放器 DSP 編碼
前言
現(xiàn)在市場上推出了各種型號的MP3隨身聽,它們采用先進(jìn)的智能控制技術(shù),利用先進(jìn)的芯片,不僅實現(xiàn)了MP3格式語音的播放,而且集多種功能于一身。
但這些精巧的隨身聽價格較昂貴,因此本文根據(jù)要求設(shè)計了一種廉價MP3播放器,利用硬件存儲語音文件,并能夠從PC 機(jī)下載,從而可隨時更新MP3音樂。該MP3播放器同時附加了文本閱讀的功能,可做到語音和文本的同步輸出。
MP3播放器系統(tǒng)構(gòu)成
MP3播放器系統(tǒng)結(jié)構(gòu)由圖1所示,根據(jù)MP3播放器特點要求選擇了TI公司的TMS320VC5402芯片,該DSP芯片優(yōu)越的效價比既可充分勝任本設(shè)計的信號處理又能滿足本設(shè)計要求的價廉目的。而主機(jī)選用功能較強(qiáng)的AT89C51芯片。
設(shè)計原理上,C5402芯片的信號處理部分和89C51的智能控制部分來分別完成電路設(shè)計,并相應(yīng)制作兩塊PCB,可以明確設(shè)計思路,實物的大小也減半。
由圖1,MP3播放器系統(tǒng)選用大容量的FLASH MEMORY作為主存儲器硬件存儲語音文件,DSP程序也存儲在FLASH中,運行時再引導(dǎo)到DSP的高速RAM,從而省去DSP芯片部分的程序存儲空間。利用串口通信電路可以實現(xiàn)由PC機(jī)下載語音文件功能,利用液晶顯示屏LCD,還可以從PC機(jī)下載小說并在LCD上閱讀。
DSP、MPU硬件設(shè)計
MP3播放器中,DSP芯片的Bootloader采用了HPI口方式。由于在硬件上HPI引腳與DSP的數(shù)據(jù)、地址總線引腳是相互獨立的,同時HPI口內(nèi)部又有控制機(jī)制,所以外部主機(jī)通過HPI口訪問DSP內(nèi)部RAM時不會影響DSP的正常運行。HPI利用DSP芯片上1000H地址開始的一塊具有共享存儲器功能的2K字RAM,來實現(xiàn)主機(jī)與從機(jī)間的數(shù)據(jù)交換。
DSP擴(kuò)展了一片64K字高速靜態(tài)RAM(CY7C1021V33-10),作為DSP芯片的片外RAM,用以適應(yīng)各種音頻處理算法對存儲器容量的要求。
DSP芯片處理后的信號由D/A輸出到耳機(jī),我們就可聽到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,后兩位則留作以后擴(kuò)展用;第二片74LS373B的8位輸出連接29F040B的A0~A7;89C51的P2.0~P2.5直接連接29F040B的A8~A13,和74LS373B的8位輸出共同構(gòu)作14位的頁內(nèi)地址。
相應(yīng)的尋址過程(假設(shè)訪問地址1FFFFH)是:第一步,先將P3.5置1,打開74LS373A,再向 P0口寫入所要尋址的頁碼地址,1FFFFH的頁碼為7H;第二步,再將P3.5置0,關(guān)閉74LS373A,向P0口和P2口寫入14位頁內(nèi)地址,1FFFFH的頁內(nèi)地址為3FFFH。因為74LS373B由ALE片選,每次MPU訪問外設(shè)時自動打開,所以這兩步驟次序不能顛倒,否則訪問的地址就出錯。
軟件設(shè)計
能夠從PC機(jī)下載音樂是MP3播放器的特點,這一功能由MPU與PC機(jī)的串口通信來實現(xiàn)。而且設(shè)計所需的下載軟件要求能夠下載書籍文本,要求能夠中文字符的串口通信。因此實現(xiàn)中文傳輸也是本設(shè)計的程序部分的關(guān)鍵。
圖3是用VB實現(xiàn)MP3播放器的下載軟件。
圖3的文件下載軟件,由Mscomm控件來實現(xiàn)。Setting設(shè)置為"9600,N,8,1",89C51的串口寄存器SCON和PCON也做對應(yīng)的設(shè)置。用Mscomm控件可以實現(xiàn)發(fā)送中文字符功能,具體方法如下:
。1)直接發(fā)送
直接發(fā)送即把中文字符等同于英文字符。如:MSComm1.output="這是一行中文數(shù)據(jù)!",但這種方法發(fā)送的中文數(shù)據(jù)不能太長,發(fā)送緩沖區(qū)和接收緩沖區(qū)的大小需設(shè)定為中文字符的兩倍以上,否則會出現(xiàn)接收或發(fā)送緩沖區(qū)溢出之類的錯誤。這種方法可用于一般要求不太高的場合。
(2)間接發(fā)送
在發(fā)送端將漢字或字符轉(zhuǎn)換為機(jī)器內(nèi)碼或區(qū)位碼數(shù)據(jù)數(shù)組,然后將轉(zhuǎn)換后的數(shù)據(jù)發(fā)送到串口,在接收端接收到數(shù)據(jù)后,按照相反的順序?qū)⒌玫降臄?shù)據(jù)轉(zhuǎn)換為相應(yīng)的漢字或字符,對于MPU這端要求能有較大容量的漢字表。在轉(zhuǎn)換過程中,我們采用位運算,在取得漢字的內(nèi)碼后將高字節(jié)和低字節(jié)分開,求整數(shù)高、低字節(jié)的函數(shù)如下:
Public Function HiByte(a As Integer)
Dim b
b = a And
【基于DSP技術(shù)的MP3播放器的研究與設(shè)計】相關(guān)文章:
基于軍網(wǎng)的雷達(dá)遠(yuǎn)程診斷技術(shù)研究08-10
基于web的異地并行設(shè)計與制造系統(tǒng)研究06-02
基于dsp三相變流器滑模變結(jié)構(gòu)控制(c)06-03
基于戰(zhàn)略治理的企業(yè)環(huán)境風(fēng)險研究08-28
基于工業(yè)機(jī)器人的自動化生產(chǎn)技術(shù)研究論文04-14
基于BP網(wǎng)遙感影像分類研究與應(yīng)用08-10
電氣自動化節(jié)能設(shè)計技術(shù)應(yīng)用研究06-12
基于知網(wǎng)的翻譯研究方向碩士畢業(yè)論文寫作06-25