基于FPGA的可編程PWM電路設(shè)計
4.1 PWM的仿真
ModeslSim仿真主要觀察PWM電路的雙向IO端口以及PWM的Regs讀寫控制時序。對于雙向端口的數(shù)據(jù)交換,可以采用讀寫控制結(jié)合三態(tài)門來完好地解決。而對于大量的Regs讀寫操作,則應(yīng)通過模擬單片機對外圍器件進行操作,并利用Task調(diào)用的方式來實現(xiàn)。本文的讀寫操作仿真結(jié)果如圖5所示。
從圖5可以看到,當(dāng)采用16 bits讀寫時,各寄存器通過內(nèi)部DataInternal數(shù)據(jù)總線的傳輸過程與電路設(shè)計要求完全一致。RWLogic與DataInterface模塊的功能完全符合設(shè)計預(yù)想。
從圖6所示的PWM波形仿真結(jié)果可見,PWM輸出信號在ClkGen的CycleScale信號控制下,其周期輸出編程設(shè)定的PWM波形與之完全一致,同時還能異步響應(yīng)ChannelHold_b信號的輸出控制。
4.2 PWM的驗證
PWM的FPGA驗證可采用8 bits數(shù)據(jù)接口,并用89C51做外圍控制器(12 MHz)來對PWM進行操作。為了方便與單片機的接口,可將74LS373鎖存器內(nèi)置到PWM中,其整個數(shù)字部分設(shè)計如圖7所示。
5 結(jié)束語
通過Synplify Pro編譯后,其最后的結(jié)果為:
該方案的整個電路設(shè)計占用FPGA資源的35%。對于51系列的單片機而言,該PWM電路可運行的頻率遠遠超過系統(tǒng)頻率。因此,在讀寫時序上完全可以保證整個設(shè)計的可靠性。
如果將編譯后的pof文件下載到APEX20KEEP20K100E TQ144-2X(Altera)fpga驗證板,并采用40 MHz的FPGA時鐘,那么,根據(jù)軟件仿真的步驟,再將讀寫操作轉(zhuǎn)換為單片機程序燒錄到單片機,就可通過示波器清楚的看到,其實際輸出與設(shè)計完全一致,非常好地實現(xiàn)了當(dāng)初的設(shè)計要求。
pwm相關(guān)文章:pwm原理
評論