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