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