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