本文介紹了基于ZynqSoC的PMSM驅動控制系統,該控制系統使用ARM和FPGA相結合的形式實現了高性能、高集成度的控制算法。本系統中FPGA部分實現了計算并行度高、計算性能要求高的PMSM電流環矢量控制算法,ARM部分實現了可移植性強、算法種類多的速度控制算法、位置控制算法等。實驗結果表明,該系統具備高性能和可擴展性,能夠方便地應用到不同的實際項目中。
在機器人、機械臂和數控機床等工業控制系統中,永磁同步電機(PMSM)的驅動控制一直是此類控制系統的核心。而隨著工業技術的發展以及PMSM應用的越來越廣泛,PMSM的驅動控制系統對性能和精度的需求也越來越高。為了滿足高性能、高精度等需求,有學者采用高性能的DSP作為軟硬件解決方案,也有學者使用ARM微控制器作為系統解決方案,例如使用STM32實現的控制系統[3]。由于PMSM控制算法愈加復雜化、控制算法對控制器性能的要求不斷提高,國外學者提出了使用FPGA作為PMSM的驅動控制系統解決方案[4],且效果顯著。
本文使用的控制核心板即為搭載有Zynq7000系列芯片XC7Z020CLG484的ZedBoard開發板。使用這類產品可以在充分發揮FPGA并行計算優勢的前提下,利用ARM進行快捷的操作系統移植[7]以及人機交互等軟件開發。本文的開發方案是在ARM和FPGA上分別實現不同的控制算法模塊,該方案在結合ARM和FPGA各自優勢的同時,提高了系統的控制性能和可移植性。點擊查看更多精彩內容.
1 控制系統介紹
常見的PMSM驅動控制系統可以分為電流環、速度環、位置環3個層次的控制模塊,以及機電傳感器信號處理接口、數據監測、人機交互等。電流環控制方案較多采用的是矢量控制算法,該算法通過檢測PMSM的相電流值,以坐標變換的方式將定子電流分解成勵磁電流和轉矩電流,以實現各自的閉環控制[8]。而速度環、位置環控制器常用的是PID控制器。
控制系統結構如圖1所示。按照功能類型可以將系統組件劃分為機電接口組件、矢量控制算法組件和控制層組件下幾個部分。
圖1 控制系統結構圖
1.1 機電接口組件
機電接口組件主要是實現機械、電路等模塊的信號接收、發送和信號處理等功能。該組件的信號輸入捕捉模塊為隨后的算法層提供帶有指定格式的數據,信號輸出模塊為機電執行電路提供標準的可控信號波形。具體來說,該組件由以下幾個模塊構成:
?、?編碼器正交解碼模塊。該模塊實現對編碼器信號的處理,通過捕捉編碼器的輸出波形,計算出電動機轉速、轉子位置等數據。
?、?ADC接口模塊。該模塊實現的是A/D轉換器的傳輸協議,本系統是使用帶有SPI接口的A/D轉換器,故而該模塊實現SPI通信協議。
?、?PWM發生器。該模塊完成脈寬可調制波形(PWM)的生成,該模塊產生用于驅動本文所設計逆變器的6路PWM信號。
1.2 矢量控制算法組件
矢量控制算法組件完成PMSM的電流環相關算法。該組件包括以下幾個模塊:
① Sin&Cos模塊。該模塊完成轉子的電角度值到正弦、余弦值的計算。
② 空間坐標轉換模塊。該模塊把該系統的控制目標PMSM等效成一臺控制算法和更簡單的直流電動機,主要包含了三相兩相坐標變換和同步旋轉變換等模塊,實現了定子三相電流解耦成轉矩電流iq和勵磁電流id的計算過程。
?、?SVPWM模塊。該模塊實現空間矢量PWM信號的產生等功能。
1.3 控制層組件
控制層組件實現PMSM的三環控制,主要包括以下幾個模塊:
?、?電流環轉矩電流iq和勵磁電流id的控制器模塊;
?、?速度環、位置環控制器,以及轉子速度、位置計算等模塊;
③ 輔助控制以及測試相關的模塊,主要實現人機交互、調試數據獲取等功能。
2 系統硬件平臺設計
該嵌入式驅動控制系統的硬件平臺由四塊印制電路板(PCB)構成,其組成結構如圖2所示。PCB板由ZedBoard開發板、FMC接口板、信號處理板以及驅動板組成。
圖2 系統電路板組成
3 系統軟件設計
根據驅動控制系統原理框圖,可將系統的軟件算法模塊根據算法并行性、性能需求和可移植性需求劃分到ARM或者FPGA上實現??刂葡到y利用FPGA實現矢量控制電流環以提高算法并行性和計算頻率;使用ARM實現速度環、位置環和人機交互等算法,以保證軟件開發的便捷性和算法的可移植性。而系統中ARM和FPGA的通信使用Zynq片上高性能總線(AXI HP)以及中斷信號實現。系統軟件組成框圖略——編者注。
3.1 ARM與FPGA通信設計
ARM與FPGA的核間通信問題是Zynq應用開發的重中之重,其核間通信總線AXI HP可采用存儲器直接訪問(DMA)的形式進行數據傳輸,總線最高位寬為64位,理論通信帶寬最高可達1 200 MB/s。采用的通信方案為中斷信號和AXI HP總線協同工作的方式,中斷信號實現ARM和FPGA控制周期的協同,AXI HP總線為ARM和FPGA提供高帶寬的通信速率。系統采用AXI HP總線以DMA的形式直接讀寫ARM數據空間的方案,所以在控制算法周期內ARM無需管理通信時序。
該系統的核間通信時序圖如圖3所示。
圖中數據傳輸發生在FPGA和ARM的算法軟件把數據處理完成之后,此處的數據處理包括如下兩個方面:
圖3 ARM和FPGA通信時序圖
?、?FPGA端數據處理包括對編碼器、A/D轉換器等傳感器信號的獲取和處理,以及上一周期的電流環控制算法運算過程中的重要變量數據收集和處理等工作。
② ARM端數據處理包括速度環輸出的電流給定指令的保存、上一周期的電流環反饋數據處理,以及人機交互指令數據解析等操作。
圖3中描述的通信信號簇的數據傳輸主要是完成FPGA數據寫到ARM可訪問的內存空間、FPGA讀取ARM指定內存空間的數據兩個方面的操作。圖3中涉及的中斷信號是由FPGA上的算法模塊發起,主要功能是同步FPGA和ARM的運行時序。經過上述AXI HP總線的數據傳輸和中斷信號兩個操作,可實現ARM和FPGA的數據交互功能,其總線頻率為90 MHz,測試其數據傳輸帶寬為284 MB/s。
3.2 FPGA部分代碼設計
該系統使用控制器XC7Z020芯片上嵌入的FPGA(Xilinx公司的Artix7系列),其資源總量約為1.3 M邏輯門。在本系統中電流環控制頻率為16 kHz,其實現的算法框圖如圖4所示。
圖4 FPGA實現軟件系統框圖
在FPGA上實現的軟件包括算法和接口兩個部分,其中算法部分數據格式為16位的Q15定點數,該部分代碼通過Xilinx工具ISE14.7完成代碼的功能仿真和驗證,各個模塊占用FPGA總資源量如表1所列。該算法代碼運行時鐘頻率為90 MHz,算法計算耗時為5.7 μs,可見其運算耗時充分滿足本系統使用的16 kHz電流環控制頻率的要求。
表1 FPGA算法資源占用量
3.3 ARM部分代碼設計
運行于本系統雙核ARM CortexA9上的軟件程序主要包括控制組件和輔助組件兩大部分??刂平M件運行于中斷服務程序中,以滿足算法對控制周期的時序要求;輔助組件運行于背景循環程序中,實現人機交互接口管理、系統監測等功能。
系統軟件的中斷服務程序運算流程如圖5所示,該中斷服務程序的中斷信號由FPGA的矢量控制算法模塊發出。
圖5 運行于ARM的軟件流程
圖中的數據處理流程包括以下幾個部分:
① 人機交互數據處理。實現用戶命令解析,系統運行指令給定等功能。該系統的主要運行模式包括速度模式和位置模式兩種,運行指令包括給定電機轉動位置、轉動速度等。
② 電流環反饋數據解析和處理。該環節實現對運行于FPGA上的算法進行監控,并對電機運行數據進行封裝,以便人機交互組件進行數據發送等操作。
③ 電流環指令給定數據的保存。該環節主要是處理上一周期的速度控制器輸出數據,保證該數據能準確傳輸到FPGA。
完成數據處理之后,軟件運行到核心控制器環節。該環節采用的位置環控制器為比例控制器,速度環控制器為積分抗飽和的PI控制器。經過參數整定,該軟件算法能夠滿足系統控制精度等要求。
4 實驗分析
本系統使用Xilinx開發工具套件ISE14.7、Vivado 2014.2以及SDK實現代碼開發和工程管理工作。其中,ISE 14.7用來完成FPGA代碼開發、算法功能仿真驗證等工作,Vivado 2014.2用來進行工程管理和Zynq ARM端的啟動文件配置等工作,SDK用來進行ARM端應用程序開發工作。
本系統的實驗平臺包含了以下幾個部分:
?、?帶有2500線編碼器的PMSM電機,電機參數如表2所列。
?、?電機驅動板、信號處理板、FMC接口板,用于供給驅動板直流母線電壓的線性電源等。
?、?搭載有XC7Z020CLG484芯片的ZedBoard開發板。
給定PMSM驅動控制系統2 400 r/min的速度階躍值時電機的速度和電流響應情況圖略——編者注。該系統速度響應無超調、無靜差、電流響應迅速,可見該PMSM控制系統具有良好的控制性能和控制精度。
表2 實驗平臺PMSM參數
結語
介紹了一個基于Zynq的PMSM驅動控制系統,并介紹了異構多核控制系統的片上總線通信方案的設計。該系統充分結合了ARM和FPGA在嵌入式系統應用開發中的優勢,在ARM上實現人機交互以及可移植性強的算法,在FPGA上實現并行度高、性能要求高的算法。
通過實驗驗證了使用Zynq實現PMSM控制系統的可行性以及便捷性,說明該方案不僅可以提高系統控制性能、提高控制精度和帶寬,而且能夠在完成高性能控制器的基礎上實現復雜算法的驗證、人性化的人機交互等功能,系統的控制性能和可擴展性都得到了大幅增強。
編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。
參考文獻
?。?] 陳應豪。 基于DSP的PMSM矢量控制在電梯控制中的應用[J]。 微處理機,2010(3): 105107.
[2] 李長紅。 PMSM調速系統中最大轉矩電流比控制方法的研究[J]。 中國電機工程學報,2005,25(21): 169174.
[3] 張巍。 基于ARM的PMSM控制系統設計[J]。 微計算機信息: 嵌入式與SOC,2010,26(112): 7071.
[4] Mohamed Wissem Naouar. FPGABased Predictive Current Controller for Synchronous Machine Speed Drive [J]。 IEEE TRANSACTIONS ON POWER ELECTRONICS,2008,23 (4): 21152126.
?。?] 李虎修。 基于FPGA + ARM 的永磁同步電動機高精度轉速檢測[J]。 組合機床與自動化加工技術,2012(11): 5356.
[6] Xilinx. Zynq7000 All Programmable SoC Technical Reference Manual [EB/OL]。 [201411]。 http://www.xilinx.com/support/documentation/user_guides/ug585Zynq7000TRM.pdf.
?。?] 方華啟。 多核實時操作系統TOPPERS/FMP移植研究[J]。 單片機與嵌入式系統應用,2013(12): 47.
?。?] 陳伯時。 電力拖動自動控制系統—運動控制系統[M]。 3版。 北京: 機械工業出版社,2003: 190214.
評論
查看更多