基于FPGA的可編程PWM電路設(shè)計
0 引言
本文引用地址:http://m.butianyuan.cn/article/180833.htm某系統(tǒng)中的H橋驅(qū)動電路需要采用2路脈沖寬度調(diào)制器(Pulse Width Modulation,PWM)信號來驅(qū)動一個電機,以控制其正、反兩個方向的運轉(zhuǎn),且兩路信號必須有一定的時間間隔來避免驅(qū)動電流過大而損害驅(qū)動元件。為使其能靈活應(yīng)用,針對系統(tǒng)要求,本設(shè)計的PWM控制器應(yīng)具備以下功能:
(1)有3路獨立PWM輸出,每路輸出2個驅(qū)動信號,而且其周期、占空比、死區(qū)時間應(yīng)可編程;
(2)對應(yīng)10 MHz系統(tǒng)時鐘,周期為1μs~6.5536 ms;
(3)應(yīng)用精簡地址線,以節(jié)省外圍引腳及地址資源的占用;
(4)能提供與8/16 bits單片機的雙向數(shù)據(jù)接口,并具有內(nèi)置的地址/數(shù)據(jù)鎖存器(74lS373)。
1 PWM電路的結(jié)構(gòu)規(guī)劃
在采用自頂向下(Top_Down)正向設(shè)計PWM器件的過程中,芯片的結(jié)構(gòu)劃分和規(guī)格定制是整個設(shè)計的重要環(huán)節(jié),因此合理的結(jié)構(gòu)設(shè)計將決定整個設(shè)計的成敗。
PWM輸出信號的周期、脈寬、死區(qū)時間等參數(shù)可以通過加載內(nèi)部的寄存器來實現(xiàn),寫人PWM芯片的數(shù)據(jù)分為數(shù)據(jù)字與控制字兩部分。由內(nèi)部控制邏輯(ControlLogie)模塊來處理控制字信息,并譯碼產(chǎn)生各內(nèi)部通道的內(nèi)部信息寄存器片選信號。數(shù)據(jù)字則通過內(nèi)部數(shù)據(jù)總線在各通道模塊來傳遞PWM的特征信息數(shù)據(jù)。
PWM芯片內(nèi)部各模塊可通過內(nèi)部片選結(jié)合讀寫使能來完成數(shù)據(jù)交換。芯片與外圍控制器進(jìn)行數(shù)據(jù)交換時,可采用雙模式接口(8/16 bits),并可通過外置選擇引腳DataWidth來選配。
本芯片的核心是由3個完全獨立且相同的通道模塊(Channel)構(gòu)成。通道內(nèi)部的數(shù)據(jù)接口用于完成外部讀寫邏輯(RWLogic)傳輸?shù)絻?nèi)部數(shù)據(jù)總線的數(shù)據(jù)收發(fā)工作。PWM周期生成模塊(ClkGen)則可依據(jù)寫入的周期信息,輸出PWM的周期控制信號。
PWM輸出由通道狀態(tài)機完成,當(dāng)通道接收到PWM信息數(shù)據(jù)后,先進(jìn)行數(shù)據(jù)校驗,合格的數(shù)據(jù)將在合適的條件下啟動狀態(tài)機,并在不同的狀態(tài)下完成PWM輸出。而不合格的數(shù)據(jù)則被忽略。
地址/數(shù)據(jù)鎖存依據(jù)通用74LS373的邏輯功能,可以通過編寫一個完全可替代的L74LS373來實現(xiàn)。
根據(jù)上述總體的構(gòu)建思路,最終給出的芯片總體結(jié)構(gòu)如圖l所示。
2 PWM電路的結(jié)構(gòu)設(shè)計
從圖1所示的PWM電路總體結(jié)構(gòu)可以看出,該PWM電路主要由模塊片選譯碼、控制邏輯、讀寫邏輯、通道等四個模塊組成。
pwm相關(guān)文章:pwm原理
評論