基于CoolRunner CPLD的MP3應用開發(fā)板的設計
關鍵字:CoolRunner CPLD 便攜式MP3播放器作為一種集音頻播放、數(shù)據(jù)存儲為一身的數(shù)碼產(chǎn)品,其功能結構為電子設計人員所津津樂道。新功能的MP3播放器不斷地更新?lián)Q代。為了滿足MP3播放器功能新增的需求,我們設計了一套基于CoolRunner CPLD的軟硬件開發(fā)系統(tǒng),制作相應開發(fā)板,探索了一種快速實現(xiàn)的方案。
MP3應用開發(fā)板的選型和設計
主控模塊芯片及其外圍器件
XCR3256是Xilinx公司開發(fā)的CoolRuner CPLD芯片,可實現(xiàn)6000門的數(shù)字邏輯電路,內(nèi)嵌256個宏單元,支持4個全局時鐘,具有低功耗、可快速ISP、延時可預測等特點,可滿足MP3功能和數(shù)碼產(chǎn)品方面的一些特殊要求,我們選用XCR3256芯片實現(xiàn)M P3主控模塊。該主控模塊用于對各外圍器件的控制,協(xié)調(diào)各外圍器件的工作。外圍器件主要有解碼芯片組(MAS3507D和DAC3550A)、Flash存儲器、LCD、USB接口、并口等。主控模塊與各外圍器件的框圖如圖1所示。
圖1 MP3應用開發(fā)板結構框圖
主控邏輯單元是整個主控模塊的核心部分,決定著MP3播放器各功能,如播放、快進、下載之間的優(yōu)先度和順序,為其他邏輯單元提供實現(xiàn)更加復雜操作的控制信號。主控邏輯單元通過狀態(tài)機對其他模塊進行控制,其狀態(tài)機如圖2所示,該圖詳細地描述了MP3播放器不同工作階段的操作條件和各階段之間的切換情況。
特別需要說明的是:①LOW_PWR使DAC3550A工作在低功率模式下;②IDLE是播放與下載、快進、后退等操作之間的轉(zhuǎn)換狀態(tài);③UPDATE_TRACK將歌曲曲目更新,并傳遞給LCD顯示。
圖2 主控邏輯單元狀態(tài)機
DAC3550A是一款專為音頻應用而設計的高精度數(shù)模轉(zhuǎn)換芯片,具有低功耗操作模式,連續(xù)采樣頻率從8KHz到50KHz均可自主選擇,這就給設計帶來了極大的靈活性;還提供了簡潔的I2S總線接口和I2C總線接口,主控模塊正是通過I2C總線對DAC3550A三個寄存器AVOL(16bits)、GCFG(8bits)、SR_REG(8bits)寫入相應命令而實現(xiàn)控制的。DAC3550A接口電路圖設計如圖3所示。
圖3 DAC3550A接口電路圖
關鍵字:CoolRunner CPLDMAS3507D可實現(xiàn)2階或3階的MPEG音頻解碼功能,內(nèi)嵌的功率管理器可降低低采樣頻率時的功率,并可以在芯片閑置時將其暫時斷電(power off)。該芯片還可以對音效進行調(diào)整,以滿足用戶不同需求;為輸出音頻數(shù)據(jù)而提供的I2S總線端口使MAS3507D和DAC3550A的連線更加簡潔方便。MAS3507D是通過給主控模塊的反饋實現(xiàn)對DAC3550A輸入控制的,MAS3507D DC/DC轉(zhuǎn)換接口電路如圖4所示。
圖4 MAS3507D DC/DC轉(zhuǎn)換接口電路
開發(fā)板工作流程
MP3應用開發(fā)板的工作流程為:
上電→提取用戶命令→讀存儲器→將MP3音頻文件送至MAS3507D進行解碼→解碼后的數(shù)字信號經(jīng)DAC3550A數(shù)模轉(zhuǎn)換→模擬信號輸入耳機。
性能設計
設計過程中,為滿足今后功能擴展及增強開發(fā)平臺系列化的需要,我們對開發(fā)板的功能布局做了很多調(diào)整。
我們將CoolRunner芯片與解碼芯片組連接的引腳設計成插針形式,可及時更新和選用新的解碼芯片組,而解碼芯片組決定著MP3播放器所能播放音頻文件的格式及音質(zhì)。低功耗是MP3播放器追求的一項重要指標,開發(fā)板中選用的XRC256XL芯片及解碼芯片組(MAS3507D和DAC3550A)均滿足了低功耗的要求。
布線要點
MP3應用開發(fā)板的設計軟件我們選用ProtelDXP。在布線時,我們注意到一些問題,如I2C總線在高電平時對串擾和干擾的高度敏感性要求在總線或帶狀傳輸線超過10cm并且包含VDD和VSS時,布線必須按SDA、VDD、VSS和SCL從上到下的順序進行;對MAS3507D和DAC3550A之間負責數(shù)據(jù)傳輸?shù)腎2S總線應盡量減少布線長度,并且避免周圍信號線的干擾。
MP3應用開發(fā)板的調(diào)試
我們設計了一個描述MP3主控模塊的IP Core,特別注意到了USB端口的下載功能及歌詞與音頻的同步顯示功能。
調(diào)試環(huán)境
仿真和綜合過程中,我們使用的EDA工具有:Xilinx公司開發(fā)的ISE 6.2,Synplicity公司的Synplify Pro7.3以及Mentor Graphics公司的Modelsim SE5.7e。
調(diào)試流程
關鍵的測試流程如下:
(1)在ISE6.2下將修改后的IP Core編譯通過,編寫測試文件。用Modelsim SE5.7e進行功能仿真。該測試文件比較全面地考慮了實際情況,例如對I2C總線的數(shù)據(jù)線SDA和時鐘線SCL增加了上拉模塊PULLUP,以模擬實際中上拉電阻對I2C總線的上拉作用。該測試文件很好地模擬了主控模塊對各外圍器件的控制,全面反映了開發(fā)板的工作情況,并且是在硬件制作完成之前就對主控模塊進行功能和時序上的仿真驗證,除了證明了源代碼功能上的正確性和時序上的精確性,同時還大大縮短了設計周期。
(2)調(diào)用Synplify Pro7.3對MP3主控模塊的源代碼進行綜合,生成網(wǎng)表文件及布局布線約束文件等。
(3)利用ISE 6.2將網(wǎng)表中的邏輯符號門組裝到物理元件(CLB和IOB)中,并將元件放置到器件中進行連接,同時提取出時序數(shù)據(jù)并生成各種報告。
(4)利用在布局布線中獲得的精確參數(shù)再次驗證電路的時序,調(diào)用Modelsim SE5.7e進行后仿真。
(5)燒寫驗證。編寫UCF(User Constraints File)文件mp3.ucf,設置好全局約束、端口約束等,然后使用ISE集成的配置工具iMPACT,生成PROM格式的配置文件,再將其通過JTAG端口下載至自行設計成功的MP3應用開發(fā)板。在MP3音頻文件被下載至FLASH存儲器后,就可以對該IP Core進行調(diào)試。經(jīng)調(diào)試,我們所預期的功能如播放、快進、后退、靜音等,均得到的實現(xiàn),表明調(diào)試成功。
結語
本文介紹了基于CoolRunner CPLD的MP3應用開發(fā)板的設計流程,驗證了利用現(xiàn)有IP Core設計的可行性和高效性。在設計過程中,硬件(實驗評估板)的設計和基于IP Core的算法設計可同步進行,避免了兩者因異步帶來的設計周期的延長。實踐證明本文的設計思路和實現(xiàn)方法是一種靈活、快速、可靠地開發(fā)數(shù)字系統(tǒng)平臺的設計方案。