現在市場上推出了各種型號的MP3隨身聽,它們采用先進的智能控制技術,利用先進的芯片,不僅實現了MP3格式語音的播放,而且集多種功能于一身。 但這些精巧的隨身聽價格較昂貴,因此本文根據要求設計了一種廉價MP3播放器,利用硬件存儲語音文件,并能夠從PC 機下載,從而可隨時更新MP3音樂。該MP3播放器同時附加了文本閱讀的功能,可做到語音和文本的同步輸出。 MP3播放器系統構成 MP3播放器系統結構由圖1所示,根據MP3播放器特點要求選擇了TI公司的TMS320VC5402芯片,該DSP芯片優越的效價比既可充分勝任本設計的信號處理又能滿足本設計要求的價廉目的。而主機選用功能較強的AT89C51芯片。設計原理上,C5402芯片的信號處理部分和89C51的智能控制部分來分別完成電路設計,并相應制作兩塊PCB,可以明確設計思路,實物的大小也減半。 由圖1,MP3播放器系統選用大容量的FLASH MEMORY作為主存儲器硬件存儲語音文件,DSP程序也存儲在FLASH中,運行時再引導到DSP的高速RAM,從而省去DSP芯片部分的程序存儲空間。利用串口通信電路可以實現由PC機下載語音文件功能,利用液晶顯示屏LCD,還可以從PC機下載小說并在LCD上閱讀。 DSP、MPU硬件設計 MP3播放器中,DSP芯片的Bootloader采用了HPI口方式。由于在硬件上HPI引腳與DSP的數據、地址總線引腳是相互獨立的,同時HPI口內部又有控制機制,所以外部主機通過HPI口訪問DSP內部RAM時不會影響DSP的正常運行。HPI利用DSP芯片上1000H地址開始的一塊具有共享存儲器功能的2K字RAM,來實現主機與從機間的數據交換。 DSP擴展了一片64K字高速靜態RAM(CY7C1021V33-10),作為DSP芯片的片外RAM,用以適應各種音頻處理算法對存儲器容量的要求。 DSP芯片處理后的信號由D/A輸出到耳機,我們就可聽到MP3音樂。D/A變換由LM4545實現,它具有48K字轉換速度,可直接和DSP芯片的輸出相連。 而MPU主要完成三項功能,分別是LCD顯示,控制DSP芯片的運行和文件的串口下載。89C51與29F040B的連接電路如圖2所示。 MPU用來訪問FLASH的地址線由P0口和P2.0~P2.5組成。這14根地址線既提供14位頁內地址又提供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位的頁內地址。 相應的尋址過程(假設訪問地址1FFFFH)是:第一步,先將P3.5置1,打開74LS373A,再向 P0口寫入所要尋址的頁碼地址,1FFFFH的頁碼為7H;第二步,再將P3.5置0,關閉74LS373A,向P0口和P2口寫入14位頁內地址,1FFFFH的頁內地址為3FFFH。因為74LS373B由ALE片選,每次MPU訪問外設時自動打開,所以這兩步驟次序不能顛倒,否則訪問的地址就出錯。 軟件設計 能夠從PC機下載音樂是MP3播放器的特點,這一功能由MPU與PC機的串口通信來實現。而且設計所需的下載軟件要求能夠下載書籍文本,要求能夠中文字符的串口通信。因此實現中文傳輸也是本設計的程序部分的關鍵。 圖3是用VB實現MP3播放器的下載軟件。 圖3的文件下載軟件,由Mscomm控件來實現。Setting設置為"9600,N,8,1",89C51的串口寄存器SCON和PCON也做對應的設置。用Mscomm控件可以實現發送中文字符功能,具體方法如下: (1)直接發送 直接發送即把中文字符等同于英文字符。如:MSComm1.output="這是一行中文數據!",但這種方法發送的中文數據不能太長,發送緩沖區和接收緩沖區的大小需設定為中文字符的兩倍以上,否則會出現接收或發送緩沖區溢出之類的錯誤。這種方法可用于一般要求不太高的場合。 (2)間接發送 在發送端將漢字或字符轉換為機器內碼或區位碼數據數組,然后將轉換后的數據發送到串口,在接收端接收到數據后,按照相反的順序將得到的數據轉換為相應的漢字或字符,對于MPU這端要求能有較大容量的漢字表。在轉換過程中,我們采用位運算,在取得漢字的內碼后將高字節和低字節分開,求整數高、低字節的函數如下: Public Function HiByte(a As Integer) Dim b b = a And %26;amp;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 %26;amp;HFF LowByte = b End Function 結語 該MP3播放器基于DSP技術,采用慢速大容量外存加高速小容量外存的組合方式,音樂文件先從慢速外存下載至高速外存再載入DSP的高速RAM,下載一部分處理一部分。采用與PC機的串口通信方式實現文件的下載速度較慢,也可利用USB接口進行高速的通信。另外系統中連接的電話線可充作電話的錄音。 實踐證明,這種方法設計的MP3播放器成本較低,同時附加文本閱讀的功能做到語音和文本的同步輸出,能滿足特殊的需要。 |