隨著數(shù)字化技術(shù)在音頻的編輯、合成、效果處理、存儲、傳輸?shù)确矫娴牟粩噙M步,數(shù)字化的音頻產(chǎn)品已經(jīng)成為市場主流,傳統(tǒng)的純模擬的音頻產(chǎn)品幾乎退出了市場。例如CD播放器、MP3" target="_blank">MP3播放器等產(chǎn)品以更為優(yōu)良的音質(zhì)、更加方便的存儲和傳輸?shù)忍攸c逐漸地取代了傳統(tǒng)的以磁帶式錄音磁帶為媒介的音樂播放設(shè)備。但是,在某些領(lǐng)域特別是低配置的汽車上,以錄音磁帶為媒介的音響播放系統(tǒng)仍然大量存在,如果把這些播放設(shè)備進行數(shù)字化改造,則需要較高的成本。本文將系統(tǒng)介紹福華先進微電子公司提供的經(jīng)濟型解決方案——磁帶式(外型)MP3播放器mTape。
mTape是新一代創(chuàng)新的便攜式音樂播放器。它具有磁帶式的外殼(見圖1),并可像磁帶一樣放入卡式磁帶機中,但播放的是音質(zhì)更為優(yōu)美的MP3音樂。由于其帶有靈活簡潔的操作界面,在脫離卡式磁帶機時,還可以作為一個通用的便攜式MP3播放器。它支持SD/MMC卡即插即用,用戶可自由擴展存儲空間;高速USB2.0接口既可以傳輸數(shù)據(jù)又可以對內(nèi)置的鋰電池進行充電,充分體現(xiàn)出它簡潔方便的特點。
硬件系統(tǒng)的主要器件
mTape的構(gòu)成主要基于福華先進微電子公司的微控制器FS7821和音頻解碼器FS2401,圖2為mTape硬件系統(tǒng)框圖。該框圖包括兩部分:虛框內(nèi)為數(shù)據(jù)的傳輸處理;虛框外為供電和充電部分。
FS7821是一個基于RISC架構(gòu)的8051內(nèi)核的媒體控制器,它具有兼容性良好的高速USB2.0接口和多種媒體接口控制器,例如NAND FLASH存儲器、Smart Media (SM)、CompactFlash (CF)、Micro Drive、Secure Digital (SD)、 Multi Media Card (MMC)、 Memory Stick (MS)、Memory Stick-Pro (MS-pro)、 xD Picture (xD)等控制器。從PC經(jīng)USB2.0傳輸?shù)臄?shù)據(jù)無需CPU處理,通過DMA直接傳送到媒體介質(zhì),大大提高數(shù)據(jù)的傳輸效率。
FS7821內(nèi)部指令100%兼容最為流行的工業(yè)標準8051,所以在軟件上和標準8051是完全兼容的,為軟件設(shè)計帶來極大的方便。由于它采用的是流水線RISC架構(gòu)8051MPU內(nèi)核,其指令處理速度比標準8051處理速度快很多。而且,它還采用了先進的數(shù)據(jù)傳輸算法,優(yōu)化了總線架構(gòu)。這些新的設(shè)計方法使得無需增加控制器或者媒體器件成本就可以使數(shù)據(jù)傳輸和存儲速度大大地提高。除此之外,F(xiàn)S7821為各種存儲卡的外圍器件控制和擴展提供了32個GPIO引腳,也使得FS7821特別適合設(shè)計FLASH MP3、讀卡器等相關(guān)產(chǎn)品。
FS2401是一個單片MP3音頻解碼芯片,片內(nèi)集成了高性能低功耗的DSP處理器內(nèi)核、高質(zhì)量的可變率采樣立體聲DAC、音頻功率放大器、串行數(shù)據(jù)輸入接口SPI,以及控制信號I/O和通用I/O。FS2401作為一個從屬器件偵聽通過SPI接口傳來的比特流數(shù)據(jù)。比特流數(shù)據(jù)被解碼后,經(jīng)過數(shù)字音量控制傳到過采樣multi-bit, sigma-delta DAC,整個解碼過程只通過SPI接口進行控制。除了基本的解碼之外,還可以通過其內(nèi)部的用戶RAM區(qū)加入特殊的音樂效果。
硬件部分的5種主要功能
MP3播放器功能:FS7821利用4個GPIO和音頻解碼器FS2401的SPI接口相連,可以對FS2401進行初始化和實時控制,并能從SD卡或者MMC卡自動讀取MP3文件,然后傳到FS2401進行解碼,產(chǎn)生的兩路立體聲模擬信號送到耳機插孔和磁頭。
讀卡器功能:由于FS7821通過內(nèi)部集成了高速的USB2.0接口、DMA和多媒體接口,很容易實現(xiàn)PC機和mTape的SD/MMC卡之間任何格式的文件高速傳輸和存儲。
卡式磁帶機播放功能:mTape和通用盒式磁帶一樣可以放入卡式磁帶機中進行同步播放、快進、快退、暫停等所有功能。之所以能夠?qū)崿F(xiàn)這些操作,完全在于它能夠測定卡式磁帶機導(dǎo)帶輪的轉(zhuǎn)動速度的快慢及方向。在mTape中有兩小一大三個互相咬合的齒輪,其中一個小齒輪可以隨卡式磁帶機中的導(dǎo)帶轉(zhuǎn)軸轉(zhuǎn)動,就可以通過大齒輪帶動另一小齒輪向同樣方向轉(zhuǎn)動。在大齒輪正上方的PCB板上安裝有兩個反射式光耦, 以大齒輪中心為交點兩光耦的軸心線夾角為45。,當大齒輪的白色部分位于反射式光耦下部時,由反射式光耦組成的電路會產(chǎn)生低電平;反之,當大齒輪的黑色部分位于反射式光耦下部時,由反射式光耦組成的電路會產(chǎn)生高電平。這樣,當大齒輪勻速轉(zhuǎn)動時,兩個反射式光耦組成的電路就會產(chǎn)生A、B兩路方波。其中A路方波送入FS7821的通用GPIO,B路信號送到FS7821的外部中斷0引腳。A、B兩路方波相位總差90。。當B方波下降沿觸犯外部中斷0后,如果判斷A方波電平為高,就為向前轉(zhuǎn);如果A方波為低電平,就為向后轉(zhuǎn)。轉(zhuǎn)動速度可以通過計算單位時間內(nèi)波形的數(shù)據(jù)進行判斷。
USB充電:由于mTape內(nèi)置一塊大容量的鋰電池,采用一枚高效率的鋰電池充電芯片將來自USB口的+5V電源通過變?yōu)楹銐?.2V對鋰電池進行充電。
自動上電/斷電功能:當mTape插入卡式磁帶機并按下PLAY按鈕時,mTape上的磁頭會被磁帶機的磁頭下壓,mTape磁頭的托架下的小棒就會插入位于它下面的透射式光耦的間隙中,由透射式光耦組成的電路會啟動電源管理芯片為mTape供電。FS7821上電,并檢測系統(tǒng)狀態(tài),然后通過一個GPIO來控制電源管理芯片的狀態(tài),保持電源的穩(wěn)定性。當卡式磁帶機處于暫?;蛲V範顟B(tài)時,mTape的磁頭會彈起,磁頭托架下的小棒會從透射式光耦的間隙中抽出。光耦電路就會發(fā)出一個待機信號。如果這個信號持續(xù)時間超過5分鐘,F(xiàn)S7821就會關(guān)閉電源,為mTape斷電。
軟件架構(gòu)
從軟件上來說,mTape主要有兩個功能,一個是音樂播放功能(包括便攜式MP3模式和卡式磁帶機播放模式),另一個是讀卡器功能。人-機界面管理(MMI management)程序根據(jù)mTape的按鍵、卡帶機傳來的信號、USB連接/斷開等自由的切換這兩種功能。具體軟件架構(gòu)見圖3。
音樂程序流程:音樂功能部分的主要任務(wù)是FS7821從SD/MMC卡中讀取一個音頻文件然后送到解碼器FS2401進行解碼。當所有的音樂文件播放完畢之后,mTape又返回播放第一首曲子,因此這是一個循環(huán)播放的模式。
讀卡器功能:讀卡器程序可以分為兩個部分:USB連接偵測部分和讀卡器實體部分。當PC機的USB接口和mTape連接上以后,系統(tǒng)就進入USB模式,執(zhí)行讀卡器實體程序。
MMI部分:MMI(人-機界面)管理部分處理用戶的發(fā)出的命令。用戶可以通過mTape上的按鍵、卡式磁帶機上的按鍵以及USB線的斷開/連接對mTape發(fā)出命令。這些命令分為兩種:一種是USB命令,另一種是音樂播放命令。因為MMI沒有嚴格的實時性要求,而且程序不是十分復(fù)雜,所以在mTape中沒有必要采用實時操作系統(tǒng)。當FS2401沒有音頻數(shù)據(jù)傳送要求時,F(xiàn)S7821就處于空閑狀態(tài)。利用這段空閑時間就足可以處理用戶發(fā)出的命令。