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