基于FPGA的可編程PWM電路設計
3 PWM編程
PWM的工作模式由外部引腳與內部控制字寄存器決定。
3.1PWM芯片的工作模式
PWM芯片的工作模式可由PWMh_b來(lái)設定:
當其為1時(shí),為全局使能輸出,此時(shí)為正常工作模式,但各Channel工作模式可取決于其PWMEN位的值;而當PWMh_b為0時(shí),全局禁止輸出,此時(shí)整個(gè)芯片不工作,芯片進(jìn)入低功耗模式,同時(shí)時(shí)鐘被禁止輸入到內部通道模塊。
3.2 PWM芯片的控制字寄存器
對于控制字寄存器ControlReg[7:0]:在其地址[A1,A0]=00的情況時(shí),其操作格式如表1所列。
由于控制字寄存器僅有一個(gè),但實(shí)際各通道都有一個(gè)備份的控制字寄存器來(lái)控制對應的通道。因此并不會(huì )由于對某通道控制字的操作而影響其它無(wú)關(guān)的通道。本格式中的各位定義如下:
PWMEN:當芯片全局使能輸出時(shí),此位可決定各通道PWM的輸出使能,當PWMh_b為1時(shí),各通道的輸出正常,為0時(shí),則通道禁止輸出;
Channel2Cs:選通Channel2。使能對Channel2模塊的操作,并將控制字信息存儲到通道2的備份控制字;
ChannellCs:選通Channell。使能對Channell模塊的操作,并將控制字信息存儲到通道1的備份控制字;
Channel0Cs:選通Channel0。使能對Channel0模塊的操作,并將控制字信息存儲到通道0的備份控制字;
[B2,B1,B0]:內部寄存器片選譯碼。每個(gè)通道的PWM內部都有8個(gè)寄存器地址。通過(guò)ChannelX的選通結合[B2,B1,B0]的譯碼,可產(chǎn)生內部通道Regs的片選信號。
3.3 PWM編程
PWM芯片的引腳排列如圖4所示,當其在上電加載時(shí)鐘后,所有通道都禁止輸出。系統通過(guò)采樣DataWidth來(lái)確定外圍數據接口的寬度,如果采用16bits傳輸(DataWidth=1),則Data[15:0]都使用;如果采用8bits傳輸(DataWidth=0),則僅使用Data[7:0],而將高8bits接地。
復位(Reset_b)結束后,在片選(Cs_b)有效的情況下,可以對芯片進(jìn)行讀寫(xiě)操作。對通道的一次完整的讀寫(xiě)包括寫(xiě)控制字與讀寫(xiě)通道寄存器兩個(gè)過(guò)程,寫(xiě)控制字選中通道內寄存器,讀寫(xiě)通道寄存器則可獲取通道寄存器信息,只有當合理的數據寫(xiě)入后,且在PWMH-_b有效(PWMH_b=1)時(shí),PWM內部通道才使能輸出信號。一般情況下,各通道的輸出使能由各通道的控制字寄存器的PWM_EN位決定。
采用控制字自動(dòng)備份的方式可使控制字的編程更加靈活。它既可以使同一個(gè)類(lèi)型的寄存器(不同通道)一起寫(xiě)控制字,亦可對同一個(gè)通道一塊操作。但是所有控制字命令都可以在PWM的控制字命令列表中查詢(xún)。
4 PWM的仿真及驗證
PWM的仿真是PWM功能驗證的必要環(huán)節??梢訫odelsim結合腳本文件進(jìn)行仿真,并采用89C51結合FPGA驗證板對整個(gè)設計進(jìn)行驗證。
pwm相關(guān)文章:pwm原理
評論