MP3數(shù)字播放機(jī)系統(tǒng)的FPGA設(shè)計
1 引 言
MPEG(活動影像專業(yè)人員組織)是為數(shù)字音頻確定單一編碼和解碼(壓縮/解壓縮)方法于1988年建立的。1992年,國際標(biāo)準(zhǔn)組織(ISO)和國際電工委員會(IEC)為音頻和視頻編碼建立了MPEG1(ISO/IEC11172)標(biāo)準(zhǔn)。這使得業(yè)內(nèi)在處理新數(shù)字世紀(jì)出現(xiàn)的各種類型音頻/視頻媒體時統(tǒng)一在單一格式上。
隨著以數(shù)字形式存儲和播放音樂的MPEG Audio Layer3(MP3)格式的發(fā)展,個人數(shù)字播放機(jī)市場開始出現(xiàn)巨大的發(fā)展機(jī)會。非壓縮的音頻磁軌的MP3數(shù)字文件只有原來磁軌大小的1/10。能保持74分鐘數(shù)字音頻錄音時間的650Mbytes讀寫CD可以保持740分鐘MP3壓縮音頻數(shù)據(jù)。
數(shù)字播放機(jī)的一般解決方案是采用軟件形式(如基于Windows或其他OS基礎(chǔ)上的“Internet Audio Player”)或硬件形式(如“Portable MP3 Player”)。如Diamond Multimedia公司的Rio PMP300和Rio PMP500 MP3數(shù)字播放機(jī)分別采用Actel公司的A40MX04和A40MX09 FPGA實現(xiàn)其特殊應(yīng)用功能。FP GA能滿足整個系統(tǒng)的價格、功耗和性能要求。A40MX04提供547個邏輯模塊,它們可配置做為組合邏輯或273個觸發(fā)器和實現(xiàn)接口邏輯的69個I/O。A40MX04和A40MX09很容易滿足48MHz速度要求。它們靈活的結(jié)構(gòu)使系統(tǒng)設(shè)計人員能在每種MP3播放機(jī)中最佳地實現(xiàn)各種功能。
2 MP3數(shù)字播放機(jī)系統(tǒng)要求
MP3播放機(jī)有兩個基本工作模式:下載模式和播放模式。在下載模式中,在PC上運(yùn)行的軟件允許用戶下載MP3文件到播入機(jī)中的閃存卡。一旦把所有文件下載完,播放機(jī)與PC斷開,并通過耳機(jī)收聽下載的音樂。MP3播放機(jī)有不同的播放選擇控制,如播放、快進(jìn)、快倒、停止/暫停、音量控制、隨機(jī)播放和重復(fù)播放功能。
MP3播放機(jī)包含可輸入到PC的軟件。軟件提供用戶接口以便通過PC并行端口選擇、定序和下載不同音樂的MP3文件到播放機(jī)。圖1示出系統(tǒng)級框圖。
通過并行端口下載音樂到播放機(jī),其速率大約為每1MB編碼音樂10秒。MP3播放機(jī)的小尺寸對所有元件的物理尺寸有嚴(yán)格限制。另外,MP3播放機(jī)是便攜、電池供電裝置,需要工作在大約180mW低功率下。這兩個因素對功能設(shè)計的元件選擇有很大的影響。
3 用FPGA實現(xiàn)MP3系統(tǒng)
圖2示出Rio PMP500系統(tǒng)框圖,其中A42MX09 FPGA做為接口FPGA,它包含CPU接口、帶ECC(Error Correcting Code)支持的閃存和靈巧存儲器接口、時鐘產(chǎn)生邏輯、功能控制邏輯和鍵功能檢測邏輯單元。
A42MX09中的CPU I/F單元提供與系統(tǒng)CPU(NECD78P064GC微控制器,帶集成LCD控制器)的通信通路。CPU運(yùn)行在2.5MHz,控制整個系統(tǒng)的工作。對于任何所需要的操作,CPU喚醒系統(tǒng)并設(shè)置整個系統(tǒng)。CPU存取系統(tǒng)存儲器和管理整個閃存的配置、編程和存取。CPU有一個到MP3處理器的接口。MP3從閃存讀的數(shù)據(jù)由CPU寫到MP3處理器。MP3處理器譯碼MP3數(shù)據(jù)并把數(shù)據(jù)送到DAC,以便模擬輸出到耳機(jī)。
A42MX09中的靈巧存儲器接口單元是連接靈巧存儲器卡的接口。靈巧存儲器卡是一個外部閃存,用來增加整個系統(tǒng)存儲器以便在播放機(jī)中存儲更多的歌曲。到靈巧存儲器卡的信號接口非常類似于閃存接口。
閃存接口單元用于控制閃存,閃存保存通過并行端口下載的MP3文件。另外,ECC用Hamming碼函數(shù)實現(xiàn)。Hamming碼是一種FEC(Forward Error Correction)工具,當(dāng)所用數(shù)據(jù)通過噪聲媒體時FEC能校正錯誤。原始數(shù)據(jù)具有額外的校驗位附加在每個字組以生成一個碼字。這些額外位用“Block Parity”機(jī)理計算。采用模2運(yùn)算用數(shù)據(jù)位來生成矩陣G得到Hamming碼字。這需要乘法功能,而用A42MX09中的邏輯模塊的組合功能很容易實現(xiàn)乘法功能。
A42MX09中的時鐘產(chǎn)生器從48MHz輸入時鐘產(chǎn)生驅(qū)動器件內(nèi)部不同邏輯單元所需的不同時鐘。時鐘產(chǎn)生邏輯單元由觸發(fā)器和組合邏輯構(gòu)成分頻器。A42MX09中的鍵盤檢測單元用于改變播放機(jī)的設(shè)置。鍵盤接口單元一般由檢測鍵盤陣列中連接點(根據(jù)按鍵)的邏輯單元構(gòu)成并把按鍵轉(zhuǎn)變?yōu)榕c該鍵相關(guān)的功能。根據(jù)按鍵檢測執(zhí)行適當(dāng)?shù)墓δ?。陣列由寄存器、鎖存器和組合邏輯實現(xiàn)。
Rio MP3播放機(jī)的功率由MAX1M1705器件控制,而1705由FPGA功耗控制單元控制。MP3播放機(jī)一般由單節(jié)1.5V電池供電。電池最少應(yīng)能維持12小時聽所有下載的音樂。功率控制是Rio MP3播放機(jī)的一個顯著的特點。功率控制器件有兩種功率工作模式:PFM(脈沖頻率調(diào)制)和PWM(脈寬調(diào)制)模式。
PFM模式是低靜態(tài)電流待機(jī)模式,此模式提供120mA總輸出電流并降低靜態(tài)功耗到500uW。PWM模式是高功耗模式,能提供高達(dá)450mA輸出電流。當(dāng)MP3播放機(jī)處于停機(jī)狀態(tài)時,CPU編程寫FPGA的一個寄存器,從而產(chǎn)生MODE信號置MAX1M器件進(jìn)入PFM低功率模式。在PFM模式Rio MP3播放機(jī)功耗只有2mW~3mW。當(dāng)MP3播放機(jī)工作時,MODE信號改變MAX1M器件到PWM模式。Rio MP3播放機(jī)工作狀態(tài)時的總功率大約在180mW左右。
4 下一代MP3系統(tǒng)
下一代MP3系統(tǒng)將改變現(xiàn)在的系統(tǒng),能提供更快的下載、更多的用于播放的音樂文件和更多的用戶從接口/鍵面板選擇。更快的下載可通過采用高速并行端口模式(見IEEE1284)或USB端口實現(xiàn)。采用高密度閃存連同本地SDRAM基歌曲高速緩沖存儲器可提供更多音樂文件播放并可提供另外的選擇,如快速播放、快進(jìn)、慢播放、編程播放等。其他選擇可包括紅外收發(fā)器,可使用戶從播放機(jī)到播放機(jī)來回發(fā)射數(shù)據(jù)或執(zhí)行某些遠(yuǎn)程控制操作。整個系統(tǒng)可用一個FPGA實現(xiàn),不需要CPU。在FPGA中的音頻DAC控制器邏輯單元可提供I2C接口來控制音頻DAC,音頻DAC通過I2C接口取串行音頻數(shù)據(jù)并變換為模擬音頻提供給耳機(jī)。
其他新的壓縮方法正在涌現(xiàn),其中ATRAC3(Adaptive Transform Acoustic Coding—自適應(yīng)變換聲頻編碼)標(biāo)準(zhǔn)可壓縮CD音樂數(shù)據(jù)10:1而又能保持CD音質(zhì)。
ATRAC3特點是:
1、通過頻帶分裂濾波器和MDCT(Modified Discrete Cosine Transforms—改進(jìn)式離散余弦變換)對信號分析獲得的。
2、位率壓縮。利用ATRAC3技術(shù),能實現(xiàn)音樂信號的高效率壓縮。