一種基于FPGA的永磁同步電機控制器的設計
摘要:提出一種基于FPGA的永磁同步電機控制器的設計方案,該設計可應用于具有高動(dòng)態(tài)性能要求的永磁同步電機伺服控制系統。為提高伺服控制系統的實(shí)時(shí)性,簡(jiǎn)化電路及節省成本,該系統設計采用Ahera公司生產(chǎn)的CycloneIII EP3C25Q240C8型FPGA器件實(shí)現電機控制器。嵌入NiosⅡCPU軟核配合片內硬件乘法器及可編程邏輯門(mén)陣列,實(shí)現軟硬件協(xié)同工作。通過(guò)QuartusⅡ軟件自帶的SignalTaplI嵌入式邏輯分析儀進(jìn)行板上調試驗證,得到帶有死區輸出的PWM波形。該PWM波形可用于電機驅動(dòng)。
1 引言
國內普遍采用TM320系列的DSP器件作為永磁同步電機控制系統的主控制器,因CPU負載過(guò)重導致系統實(shí)時(shí)性降低的問(wèn)題日益顯著(zhù)。采用具有并行工作特性的FPGA器件作為主控制器能夠提高系統實(shí)時(shí)性。因此,這里給出一種基于FPGA的永磁同步電機控制器設計方案。
FPGA器件內嵌NiosⅡCPU軟核的SoPC是Altera公司首創(chuàng )的SoC解決方案。將SoPC應用到電機控制中,是當前的研究熱點(diǎn)。FPGA依靠硬件邏輯門(mén)工作,NiosⅡ處理器依靠執行軟件程序工作。而在電機控制中實(shí)現軟硬件協(xié)同工作則是設計的難點(diǎn)和創(chuàng )新之處。本設計需要特別注意軟硬件協(xié)同工作的時(shí)序控制。軟硬件之間信號的交換需按嚴格時(shí)序進(jìn)行控制。
2 片上系統規劃
片上系統功能總體規劃為電機硬件驅動(dòng)和NiosⅡ系統模塊兩部分,前者主要完成速度外環(huán),電流內環(huán)的雙閉環(huán)運算;而后者主要完成按鍵輸入、LED數碼管顯示、電機驅動(dòng)器參數設置和傳輸以及上位機通信。
3 系統硬件設計
3.1 NioslI系統模塊
3.1.1 Nios lI系統模塊的設計
在QuaauslI的SoPC builder中調出nioslI軟核。調用4個(gè)用于輸出的PIO核,掛接到Avalon總線(xiàn)上,作為信號輸出I/O端口,這4個(gè)PIO核分別是start(啟動(dòng)電機信號),Data(16位,電機參數值),ec(8位,參數寄存器使能信號),choice(3位,多路選擇信號)。調用6個(gè)作為輸入的PIO核用以按鍵輸入。設置中斷掩碼寄存器為中斷有效,邊沿捕獲寄存器為上升沿檢測。按鍵經(jīng)FPGA引腳,用戶(hù)設計硬件防抖動(dòng)后,產(chǎn)生一個(gè)上升沿信號,啟動(dòng)NioslI處理器中斷,執行相應中斷功能。調用異步串口UART內核,實(shí)現與上位機通信,設置其波特率同定,UART通過(guò)中斷請求實(shí)現數據通信功能。圖1和圖2分別給出Niosll系統結構框圖和其電路原理圖。
評論