當設計的系統需要對數字信號進(jìn)行處理時(shí),常采用通用 DSP(Digital Signal Process)處理器,這樣的設計方案通用性好,且還有各種較為成熟的 DSP算法可以參考。但是,這類(lèi)方案通常是雙核設計,即采用通用控制器(MCU)加上通用 DSP處理器實(shí)現,在實(shí)現系統時(shí)開(kāi)發(fā)的復雜程度、難度都較大,也難以滿(mǎn)足定制特殊處理的需要。為了解決這些問(wèn)題,人們開(kāi)始尋求新的設計方案,基于通用處理器加上FPGA(大規?删庨T(mén)陣列)的架構方案逐漸成為主流,在新的方案中通用控制器完成控制和管理功能,專(zhuān)用的數字信號處理和組合邏輯功能由 FPGA實(shí)現,使得設計開(kāi)銷(xiāo)與復雜程度明顯降低。 1 現行設計流程的不足 使用“MCU+FPGA”架構方案的開(kāi)發(fā)流程如圖1所示。系統的設計之初是先由系統結構設計小組制定出系統模型方案,并確定模型仿真正確之后將系統結構的設計方案提交給FPGA設計人員,并依據系統模型用硬件描述語(yǔ)言創(chuàng )建系統同時(shí)創(chuàng )建測試平臺,比較系統級仿真結果與模型設計是否相符,當不相符時(shí)則需要進(jìn)行修改,并重新進(jìn)行仿真驗證。在這種流程的開(kāi)發(fā)中必定會(huì )存在很多的迭代與間歇。 ![]() 圖1傳統解決方案的開(kāi)發(fā)流程 分析其原因在于系統結構設計人員與 FPGA設計人員的工作有重復與制約性。二者的工作同樣是進(jìn)行系統設計,并且都要進(jìn)行仿真,只不過(guò)前者是進(jìn)行系統的軟件仿真,后者進(jìn)行系統的硬件仿真。另外系統的建立需要幾位工程師的協(xié)同工作。如果當 FPGA設計人員驗證出系統設計有誤時(shí),還要回轉給系統結構設計人員等待修改完再重新進(jìn)行硬件系統設計與仿真。 2 設計流程的改進(jìn) 2.1 EDA設計工具 1) MATLAB的 Simulink環(huán)境 MATLAB是 MathWorks公司開(kāi)發(fā)的功能強大的數學(xué)分析工具。并且被廣泛應用于科學(xué)計算和工程計算中。Simulink是基于 MATLAB平臺推出的一個(gè)強大的動(dòng)態(tài)系統仿真環(huán)境。它以圖形化模式進(jìn)行系統建模仿真,可以快速完成系統的設計。并且具有強大的代數、微分等模型系統的求解器。 2) DSP Builder DSP Builder是 Altera公司開(kāi)發(fā)了基于 Simulink開(kāi)發(fā)的 DSP設計工具。在 Simulink中作為一個(gè)工具箱出現。這樣使得用 FPGA設計DSP系統完全可以通過(guò) Simulink的圖形化界面進(jìn)行,只要簡(jiǎn)單地進(jìn)行 DSP Builder工具箱的模塊調用即可。從而使得一個(gè)復雜的電子系統設計變得相當容易而且直觀(guān)。同時(shí)加速了 FPGA實(shí)現DSP 的開(kāi)發(fā)流程。 2.2 改進(jìn)開(kāi)發(fā)流程 采用上述 EDA設計工具使得在系統在設計階段,由系統工程師負責系統的模型設計,并且在軟件的輔助下,進(jìn)行硬件描述語(yǔ)言的代碼自動(dòng)生成,最終可以下載到 FPGA中檢驗設計效果。即將系統結構設計人員與 FPGA設計人員的工作合并從而改進(jìn)的設計流程。如圖2所示。 ![]() 圖2 改進(jìn)的開(kāi)發(fā)流程 設計流程的開(kāi)始是系統結構設計人員基于 Simulink使用 DSP Builder工具箱提供的模塊建立系統模型。工具箱中的模塊涵蓋了算術(shù)和存儲功能,并且對其技術(shù)參數、數據格式、數據類(lèi)型和總線(xiàn)寬度等屬性進(jìn)行設置。系統模型設計完成后就進(jìn)入仿真環(huán)節。這是基于系統的算法級仿真,設計者甚至不用關(guān)心目標硬件系統的屬性。如果仿真結果沒(méi)有得到預期設計的結果,可以很快通過(guò)修改模型進(jìn)行調整。當仿真結束后使用 Signal Compiler模塊進(jìn)行系統模型的 Simulink模型文件(.mdl文件)到硬件描述語(yǔ)言的轉換。這個(gè)過(guò)程將自動(dòng)生成硬件描述語(yǔ)言的代碼。之后通過(guò)綜合以后產(chǎn)生出原子級網(wǎng)表文件(底層電路描述文件)。然后調用 Quartus II 的編譯器生成可以下載的門(mén)級網(wǎng)表文件,最后下載到 FPGA上就實(shí)現了 DSP系統的硬件化過(guò)程。操作流程如圖3所示。 ![]() 圖3 操作流程 3 實(shí)踐與分析 3.1 AM調制模型的 FPGA實(shí)現 3.1.1 AM調制原理 調制器與解調器是通信設備中的重要部件。所謂調制,就是用調制信號去控制載波某個(gè)參數的過(guò)程。相關(guān)的術(shù)語(yǔ)如下: ·調制信號:由原始信號轉變成的低頻信號,可以是模擬信號,也可是數字信號。通常用數學(xué)符號uΩ表示。 ·載波:未受調制的高頻震蕩信號。載波可以是正弦波也可以是非正弦波(方波、三角波、鋸齒波)。用uC表示。 ·已調波:受調制后的振蕩波,具有調制信號的特征。 設載波電壓為: uC =UC cosωct (1) 調制電壓為: uΩ= UΩ cosΩt (2) 3.1.2 模型建立 基于本文上述的理論建立出 AM調幅模型。其中的兩個(gè)子系統分別是用上述的 DDS模型建立的載波與調制波模塊,在 Simulink中得到仿真結果如圖4所示。 ![]() 圖4 AM調幅模型仿真結果 3.2 將模型文件轉化為硬件描述語(yǔ)言 當 DSP Builder模型與仿真都正確后就可以進(jìn)入模型向硬件描述語(yǔ)言的過(guò)程了。加入Signal Compiler模塊,點(diǎn)擊執行將模型文件轉化為硬件描述語(yǔ)言。轉換后 DSP Builder的Signal Compiler模塊會(huì )自動(dòng)生成 Quartus II的工程,其中的代碼已經(jīng)依據模型自動(dòng)生成并建立了頂層模塊。如圖5。增加相應的輸入與輸出,鎖定引腳后就可以下載了。 ![]() 圖5 生成的模型頂層結構 下載到 FPGA中,連接示波器,觀(guān)察到如圖6所示圖像。 ![]() 圖6 在示波器中的AM調制模型信號圖像 4 結語(yǔ) 從實(shí)踐結果和系統的總體設計方案可以看出,改進(jìn)的設計流程使得設計人員可以借助Simulink進(jìn)行靈活的系統模型設計并且可以通過(guò) MATLAB強大的計算能力進(jìn)行系統級的仿真。由DSP Builder進(jìn)行硬件描述語(yǔ)言的自動(dòng)生成讓設計者可以更加專(zhuān)注于系統的整體設計,提高了開(kāi)發(fā)效率和系統建立質(zhì)量。 本文作者創(chuàng )新點(diǎn):引入EDA設計工具對現行的DSP系統設計流程進(jìn)行改進(jìn),使DSP系統開(kāi)發(fā)效率得到明顯提高。 作者:馬森,尚媛園,倪琴琴,劉崢 來(lái)源:《微計算機信息》(嵌入式與SOC)2009年第1-2期 |