MP3壓縮音樂的方式是通過一個運算法則,去掉聲音中高頻與低頻的部分,大幅刪減不必要的容量浪費,同時保留了人類所能感受到的音頻部分。因此,它的好處在于大幅降低了數字聲音文件的容量,而不會破壞原來的音質。在MP3的運算法則下,音質越低的聲音可以得到越高的壓縮比例。以CD音質的Wave文件來說,如抽樣分辨率為16bit,抽樣頻率為44.1kHz,聲音模式為立體聲,那么存儲1秒鐘CD音質的Wave文件,必須要用掉16bit×44100×2=1411200bit,也就是相當于1411.2kbit的存儲容量,存儲介質的負擔很大。而通過MP3格式壓縮后,文件便可以壓縮為原來的1/10到1/12,每一秒鐘的MP3只需大約U2-128kbit就可以了。 MP3播放系統分為便攜式和非便攜式兩種。對于非便攜式,要考慮和其他CD音樂格式的共容性。對于便攜式系統,主要考慮的是其體積小巧、低功耗、高容量、低價格。 系統簡介 便攜式MP3播放器的系統框圖如圖1所示,各部分的功能說明如下: 圖1 便攜式MP3播放器系統框圖 1. 解碼部分:這是MP3播放器的核心部件,采用硬件解碼技術。 2. 存儲部分:目前一般采用32MB的FLASH存儲器,32MB的存儲器能夠存儲36分鐘128kbps(達到CD音質)的音樂,如果是播放16kbps的壓縮話音,可以存儲4個小時的內容。 3. 接口部分:一般通過PC的并口或USB口進行MP3文件的下載,并口的傳輸速率較低,USB口的傳輸速率可以高達12Mbps。 4.電源管理:便攜式MP3的體積小,只用1到2只AAA電池供電,因此采用低電壓以及進行有效的功率管理是非常必要的。 音頻解碼芯片內部結構 SPCA751A是凌陽科技公司生產的單片信號處理芯片,是一個MPEG Layer2.5音頻專用解碼芯片,已經廣泛應用于一些便攜式的MP3播放器設計中。它可支持對8—320Kbps基本數據流的解碼,支持的取樣頻率范圍為8KHz—48KHz,非常適合于MPEG的音頻解碼,并帶有數字語音錄音的MPEG播放模塊,具有很高的性能/價格比。解碼后的信號是可以直接輸出到DAC的立體聲、單聲道或雙聲道的數字信號,SPCA751A與DAC的接口是可編程的。只要通過通用的串行I/O口和控制接口就能對MPEG比特流進行輸入/輸出和回放控制,系統控制器能很輕易的對MPEG音頻信號進行解碼。通過一個通用的可編程I2S接口,就能把一解碼的音頻PCM數據輸出到外部的DAC中,因此,大多數常用的音頻DAC都能和SPCA751A兼容。 對于嵌入式的語音錄音,SPCA751A具有高品質的10位8KHz采樣頻率的ADC。基于SACM_S480或者SACM_S3200的運算法則,語音可以分別被壓縮到4.8Kbps和32Kbps,而保持原始的語音效果。 SPCA751A使用的電源為3.0V"3.6V,它可以從其本身使用的16.934MHz晶振通過鎖相環與系統時鐘同步。SPCA751A信號處理器的工作頻率可以達到34MHz而功耗很少,這就使得SPCA751A特別適合于便攜式系統。 SPCA751A芯片的內部功能如圖2所示,其主控制器只要具有足夠的I/O口、能訪問閃存和驅動LCD即可。 圖2 SPCA751A內部功能圖 為了適合數字錄音應用的需要,SPCA751A有一個適合于語音波段的Σ-ΔADC,轉換器的電路包括兩個主要模塊:ADC模塊和內部參考偏置電壓模塊,后者為一個帶有10位諧和音的15位數據格式。 ADC模塊包括麥克風放大器、一個可編程增益放大器(PGA)、一個模擬過采樣調節器和十進制數據濾波器。PGA增益可以從-12dB到12dB(-12,-6,0,6,12dB),當過采樣信號頻率為1.024MHz時,調節器是一個Σ-Δ反饋回路, 它完成微分模擬信號輸入到脈沖密度調整單比特數字信號輸出的轉換。 圖3 MPEG音頻播放器系統框圖 CEI表示主控制器是否可以接收數據 設置初始化參數:IDF+512字節數據 設置比特流:ID6+512字節比特流 設置命令:ID(低位字節)+命令(高位字節) 硬件設計 SPCA751A是單片的CMOS微處理器,是實時的MPEG音頻解碼和語音錄音的專用芯片。主處理器通過串行控制口/I/O接口的命令控制SPCA751A對MPEG語音數據進行解碼,主處理器也可以根據該接口檢測解碼過程。MPEG音頻播放器系統框圖如圖3所示。SPCA751A與主控制器的連接如圖4所示。 圖4 SPCA751A與主控制器的連接 軟件設計 SPCA751A工作于兩種模式,MP3模式和數字語音錄音(DVR)模式。在MP3模式,SPCA751A解碼輸入的比特流,發送到SPCA751A的數據作為輸入數據。當FCEB1為高電平(缺省)時,主處理器發送比特流到SPCA751A;當FCEB1為低電平時,表明SPCA751A處于忙碌狀態,這時,主處理器不能發任何數據到SPCA751A。在DVR模式,SPCA751A編/解碼錄入的數字比特流,如果FCEB1為高電平,主處理器能從SPCA751A接收數據;當FCEB1為低電平時,主處理器不能從SPCA751A獲得比特流。對SPCA751A進行編程的流程圖如圖5所示。 圖5 對SPCA751A編程流程圖 結語 MP3為了取得較好的壓縮效果而采用了相對復雜的技術,而且寬帶音頻信號的取樣率也較高(一般為44.1kHz以上),所以MP3編解碼的運算量和數據量都相當龐大。例如,在定點DSP平臺上以匯編語言編寫的解碼程序,在128kbps、立體聲的條件下,需要近40Mbps進行實時解碼,并需耗用15kB程序/設計空間。這就是目前便攜式MP3已在市場上流行,而能實時編碼的同類產品尚不多見的原因之一。不過,隨著硬件性能的不斷提高和軟件算法的不斷改進,MP3實時編碼器也必將取得進一步的發展。 |