1. gzyueqian
      18078865874

      用FPGA實(shí)現(xiàn)多路PWM輸出的接口設(shè)計(jì)與仿真

      更新時(shí)間: 2007-08-07 09:15:56來(lái)源: 粵嵌教育瀏覽量:1048

      0 引言

        在許多嵌入式系統(tǒng)的實(shí)際應(yīng)用中,需要擴(kuò)展FP-GA(現(xiàn)場(chǎng)可編程門(mén)陣列)模塊,將CPU實(shí)現(xiàn)有困難或?qū)崿F(xiàn)效率低的部分用FPGA實(shí)現(xiàn),如數(shù)字信號(hào)處理、硬件數(shù)字濾波器、各種算法等,或者利用FPGA來(lái)擴(kuò)展I/O接口,如實(shí)現(xiàn)多路PWM(脈寬調(diào)制)輸出、實(shí)現(xiàn)PCI接口擴(kuò)展等。通過(guò)合理的系統(tǒng)軟硬件功能劃分,結(jié)合高效的FPGA設(shè)計(jì),整個(gè)嵌入式系統(tǒng)的效率和功能可以得到限度的提高。

        在電機(jī)控制等許多應(yīng)用場(chǎng)合,需要產(chǎn)生多路頻率和脈沖寬度可調(diào)的PWM波形。本文用Altera公司FPGA產(chǎn)品開(kāi)發(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)稱(chē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等。開(kāi)發(fā)軟件為MaxplusⅡ和QuartusⅡ。普遍認(rèn)為其開(kāi)發(fā)工具M(jìn)axplusⅡ和QuartusⅡ是成功的FPGA開(kāi)發(fā)平臺(tái)之一,配合使用Altera公司提供的免費(fèi)OEM HDL綜合工具可以達(dá)到較高的效率。

        對(duì)于系統(tǒng)設(shè)計(jì)人員來(lái)說(shuō),F(xiàn)PGA是一種可以自己編程的芯片。它從芯片制造廠商那里出來(lái)時(shí)是內(nèi)部沒(méi)有連線的。用戶(hù)可以進(jìn)行設(shè)計(jì)輸人(電路圖輸入、狀態(tài)機(jī)輸入或者HDL輸入);然后進(jìn)行仿真和驗(yàn)證;接著用一些專(zhuā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)制流文件,通過(guò)一根連接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ù)初是在無(wú)線電技術(shù)中用于信號(hào)的調(diào)制,后來(lái)在電機(jī)調(diào)速中得到了很好的應(yīng)用。在直流伺服控制系統(tǒng)中,通過(guò)專(zhuān)用集成芯片或中小規(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(專(zhuān)用集成電路)設(shè)計(jì)技術(shù)的日趨完善,數(shù)字化的EDA(電子設(shè)計(jì)自動(dòng)化)工具給電子設(shè)計(jì)帶來(lái)了巨大變革,在電機(jī)控制等許多應(yīng)用場(chǎng)合,需要產(chǎn)生多路頻率和脈沖寬度可調(diào)的PWM波形,這可通過(guò)FPGA豐富的硬件資源和可以配置I/O引腳來(lái)實(shí)現(xiàn)。嵌入式系統(tǒng)中FPGA的應(yīng)用設(shè)計(jì)關(guān)鍵是系統(tǒng)軟硬件功能的劃分。

        圖1是實(shí)現(xiàn)的3路PWM硬件結(jié)構(gòu)框圖。CPU通過(guò)數(shù)據(jù)線向FPGA寫(xiě)入定時(shí)常數(shù)控制PWM的頻率、初始相位和占空比,并通過(guò)外部啟動(dòng)信號(hào)控制PWM的啟動(dòng)。

        根據(jù)圖1,寫(xiě)出實(shí)現(xiàn)相應(yīng)功能的Verilog程序描述。部分源程序如下:

        圖2顯示了QuartusⅡ中新建一個(gè)項(xiàng)目/文件時(shí)可選的設(shè)計(jì)輸入(在Software Files和Other Files標(biāo)簽中還要其他設(shè)計(jì)輸入方法選擇),該窗口從菜單"File"→"New"打開(kāi),圖中顯示了"Device Design files"標(biāo)簽下的設(shè)計(jì)輸入方法有AHDL(Altera 公司開(kāi)發(fā)的HDL語(yǔ)言)、方塊圖/原理圖、EDIF、Verilog和VHDL輸入方法。另外在"Software Files''和"Other Files"標(biāo)簽下還有TCL語(yǔ)言、波形圖等其他輸入方法。

      3 邏輯仿真和器件驗(yàn)證

        行為級(jí)仿真是在HDL源代碼設(shè)計(jì)完成之后,通過(guò)設(shè)計(jì)測(cè)試平臺(tái)文件(激勵(lì)和測(cè)試矢量)來(lái)驗(yàn)證設(shè)計(jì)的正確性。邏輯仿真是在邏輯綜合之后,對(duì)生成的門(mén)級(jí)網(wǎng)表進(jìn)行驗(yàn)證。測(cè)試平臺(tái)文件與采用行為級(jí)仿真的測(cè)試平臺(tái)文件,這樣能夠保證設(shè)計(jì)驗(yàn)證的一致性。并且,邏輯驗(yàn)證是一種理想的門(mén)級(jí)網(wǎng)表,不存在延時(shí)信息。器件驗(yàn)證也稱(chēng)版圖后仿真,它是在FPGA實(shí)現(xiàn)之后,提取出門(mén)級(jí)網(wǎng)表和延時(shí)信息進(jìn)行驗(yàn)證,測(cè)試平臺(tái)文件與行為級(jí)一樣。器件驗(yàn)證結(jié)果是比較接近真實(shí)硬件的結(jié)果。完全通過(guò)這3層的驗(yàn)證,基本上可以保證設(shè)計(jì)的結(jié)果與測(cè)試平臺(tái)文件一致。

        行為仿真和器件仿真也可直接在QuartusⅡ中進(jìn)行,其中輸入激勵(lì)波形和輸出觀察節(jié)點(diǎn)在QuartusⅡ波形輸入窗口進(jìn)行設(shè)置,在設(shè)計(jì)通過(guò)功能仿真后,需要進(jìn)一步選擇器件仿真以驗(yàn)證設(shè)計(jì)的正確性。器件仿真時(shí)包含了所選擇的對(duì)應(yīng)FPGA估算延時(shí)或?qū)嶋H延時(shí)信息,故仿真速度較功能仿真慢很多。通過(guò)仿真可以及早發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤,并根據(jù)具體情況進(jìn)行修改,包括修改硬件實(shí)現(xiàn)架構(gòu)、設(shè)計(jì)代碼、約束條件等一個(gè)或多個(gè)方面。器件仿真通過(guò)后,則可以將設(shè)計(jì)下載到芯片,進(jìn)行硬件功能驗(yàn)證。

        圖3是對(duì)應(yīng)PWM的功能仿真結(jié)果波形。從圖3中可以看出,在564 ps時(shí)刻CPU向PWM寫(xiě)入新的控制常數(shù)后,下一個(gè)周期的PWM輸出占空比立刻發(fā)生了相應(yīng)改變。

        圖4是相應(yīng)設(shè)計(jì)在QuartusⅡ下編譯通過(guò)后進(jìn)行器件仿真的波形,由圖4可見(jiàn),其時(shí)序功能正確。通過(guò)器件下載編程方法下載到相應(yīng)的FPGA,就可以結(jié)合整個(gè)嵌入式系統(tǒng)進(jìn)行硬件調(diào)試。

      4 結(jié)束語(yǔ)

        在FPGA開(kāi)發(fā)軟件中完成設(shè)計(jì)以后,軟件會(huì)產(chǎn)生一個(gè)終的編程文件,QuartusⅡ中是.pof或.sof?,F(xiàn)在的FPGA基本都采用在系統(tǒng)編程方式,對(duì)于EEP-ROM/Flask/SRAM工藝的在系統(tǒng)可編程FPGA,廠家提供編程電纜,如Altera公司提供的下載電纜類(lèi)型有ByteBlasterⅡ并口下載電纜、USB BlasterTMUSB口下載電纜、MasterBlaster 通信纜線(USB或RS-232端口)等,其配置方式可以有主動(dòng)/被動(dòng)串行配置方式、JTAG方式等。電纜一端裝在計(jì)算機(jī)的相應(yīng)接口上,另一端接至PCB(印制電路板)上的編程插頭,它向系統(tǒng)板上的器件提供配置或編程數(shù)據(jù),這就是所謂的ISP(在線系統(tǒng)編程)。

        在電機(jī)控制等許多應(yīng)用場(chǎng)合,需要產(chǎn)生多路頻率和脈沖寬度可調(diào)的PWM波形,本文通過(guò)使用Altera公司FPGA產(chǎn)品開(kāi)發(fā)工具QuartusⅡ,設(shè)計(jì)了6路PWM輸出接口,并下載到FPGA,實(shí)現(xiàn)與CPU的協(xié)同工作。在嵌入式系統(tǒng)中通過(guò)FPGA擴(kuò)展系統(tǒng)功能的設(shè)計(jì)是一種有效的方法。




      免費(fèi)預(yù)約試聽(tīng)課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 香蕉伊蕉中文在线视频播放 | 亚洲丁香六月开心婷婷 | 香蕉久久99综合一区二区三区 | 中文字幕不卡二区 | 综合久久久久综合 | 又大又黄又爽视频一区二区 |