用FPGA實(shí)現(xiàn)多路PWM輸出的接口設(shè)計(jì)與仿真
0 引言
本文引用地址:http://www.ex-cimer.com/article/83299.htm在許多嵌入式系統(tǒng)的實(shí)際應(yīng)用中,需要擴(kuò)展FPGA(現(xiàn)場(chǎng)可編程門陣列)模塊,將CPU實(shí)現(xiàn)有困難或?qū)崿F(xiàn)效率低的部分用FPGA實(shí)現(xiàn),如數(shù)字信號(hào)處理、硬件數(shù)字濾波器、各種算法等,或者利用FPGA來擴(kuò)展I/O接口,如實(shí)現(xiàn)多路PWM(脈寬調(diào)制)輸出、實(shí)現(xiàn)PCI接口擴(kuò)展等。通過合理的系統(tǒng)軟硬件功能劃分,結(jié)合優(yōu)秀高效的FPGA設(shè)計(jì),整個(gè)嵌入式系統(tǒng)的效率和功能可以得到最大限度的提高。
在電機(jī)控制等許多應(yīng)用場(chǎng)合,需要產(chǎn)生多路頻率和脈沖寬度可調(diào)的PWM波形。本文用Altera公司FPGA產(chǎn)品開發(fā)工具QuartusⅡ,設(shè)計(jì)了6路PWM輸出接口,并下載到FPGA,實(shí)現(xiàn)與CPU的協(xié)同工作。
1 FPGA概述
PLD(可編程邏輯器件)可分為SPLD(簡(jiǎn)單可編程邏輯器件),CPLD(復(fù)雜可編程邏輯器件)和FPGA,其實(shí)它們只是在起初有一些差別,現(xiàn)在的區(qū)別已經(jīng)比較模糊了,PLD可統(tǒng)稱為FPGA。目前世界上有十幾家生產(chǎn)CPLD/FPGA的公司,知名度較大的有Altera,Xil-inx,Lattice,Actel等,其中Altera和Xilinx占有了60%以上的市場(chǎng)份額。
Altera公司是最大PLD供應(yīng)商之一,20世紀(jì)90年代以后發(fā)展很快。主要產(chǎn)品有:MAX3000/7000、FLEX10K、APEX20K、ACEX1K、StratiX、Cyclone等。開發(fā)軟件為MaxplusⅡ和QuartusⅡ。普遍認(rèn)為其開發(fā)工具M(jìn)axplusⅡ和QuartusⅡ是最成功的FPGA開發(fā)平臺(tái)之一,配合使用Altera公司提供的免費(fèi)OEM HDL綜合工具可以達(dá)到較高的效率。
對(duì)于系統(tǒng)設(shè)計(jì)人員來說,F(xiàn)PGA是一種可以自己編程的芯片。它從芯片制造廠商那里出來時(shí)是內(nèi)部沒有連線的。用戶可以進(jìn)行設(shè)計(jì)輸人(電路圖輸入、狀態(tài)機(jī)輸入或者HDL輸入);然后進(jìn)行仿真和驗(yàn)證;接著用一些專用軟件(如Synopsys FPGA-Compiler、Synplici-ty Synplify、Examplar Leonardo等)進(jìn)行邏輯綜合;最后使用各個(gè)FPGA廠商自身的后端實(shí)現(xiàn)的軟件(如Al-tera Quartus、Xilinx ISE等)進(jìn)行布局布線,生成一個(gè)配置所需設(shè)計(jì)的電路連線關(guān)系的二進(jìn)制流文件,通過一根連接PC機(jī)和FPGA芯片的下載線,將配置文件下載到芯片中。
本文以使用QuartusⅡ軟件設(shè)計(jì)PWM為例,介紹FPGA設(shè)計(jì)的流程,它包括設(shè)計(jì)輸入、約束輸入、邏輯綜合、邏輯驗(yàn)證(綜合后仿真)、布局布線(器件實(shí)現(xiàn))和器件驗(yàn)證(版圖后仿真)等幾部分。
2 多路PWM的設(shè)計(jì)實(shí)現(xiàn)
PWM技術(shù)最初是在無線電技術(shù)中用于信號(hào)的調(diào)制,后來在電機(jī)調(diào)速中得到了很好的應(yīng)用。在直流伺服控制系統(tǒng)中,通過專用集成芯片或中小規(guī)模數(shù)字集成電路構(gòu)成的傳統(tǒng)PWM控制電路往往存在電路設(shè)計(jì)復(fù)雜、體積大、抗干擾能力差以及設(shè)計(jì)困難、設(shè)計(jì)周期長(zhǎng)等缺點(diǎn),因此PWM控制電路的模塊化、集成化已成為發(fā)展趨勢(shì)。它不僅可以使系統(tǒng)體積減小、重量減輕且功耗降低,同時(shí)可使系統(tǒng)的可靠性大大提高。隨著電子技術(shù)的發(fā)展,特別是ASIC(專用集成電路)設(shè)計(jì)技術(shù)的日趨完善,數(shù)字化的EDA(電子設(shè)計(jì)自動(dòng)化)工具給電子設(shè)計(jì)帶來了巨大變革,在電機(jī)控制等許多應(yīng)用場(chǎng)合,需要產(chǎn)生多路頻率和脈沖寬度可調(diào)的PWM波形,這可通過FPGA豐富的硬件資源和可以配置I/O引腳來實(shí)現(xiàn)。嵌入式系統(tǒng)中FPGA的應(yīng)用設(shè)計(jì)關(guān)鍵是系統(tǒng)軟硬件功能的劃分。
圖1是實(shí)現(xiàn)的3路PWM硬件結(jié)構(gòu)框圖。CPU通過數(shù)據(jù)線向FPGA寫入定時(shí)常數(shù)控制PWM的頻率、初始相位和占空比,并通過外部啟動(dòng)信號(hào)控制PWM的啟動(dòng)。
根據(jù)圖1,寫出實(shí)現(xiàn)相應(yīng)功能的Verilog程序描述。部分源程序如下:
pwm相關(guān)文章:pwm原理
評(píng)論