基於FPGA的係統提高電機控製性能
發布時間:2020-05-20 來源:Andrei Cozma 和 Eric Cigan 責任編輯:wenwei
【導讀】電機在各種工業、汽車和商業領域應用廣泛。電機由驅動器控製,驅動器通過改變輸入功率來控製其轉矩、速度和位置。高性能電機驅動器可以提高效率,實現更快速、更精確的控製。高級電機控製係統集控製算法、工業網絡和用戶接口於一體,因此需要更多處理能力來實時執行所有任務。現代電機控製係統通常利用多芯片架構來實現:數字信號處理器(DSP)執行電機控製算法,FPGA 實現高速 I/O 和網絡協議,微處理器處理執行控製1。
隨著片上係統(SoC)的出現,例如集 CPU 的靈活性與 FPGA 的處 理能力於一體的 Xilinx® Zynq All Programmable SoC,設計人員終於能夠將電機控製功能和其他處理任務納入單個器件中。控製算法、網絡和其他處理密集型任務被分流到可編程邏輯,而管理控製、係統監控與診斷、yonghujiekouyijitiaoshizeyouchulidanyuanchuli。kebianchengluojikeyibaohanduogebingxinggongzuodekongzhineihe,yishixianduozhoujiqihuoduozhongkongzhixitong。youyuzaidanxinpianshangshixianlewanzhengdekongzhiqi,yinciyingjianshejikeyigengjiandan、更可靠、更便宜。
近年來,在 MathWorks®Simulink®等軟件建模與仿真工具的推動下,基於模型的設計已發展成為完整的設計流程——從模型創建到實現2 。基於模型的設計 改gai變bian了le工gong程cheng師shi和he科ke學xue家jia的de工gong作zuo方fang式shi,把ba設she計ji任ren務wu從cong實shi驗yan室shi和he現xian場chang轉zhuan移yi到dao桌zhuo麵mian。現xian在zai,包bao括kuo工gong廠chang和he控kong製zhi器qi在zai內nei的de整zheng個ge係xi統tong都dou可ke以yi建jian模mo,工gong程cheng師shi可ke以yi先xian調tiao整zheng好hao控kong製zhi器qi的de行xing為wei,再zai將jiang其qi部bu署shu到dao現xian場chang。這zhe樣yang就jiu能neng降jiang低di受shou損sun風feng險xian,加jia速su係xi統tong集ji成cheng,減jian少shao對dui設she備bei供gong貨huo的de依yi賴lai。一yi旦dan完wan成cheng控kong製zhi模mo型xing,Simulink 環境便可將其自動轉換為由控製係統運行的 C 和 HDL daima,jieshengshijianbingbimianrengongbianchengcuowu。jiangxitongmoxinglianjiedaokuaisuyuanxingkaifahuanjingkejinyibujiangdifengxian,yinweihouzheyunxuguanchakongzhiqizaishijitiaojianxiahuiruheyunzuo。
一個可實現更高電機控製性能的完整開發環境利用 Xilinx Zynq SoC 實現控製器,MathWorks Simulink 用於進行基於模型的設計 和自動生成代碼,ADI 公司的 智能驅動器套件用於快速開發驅動係統原型。
Xilinx FPGA 與 SoC 電機控製解決方案
高級電機控製係統必須全麵執行控製、通信和用戶接口任務,每 種任務都有不同的處理帶寬要求和實時約束。為了實現這樣的控 製係統,所選的硬件平台必須魯棒且可擴展,以便為將來的係統 改進和擴張創造條件。Zynq All Programmable SoC 集高性能處理 係統與可編程邏輯於一體,滿足上述要求(如圖 1 所示)。這種 組合可提供出色的並行處理能力、實時性能、快速計算和靈活的 連接。該 SoC 集成了兩個 Xilinx 模數轉換器(XADC),用於監控 係統或外部模擬傳感器。

圖 1. Xilinx Zynq SoC 功能框圖
Zynq 包括一個雙核 ARM Cortex-A9 處理器、一個 NEON 協處理 器和多個用於加速軟件執行的浮點擴展單元。處理係統處理管理 控製、運動控製、係統管理、用戶接口和遠程維護等任務,這些 功能非常適合通過軟件實現。為了發揮係統的能力,可以采用嵌 入式 Linux 或實時操作係統。可以使用自給自足的處理器,而無 需配置可編程邏輯。這樣,軟件開發人員編寫代碼與硬件工程師 設計 FPGA 結構可以同時進行。
在可編程邏輯方麵,該器件擁有多達 444,000 個邏輯單元和 2200 個 DSP Slice,可提供巨大的處理帶寬。FPGA 結構可擴展,因而 用戶的選擇範圍很廣——從包含 28,000 個邏輯單元的小型器件到 支持最具挑戰性的信號處理應用的高端器件。5 個 AMBA-4 AXI 高速互連將可編程邏輯緊密地耦合到處理係統,提供相當於 3000 以上引腳的有效帶寬。可編程邏輯適合執行時間關鍵的處理密集 型任務,如實時工業以太網協議等,而且它支持多個控製內核並 行工作,以實現多軸機器或多重控製係統。
基於 Xilinx All Programmable SoC 的解決方案和平台滿足當今複 雜控製算法(如磁場定向控製 FOC)和複雜調製方案(如 Xilinx 和 Qdesys 設計的再生脈衝頻率調製器3 )所提出的關鍵時序和性 能要求。
利用 MathWorks Simulink 實現基於模型的設計
Simulink 是一種支持多域仿真和基於模型設計的框圖環境,非常 適合對包括控製算法和工廠模型的係統進行仿真。為了實現精確 定位等目的,電機控製算法會調節速度、轉矩和其他參數。利用 仿真評估控製算法可以有效地確定電機控製設計是否合適,判斷 其合適後再進行昂貴的硬件測試,從而減少算法開發的時間和成 本。圖 2 給出了設計電機控製算法的有效工作流程:
● 構建精確的控製器和工廠模型,常常是根據電機、驅動電子、傳感器和負載的資源庫
● 對係統行為進行仿真以驗證控製器的表現是否符合預期
● 產生 C 代碼和 HDL 進行實時測試和實施
● 利用原型硬件測試控製算法
● 在原型硬件上進行仿真和測試後,如果控製係統證明令人滿意,則將控製器部署到最終生產係統上

圖 2. 電機控製算法設計的工作流程
MathWorks產品包括Control System Toolbox,™ SimPowerSystems,™ 和 Simscape™ 提供工業標準算法和應用程序以對線性控製係統 進行係統化分析、設計和調諧,此外還有元件庫和分析工具,用 於對機械、電氣、液壓和其他物理領域的各種係統進行建模和仿 真。利用這些工具可以創建高保真的工廠和控製器模型,進而驗 證控製係統的行為和性能,成功之後方移交實際實施。該仿真環 境是驗證極端功能情形和工作狀況的理想場所,確保控製器已為 這些狀況做好準備,並且其實際操作對設備和工作人員都將是安 全的。
一旦控製係統在仿真環境中完成了全麵驗證,就可以利用嵌入式 轉碼器和 HDL 轉碼工具將其轉換為 C 代碼和 HDL,並部署到原 型硬件上進行測試,然後部署到最終生產係統上。此時要指定定 點和時序行為等軟硬件實施要求。自動生成代碼有助於縮短從概 念到實際係統實現所需的時間,消除編程錯誤,確保實際結果與 模型相符。圖 3 給出了在 Simulink 中進行電機控製器建模並將其 轉移到最終生產係統所需的實際步驟。

圖 3. 從仿真到生產的過程
第一步是在 Simulink 中對控製器和工廠進行建模和仿真。在這一 階段,控製器算法被劃分為在軟件中實現的模塊和在可編程邏輯 中實現的模塊。劃分和仿真完成後,利用嵌入式轉碼器和 HDL 轉碼器將控製器模型轉換為 C 代碼和 HDL。基於 Zynq 的原型係 統驗證控製算法的性能,並且幫助進一步調諧控製器模型,然後 轉移到生產階段。在生產階段,將自動生成的 C 代碼和 HDL 集 成到複雜的生產係統框架中。此工作流程確保控製算法在達到 生產階段之前經過全麵驗證和測試,使得係統魯棒性具有高可 信度。
利用 ADI 公司智能驅動器套件快速完成原型開發
選擇合適的原型開發硬件是設計過程的一個主要步驟。ADI 公司 的智能驅動器套件支持快速、高效的原型開發。AvnetZynq-7000 All Programmable SoC/Analog Devices智能驅動器套件將 Zynq- 7000 All Programmable SoC ARM 雙核 Cortex-A9 + 28 nm 可編程 邏輯與 ADI 公司最新一代高精度數據轉換器和數字隔離相 結合,可實現高性能電機控製和雙通道千兆以太網工業網絡連 接。該套件帶有 Avnet ZedBoard 7020 基板和 ADI 公司的 AD-FMCMOTCON1-EBZ 模塊,構成一個完整的驅動係統,能夠 高效控製多種類型的電機。另外,該套件可以利用 ADI 公司的 AD-DYNO1-EBZ 測功器驅動係統,進行擴展,後者是一個動態可調 的負載,可用來測試實時電機控製性能。AD-FMCMOTCON1-EBZ 模塊由控製器和驅動板組成,如圖 4 所示。

圖 4. AD-FMCMOTCON1-EBZ 功能框圖
控製板是一個混合信號 FPGA 夾層卡 (FMC),可利用低引腳數 (LPC) 或高引腳數 (HPC) FMC 連接器連接到任何 Xilinx FPGA 或 SoC 平台。它具有以下特性:
● 利用隔離式 ADC 測量電流和電壓
● 隔離式 Xilinx XADC 接口
● 完全隔離的數字控製和反饋信號
● 霍爾、差分霍爾、編碼器和旋變器接口
● 2 個千兆以太網物理層,支持 EtherCAT、ProfiNET、Ethernet/IP或 Powerlink 等高速工業通信協議
● FMC 信號電壓自適應接口,支持在所有 FMC 電壓電平上無縫工作
隔離是任何電機控製係統的一個關鍵方麵,其目的是保護控製器 和用戶。控製板上模擬和數字信號的完全隔離,確保 FPGA 平台 永遠不受電機驅動側可能產生的危險電壓影響。
驅動板包含驅動電機以及電流電壓檢測與保護電路所需的全部電源電子。該板具有以下特性:
● 以最大 18 A 電流驅動 12 V 至 48 V 範圍的 BLDC(無刷直流)/PMSM(永磁同步電機)/有刷直流/步進電機
● 動態製動功能和集成式過流與反向電壓保護
● 利用隔離式 ADC 測量相電流;可編程增益放大器使電流測量輸入範圍達到最大
● 向控製板提供直流總線電壓、相電流和總電流反饋信號
● 集成 BEMF 過零檢測,用於實現 PMSM 或 BLDC 電機的無傳感器控製
測功器是一個動態可調的負載,可用於測試實時電機控製性 能,由兩台 BLDC 電機通過剛性連接直接耦合而成。其中一台 BLDC 電機用作負載,由測功器的嵌入式控製係統控製,而另 一台由 ADI 公司的智能驅動器套件驅動,如圖 5 所示。該係統 配有一個用戶界麵,用於顯示有關負載電流和速度的信息,並 支持設置不同的負載曲線。要實現外部控製,可利用 Analog Discovery USB 示波器捕捉負載信號;要從 MATLAB®直接控 製,可使用 MathWorks Instrument Control Toolbox™。

圖 5. 測功器驅動係統
電機電流和電壓測量的質量對電機控製係統的性能有很大影響。 通過利用高性能模擬信號調理器件和 ADC,ADI 公司智能驅動 器套件提供精密電流和電壓測量。測量路徑分為控製器和驅動板 兩部分,如圖 6 所示。

圖 6. 相電流信號鏈
相電流通過測量分流電阻上的電壓來檢測。取決於 ADC 是否靠 近分流電阻,有兩條可能的測量路徑可以獲得最高測量精度。如 果 ADC 靠近分流電阻,則信號路徑非常短,不易受到噪聲耦合 影響。分流電阻上的小差分電壓由隔離式Σ-Δ調製器AD7401直 接測量,而無需其他接口和信號調理電路。如果 ADC 遠離分流 電阻,則信號路徑很長,容易受到噪聲耦合影響,尤其是電源開 關噪聲和電機的噪聲耦合。必須采取特別措施確保 ADC 與分流 電阻之間的 PCB 走線和信號調理電路受到適當的屏蔽。分流電 阻上的小差分電壓被驅動板上的差動放大器AD8207 放大,後者 置於分流電阻附近以避免噪聲耦合。信號從±125 mV 滿量程輸 入範圍放大至±2.5 V 範圍,以最大程度地降低耦合噪聲的影 響。放大後的信號又經過一個采用可編程增益儀表放大器(PGIA)AD8251的放大級,以確保 ADC 始終接收到經過適當縮放以適應 輸入範圍的輸入信號。放大後的模擬信號經過連接器進入控製 板。連接器會屏蔽每個模擬信號,以降低噪聲耦合影響。來自驅 動板的模擬信號利用運算放大器ADA4084-2重新轉換到AD7401輸入範圍。
電流和電壓反饋信號鏈中的最重要器件是二階隔離式Σ-Δ調製 器 AD7401A。這款高性能 ADC 具有 16 位分辨率(無失碼)、 13.3有效位數(ENOB)和 83 dB SNR。2線數字接口包括一個 20 MHz 時鍾輸入和一個 1 位數字位流輸出。ADC 輸出利用 sinc3 數字濾 波器重構。數據手冊中提供了一個針對 16 位輸出和 78 kHz 采樣 速率的濾波器模型和 HDL 實現方案。輸出分辨率和采樣速率可 通過改變濾波器模型和抽取來控製。78 kHz 采樣速率對許多應用 可能是足夠的,但某些情況需要更高的速率。這些情況下,可利 用圖 7 所示的濾波器庫來將係統采樣速率提至最高 10 MSPS (真 16 位數據)。濾波器庫包含 n 個 sinc3濾波器,其采樣時鍾 延遲 T(即 sinc3濾波器傳播時間除以 n)的倍數。數據選擇器以 周期T輸出 ADC 碼。

圖 7. 濾波器庫
相電流測量也可以由 Zynq XADC 執行。XADC 信號測量鏈使用 常規測量鏈的完整路徑,並在 AD7401 Σ-Δ調製器之後增加一 個 Sallen-Key 模擬重構濾波器。該濾波器是在控製板上利用運算 放大器AD8646實現,如圖 8 所示。隔離式Σ-Δ調製器和模擬重構濾波器的組合為實現 XADC 輸入信號的模擬隔離提供了一種便利、低成本的方法,同時不影響測量質量。

圖8. XADC 信號測量鏈
ADI 公司智能驅動器套件帶有一套 Simulink 控製器模型、完整的Xilinx Vivado 框架和 ADI Linux 基礎設施,便於用戶完成電機控製係統設計所需的全部步驟——從仿真開始,經過原型開發,最終在生產係統上實現。
可以利用兩個控製器模型(一個六步控製器和一個 PMSM 磁場定向控製器)來啟動設計過程。圖 9 顯示了這兩個控製器的高級視圖。六步控製器實現一個用於 BLDC 電機的梯形控製器;FOC控製器提供一個 FOC 內核以便集成到控製係統中。

圖 9. Simulink 控製器模型
工廠和控製器模型在仿真階段創建,通過完整係統的行為仿真來驗證控製器符合預期。控製器模型劃分為由 C 代碼和 HDL 實現的多個部分,並指定時序、定點實現、采樣速率和環路時間等約束條件以確保控製器模型的行為與在硬件實現中一樣。圖 10 顯示了六步控製器的軟件和 HDL 劃分。

圖 10. 控製器的 C 代碼和 HDL 劃分
一旦控製器在仿真中經過全麵驗證,下一步便是在硬件平台上製作原型。針對 ARM 內核和可編程邏輯,Zynq SoC 引導工作流程從劃分為多個子係統的 Simulink 模型產生 C 代碼和 HDL。利用此工作流程,HDL 轉碼器生成針對可編程邏輯的 HDL,嵌入式轉碼器則生成針對 ARM 的 C 代碼。MathWorks Zynq 支持包支持從模型生成由算法 C 代碼組成的 ARM 可執行文件(與 AXI 總線接口),並支持從模型生成由 HDL 代碼組成的位流(與可編程邏輯引腳和 AXI 總線接口)。圖 11 顯示了控製器實現及其與ADI 智能驅動器硬件的關係。

圖 11. 原型係統上的控製器實現
一旦將位流和可執行文件加載到硬件中,就可以開始控製器的運行測試。利用 Simulink 與運行開源 Linux OS 的嵌入式係統之間的以太網鏈路執行硬件在環(HIL)測試。軸轉速等電機參數可以在 Simulink 中捕捉,並與仿真結果相比較,確保實際係統實現與模型相符。一旦控製算法測試完畢,便可將控製器轉移到生產係統上。
除了智能驅動器套件以外,ADI 公司還提供完整的 Vivado 框架和 Linux 基礎設施以用於原型開發和最終生產。圖 12 顯示了支持智能驅動器套件的 Zynq 基礎設施。該高級框圖說明了 ADI 參考設計在 Xilinx Zynq SoC 上是如何劃分的。可編程邏輯實現 IP內核,用於與 ADC、位置傳感器和電機驅動級接口。由 HDL 轉碼器生成的 HDL 代表電機控製算法,集成到 ADI 公司 IP 中。所有 IP 都有低速 AXI-Lite 接口用於配置和控製,並有高速 AXIStreaming接口用於通過 DMA 通道向軟件傳輸實時數據。高速以太網接口可以利用 ARM 處理係統的硬 MAC 外設或可編程邏輯中的 Xilinx 以太網 IP 實現。
ARM Cortex A9 處理係統運行 ADI 公司提供的 Ubuntu Linux,其中包括:與 ADI 公司智能驅動器硬件接口所需的 Linux IIO 驅動,用於監測和控製的IIO Oscilloscope(示波器)用戶空間應用程序,支持實時數據采集和通過 TCP 控製係統的libiio服務器,在遠程計算機上運行的客戶端,以及整合嵌入式轉碼器所生成 C代碼的可選用戶應用程序。

圖 12. ADI Linux 基礎設施
所有 ADI Linux 驅動均基於 Linux 工業 I/O(IIO)子係統,其現已包括在所有主流 Linux 內核中。IIO Scope 是 ADI 公司開發的一款開源 Linux 應用程序,運行在 Xilinx Zynq 中的雙核 ARMCortex A9 上,能夠顯示連接到 Xilinx Zynq 平台的 ADI FMC 卡所獲取的實時數據。這些數據可以在時域中、頻域中或以星座圖的形式顯示。支持以不同的常用文件格式(如逗號分隔值或.matMatlab 文件等)保存所捕獲的數據以供進一步分析。IIO Scope提供一個圖形用戶界麵,用於更改或讀取 ADI FMC 卡的配置。
libiio 服務器支持實時數據采集、通過 TCP 控製係統以及運行於遠程計算機上的客戶端。服務器運行於 Linux 下的嵌入式目標上,通過 TCP 管理目標與遠程客戶端之間的實時數據交換。IIO客戶端可以作為係統對象集成到 MATLAB 和 Simulink 原生應用程序中。一路 HDMI 輸出用於在監視器上顯示 Linux 界麵,鼠標和鍵盤可通過 USB 2.0 端口連接到係統。
ADI 公司為智能驅動器套件提供的 Linux 軟件和 HDL 基礎設施,連同 MathWorks 和 Xilinx 提ti供gong的de工gong具ju,非fei常chang適shi合he開kai發fa電dian機ji控kong製zhi應ying用yong原yuan型xing。它ta們men還hai包bao含han適shi用yong於yu生sheng產chan的de組zu件jian,可ke將jiang其qi集ji成cheng到dao最zui終zhong控kong製zhi係xi統tong中zhong,從cong而er減jian少shao從cong概gai念nian到dao生sheng產chan所suo需xu的de時shi間jian和he成cheng本ben。
結論
本文說明了采用 FPGA 的現代電機控製係統的要求和趨勢,以及為滿足這些約束條件和幫助實現更高效、更精確的電機控製解決方案,MathWorks、Xilinx 和 ADI 公司帶給市場的工具和係統。通過將 MathWorks 基於模型的設計和自動生成代碼工具與強大的Xilinx Zynq SoC、ADI 公司的隔離、功率、信號調理和測量解決方案相結合,電機驅動係統的設計、驗證、測試和實現可以比以前更有效率,進而提高電機控製性能並縮短上市時間。ADI 公司智能驅動器套件與 Avnet Zynq-7000 All Programmable SoC 配合使用,為利用 MathWorks Simulink 設計的電機控製算法提供出色的原型開發環境。該智能驅動器套件帶有一組參考設計 4,旨在為所有希望評估該係統的人士提供一個起點,並且幫助啟動任何新的電機控製項目。
參考電路
1. Hill, Tom. ""借助 Matlab 將電機驅動遷移到 Zynq SoC 設計中。." Xcell 雜誌,87 期,2014 年第二季度
2. O''''''''Sullivan, Dara, Jens Sorensen, 和 Anders Frederiksen. ""閉環電機控製中基於模型的設計工具." PCIM Europe, 2014.
3. Corradi, Dr. Giulio. ""頻率空間矢量調製—第一部分." 網絡, 2012 年 10 月 4 日。
4. AD-FMCMOTCON1-EBZ 用戶指南。
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 1200餘家企業齊聚深圳,CITE2026打造電子信息產業創新盛宴
- 掌握 Gemini 3.1 Pro 參數調優的藝術
- 築牢安全防線:電池擠壓試驗機如何為新能源產業護航?
- Grok 4.1 API 實戰:構建 X 平台實時輿情監控 Agent
- 電源芯片國產化新選擇:MUN3CAD03-SF助力物聯網終端“芯”升級
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
MHL
Micrel
Microchip
Micron
Mic連接器
Mi-Fi
MIPS
MLCC
MMC連接器
MOSFET
Mouser
Murata
NAND
NFC
NFC芯片
NOR
ntc熱敏電阻
OGS
OLED
OLED麵板
OmniVision
Omron
OnSemi
PI
PLC
Premier Farnell
Recom
RF
RF/微波IC
RFID




