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