<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 用FPGA實(shí)現多路PWM輸出的接口設計與仿真

用FPGA實(shí)現多路PWM輸出的接口設計與仿真

作者:徐軍 王華東 江蘇財經(jīng)職業(yè)技術(shù)學(xué)院 時(shí)間:2008-05-29 來(lái)源:電子工程師 收藏

0 引言

本文引用地址:http://dyxdggzs.com/article/83299.htm

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

  在電機控制等許多應用場(chǎng)合,需要產(chǎn)生多路頻率和脈沖寬度可調的波形。本文用Altera公司FPGA產(chǎn)品開(kāi)發(fā)工具QuartusⅡ,設計了6路輸出接口,并下載到FPGA,實(shí)現與CPU的協(xié)同工作。

1 FPGA概述

  PLD(可編程邏輯器件)可分為SPLD(簡(jiǎn)單可編程邏輯器件),CPLD(復雜可編程邏輯器件)和FPGA,其實(shí)它們只是在起初有一些差別,現在的區別已經(jīng)比較模糊了,PLD可統稱(chēng)為FPGA。目前世界上有十幾家生產(chǎn)CPLD/FPGA的公司,知名度較大的有Altera,Xil-inx,Lattice,Actel等,其中Altera和Xilinx占有了60%以上的市場(chǎng)份額。

  Altera公司是最大PLD供應商之一,20世紀90年代以后發(fā)展很快。主要產(chǎn)品有:MAX3000/7000、FLEX10K、APEX20K、ACEX1K、StratiX、Cyclone等。開(kāi)發(fā)軟件為MaxplusⅡ和QuartusⅡ。普遍認為其開(kāi)發(fā)工具M(jìn)axplusⅡ和QuartusⅡ是最成功的FPGA開(kāi)發(fā)平臺之一,配合使用Altera公司提供的免費OEM HDL綜合工具可以達到較高的效率。

  對于系統設計人員來(lái)說(shuō),FPGA是一種可以自己編程的芯片。它從芯片制造廠(chǎng)商那里出來(lái)時(shí)是內部沒(méi)有連線(xiàn)的。用戶(hù)可以進(jìn)行設計輸人(電路圖輸入、狀態(tài)機輸入或者HDL輸入);然后進(jìn)行仿真和驗證;接著(zhù)用一些專(zhuān)用軟件(如Synopsys FPGA-Compiler、Synplici-ty Synplify、Examplar Leonardo等)進(jìn)行邏輯綜合;最后使用各個(gè)FPGA廠(chǎng)商自身的后端實(shí)現的軟件(如Al-tera Quartus、Xilinx ISE等)進(jìn)行布局布線(xiàn),生成一個(gè)配置所需設計的電路連線(xiàn)關(guān)系的二進(jìn)制流文件,通過(guò)一根連接PC機和FPGA芯片的下載線(xiàn),將配置文件下載到芯片中。

  本文以使用QuartusⅡ軟件設計PWM為例,介紹FPGA設計的流程,它包括設計輸入、約束輸入、邏輯綜合、邏輯驗證(綜合后仿真)、布局布線(xiàn)(器件實(shí)現)和器件驗證(版圖后仿真)等幾部分。

2 多路PWM的設計實(shí)現

  PWM技術(shù)最初是在無(wú)線(xiàn)電技術(shù)中用于信號的調制,后來(lái)在電機調速中得到了很好的應用。在直流伺服控制系統中,通過(guò)專(zhuān)用集成芯片或中小規模數字集成電路構成的傳統PWM控制電路往往存在電路設計復雜、體積大、抗干擾能力差以及設計困難、設計周期長(cháng)等缺點(diǎn),因此PWM控制電路的模塊化、集成化已成為發(fā)展趨勢。它不僅可以使系統體積減小、重量減輕且功耗降低,同時(shí)可使系統的可靠性大大提高。隨著(zhù)電子技術(shù)的發(fā)展,特別是ASIC(專(zhuān)用集成電路)設計技術(shù)的日趨完善,數字化的EDA(電子設計自動(dòng)化)工具給電子設計帶來(lái)了巨大變革,在電機控制等許多應用場(chǎng)合,需要產(chǎn)生多路頻率和脈沖寬度可調的PWM波形,這可通過(guò)FPGA豐富的硬件資源和可以配置I/O引腳來(lái)實(shí)現。嵌入式系統中FPGA的應用設計關(guān)鍵是系統軟硬件功能的劃分。

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

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


  

pwm相關(guān)文章:pwm原理



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA 邏輯仿真 PWM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>