CPLD在基于PCI總線功率模塊設(shè)計中的應(yīng)用
在機電一體化控制系統(tǒng)中,直流電機常用于控制系統(tǒng)的執(zhí)行器,是電機控制的重要部分,能按照處理器指令驅(qū)動電機運轉(zhuǎn)實現(xiàn)電機控制。目前直流電機PWM(pulse width modulation,脈寬調(diào)制)驅(qū)動控制方式應(yīng)用最為廣泛。
2 直流電動機的PWM控制原理
直流電動機具有良好的線性調(diào)速特性,控制功能簡單,效率高及動態(tài)特性優(yōu)異,因此是大多數(shù)調(diào)速控制電動機的最佳選擇。一般直流電機的控制信號包括脈寬調(diào)制(PWM)、方向(Dir)和剎車(Brake)信號。而PWM脈寬調(diào)制可視為速度信號,通過改變PWM信號的占空比來控制電動機電壓,方向信號控制電動機轉(zhuǎn)向,剎車信號控制電動機啟停。
由圖1看出,PWM調(diào)速時,改變占空比有三種方法。
(1)定寬調(diào)頻法:保持t1不變,只改變t2,這樣使周期T(或頻率)也隨之改變。
(2)調(diào)頻調(diào)寬法:保持t1不變,改變t2,這樣使周期T(或頻率)也隨之改變。
(3)定頻調(diào)寬法:周期T(或頻率)保持不變,同時改變t1和t2。
在CPLD設(shè)計中,輸入不同的周期和占空比可選擇相應(yīng)改變占空比方法,從而實現(xiàn)PWM調(diào)速。
3 系統(tǒng)設(shè)計
一些新型單片機具有PWM功能,能按要求自動輸出PWM信號,但筆者研制的基于PCI總線的機電一體化產(chǎn)品控制系統(tǒng),MCU與電機驅(qū)動器通過PCI總線實現(xiàn)通信,其系統(tǒng)結(jié)構(gòu)圖如圖2所示,圖3為MCU模塊與功率模塊連接圖。
MCU與其他模塊間的通信都是通過PCI總線實現(xiàn)的,而電機工作期間功率模塊上的電機驅(qū)動器需要連續(xù)不斷的PWM信號。如果使用MCU發(fā)送PWM信號則需長時間占用PCI總線,導(dǎo)致在驅(qū)動電機期間MCU無法與其他模塊通信。因此,采用CPLD實現(xiàn)數(shù)字控制PWM信號。
3.1 CPLD功能設(shè)計
系統(tǒng)設(shè)計時考慮到實用和成本等因素,選用Altera公司FLEX6000系列CPLD EPF6010ATC100-1。EPF6010ATC100-1是專為大容量設(shè)計的一種低成本可編程交錯式門陣列,共有16 000個可用門,1320個邏輯單元,117個I/O引腳,每個I/O引腳都有獨立的三態(tài)輸出使能控制。該器件采用OPEFLEX結(jié)構(gòu),采用最小的封裝尺寸并具有高性能和高布線率。器件的基本組成是邏輯單元(LE)。每個邏輯單元由一個4輸入查找表、一個寄存器以及作為進位鏈和級連鏈功能的專用通道。每10個邏輯單元組成一個邏輯陣列塊(LAB),并采用SRAM構(gòu)造,可通過外部EEPROM或控制器實現(xiàn)在線配置,便于設(shè)計者在設(shè)計初期以及設(shè)計測試過程中對設(shè)計靈活修改,同時也能夠通過在線重新配置改變其內(nèi)部功能。圖4為產(chǎn)生PWM信號的CPLD電路連接圖。
CPLD功能設(shè)計思路:對電機控制時,MCU將一個16位數(shù)據(jù)寫入CPLD器件的寄存器,CPLD則按照不同的數(shù)據(jù)產(chǎn)生相應(yīng)的PWM波形。16位數(shù)據(jù)的分配如圖5所示。
EPF6010ATC100-1的輸入信號共有16個數(shù)據(jù)信號(LD[15:0])和4個控制信號(CLK、BLAST、CS和RESET),16個數(shù)據(jù)信號用于接收:MCU模塊發(fā)送的16位數(shù)據(jù)字。4個控制信號中,CLK為CPLD工作的時鐘信號,頻率可高達40 MHz,用于計數(shù)并產(chǎn)生準確的PWM占空比:BLAST為狀態(tài)信號,低電平時表示處于數(shù)據(jù)期,此時將數(shù)據(jù)讀入寄存器,等待BLAST上升沿,即該次數(shù)據(jù)訪問結(jié)束后發(fā)出PWM信號:CS信號用于片選CPLD器件:RESET則用于對CPLD器件復(fù)位,復(fù)位后,6個輸出引腳均為高阻態(tài)。
本系統(tǒng)設(shè)計選用的電動機PWM控制系統(tǒng)是雙極性可逆系統(tǒng),雙極性驅(qū)動是指一個PWM周期中,作用于電樞兩端的脈沖電壓正負交替:可逆系統(tǒng)是指電動機可以正反兩個方向旋轉(zhuǎn),因此采用兩個引腳產(chǎn)生PWM信號來控制電機的正反轉(zhuǎn)。P1.0和P1.1、P2.0和P2.1、P3.0和P3.1設(shè)置為三組PWM信號通道,當(dāng)P1.0產(chǎn)生PWM波形時P1.1為低電平,此時電機正轉(zhuǎn),反之電機反轉(zhuǎn),并通過LD15控制電機運轉(zhuǎn)方向。為了簡化程序設(shè)計和以節(jié)省成本,根據(jù)實際需要,設(shè)計該三組通道不同時產(chǎn)生PWM信號,同一時刻只產(chǎn)生一組PWM信號,通過LD[14:13]選擇具體通道產(chǎn)生的PWM信號;LD[12:6]用于給定PWM信號的占空比;LD[5:0]用于給定PWM信號頻率,范圍為1 kHz~63 kHz,能滿足驅(qū)動電機需要。如果需要改變PWM信號的占空比、頻率、方向或更換PWM通道,只需再發(fā)送一個16位數(shù)據(jù)即可足要求。
3.2 CPLD開發(fā)工具
Altera公司開發(fā)的Quartus II軟件為可編程片上系統(tǒng)(SOPC)設(shè)計提供了一個工具齊全、功能強大的設(shè)計環(huán)境。Quartus II軟件可完成設(shè)計輸入、綜合、布局布線、時序分析、仿真和編程等功能。根據(jù)需要選用CPLD器件系列,采用Veilog HDL語言輸入方式編寫控制組合邏輯代碼和測試激勵代碼,利用Quartus II軟件自帶的工具分析綜合代碼,并進行布局布線、資源分配以及時序分析和波形仿真。Quartus II還為第三方EDA工具軟件提供了友好接口,可直接在Quartus II中調(diào)用Modelsim軟件進行前期的功能仿真和布局布線后的時序仿真。
4 結(jié)束語
利用CPLD技術(shù)實現(xiàn)了邏輯和時序的控制,簡化了硬件電路設(shè)計?;贑PLD的可編程特點,可以在不改變硬件電路整體結(jié)構(gòu)的情況下對設(shè)計電路進行改造、升級以及維護:并且減少了軟件程序的操作指令,簡化了系統(tǒng)結(jié)構(gòu),提高了數(shù)據(jù)處理和讀取速度。
基于CPLD的PWM控制器電路結(jié)構(gòu)簡單,設(shè)計方便,簡化了外部線路設(shè)計,節(jié)省了PCB板空間:解決了機電一體化開發(fā)平臺中MCU模塊與功率模塊基于PCI總線的通信,并且設(shè)計產(chǎn)生占空比和頻率范圍可調(diào)的PWM信號能滿足直流電機的要求,適用于自動控制和電力電子領(lǐng)域。
評論