我們的目的不是討論控制理論,而是提供第一手詳細信息,介紹開發(fā)團隊所采取的控制硬件和軟件開發(fā)的有益方法,幫助加快固件開發(fā)和驗證過程。這些信息既適用于ARM控制器上的狀態(tài)機,也適用于FPGA上的主控制算法,我們稍后會詳細介紹。
同時,此處描述的特定開發(fā)過程可確保最大限度地減少錯誤,并能及早發(fā)現(xiàn)錯誤,甚至可在提供或設計原型硬件之前。在以下章節(jié)中,我們將介紹實現(xiàn)這種方法的步驟和工具(MathWorks和Xilinx)、功率因數校正(PFC)的狀態(tài)機和算法模塊,以及DAB轉換器的主算法模塊。
控制策略的開發(fā)過程
PFC控制軟件的總體架構如圖2所示。該設計的核心是Xilinx的Zynq 7000 SoC,它包含ARM內核和FPGA內核。Zynq 7000安裝在通用控制器板(UCB)上,該板還包含外設、ADC、多個存儲器板以及SoC和其他元件所需的電源樹。[5]
首先,ARM內核運行狀態(tài)機(固件中的高級例程)以及其他輔助任務,包括通信協(xié)議、保護功能等。其次,F(xiàn)PGA充當主控制算法的提供者,運行驅動轉換器的控制環(huán)路,根據需要處理電源,實現(xiàn)AC-DC轉換、PFC并將電壓升壓至所需的直流鏈路電平。因此,F(xiàn)PGA上的“主算法”是狀態(tài)機一個特定狀態(tài),可稱之為穩(wěn)態(tài)。DAB轉換器在ARM內核和FPGA之間采用相同的任務分配方式。
圖2.25 kW PFC轉換器控制架構概覽。任務在UCB上的XilinxZynq 7000的FPGA和ARM MCU之間的分配示意圖。DAB轉換器的控制架構概覽與此相同。
利用基于模型的測試來揭示控制系統(tǒng)中的錯誤
圖3說明了在整個項目開發(fā)鏈中出現(xiàn)錯誤和檢測到錯誤的典型分布情況??梢钥吹剑蠖鄶靛e誤是在初期的制定規(guī)格和設計階段引入的;但是,它們大多直到測試后期才被發(fā)現(xiàn)。
圖3.引入的錯誤與檢測到的錯誤。(資料來源:CliveMaxfield和KuhooGoyal的著作,《EDA:電子學的起點》。)
為了解決圖3中呈現(xiàn)的現(xiàn)象,我們采用了一個開發(fā)過程,其目的是在開發(fā)的早期階段檢測到大部分這些錯誤。如果實施得當,從項目資源和時間表的角度來看,這種方法會帶來一些優(yōu)勢,包括:
● 最大限度地降低額外所需硬件迭代的風險。
● 在硬件準備就緒之前,可在很大程度上優(yōu)化控制系統(tǒng)和轉換器性能。
● 加速硬件評估階段,最大限度地減少必需對硬件進行的調整。在原型板生產期間,已經執(zhí)行了大量工作。
為此,安森美(onsemi)固件和控制工程師采取基于模型的測試方法,該方法充分利用了MATLAB工具和生態(tài)系統(tǒng)[6]。該方法的成功實施取決于四大關鍵支柱,開發(fā)人員需要解決以下問題:
● 代表性模型,需確保在可行仿真時間內,(找元器件現(xiàn)貨上唯樣商城)仿真系統(tǒng)響應與實際系統(tǒng)響應高度匹配。對于PFC電源仿真,在模型精度和仿真時間之間采取了如第三部分所述的類似折衷。
● 在我們的仿真過程和仿真模型中編譯和驗證我們的固件C代碼(狀態(tài)機)。因此,驗證發(fā)生在仿真階段,而不是硬件評估階段。
● FPGAIP內核可從經過驗證的模型中自動合成生成。這消除了手動編碼錯誤,并支持高級優(yōu)化以最小化FPGA內核面積,同時滿足時序約束。
為了加速這些特性的實現(xiàn),我們充分利用了以下工具的優(yōu)點(如表1所示)。
表1:安森美工程團隊使用的開發(fā)和仿真工具,用于開發(fā)、仿真、部署和測試25 kW快速直流電動汽車充電樁設計的固件。
一步一個腳印。如何開發(fā)仿真模型?
圖4描繪了固件開發(fā)和執(zhí)行過程的簡化流程圖,按表2中總結的三個主要階段進行劃分。在本文中,只深入討論仿真模型開發(fā),這是最重要的一個階段。
圖4.25 kW快速直流充電樁固件開發(fā)流程圖。
表2:固件開發(fā)過程的各個階段。
仿真模型開發(fā)階段包括開發(fā)用于驗證系統(tǒng)控制算法的仿真模型(或仿真模塊)。本項目中包含的最重要的模塊是:
● 將在ARM內核上運行的C代碼(狀態(tài)機),通過S函數塊導入以用于仿真
● 轉換器的控制算法(控制環(huán)路)
● 電源轉換器,用于對硬件進行建模
● 設備模塊、用于PFC的交流設備和用于DAB的直流設備。
在此開發(fā)階段,我們使用“輕”模型(不含改進細節(jié)的代表性模型),這使我們能夠在各種條件(電網阻抗、電流命令——取決于輸出功率水平的變化——以及其他條件)下運行多種情況/場景,驗證控制器對許多不同場景的響應。因此,在此階段應避免使用開關模型,因為這些模型包含非常多的細節(jié),運行模型需要花費大量時間——我們在本系列文章第三部分的電源仿真中對此已經有所了解。
我們使用平均開關等效模型[7]作為替代方案,該模型允許使用FPGAIP內核構建仿真模塊。同時,我們保留了硬件的所有重要/有影響的特性,以確保仿真的完整性,例如轉換器壓降效應、噪聲測量、PWM傳輸和模數延遲等。
使用MATLAB生成IP的步驟
本章節(jié)進入到詳情部分,將介紹實現(xiàn)特定仿真模型的關鍵步驟以及如何充分利用MATLAB環(huán)境所提供的功能。圖5顯示了具有表1中介紹的元件的通用電能轉換系統(tǒng)的簡化表示。
圖5.通用電能轉換系統(tǒng)的簡化表示(并非特指25 kW直流充電樁)。
“電源轉換器”是模型的核心元件(我們的硬件代表),“控制器”是相關的主算法模塊,也是我們正在開發(fā)和評估的算法模塊。最終,通過使用MATLAB仿真生態(tài)系統(tǒng)提供的自動化工具,該算法模塊將轉換成FPGAIP內核本身。
我們的團隊在模型開發(fā)階段使用了一系列的六個步驟,貫穿至最終的IP生成。這些步驟的概覽參見圖6中的簡化流程圖,其簡要說明如下文所示。
●-步驟1:我們采用雙精度浮點開發(fā)模型,而電源轉換器則使用平均模型。如上一章節(jié)所述,在此階段,開發(fā)的模型起著重要作用,既要盡可能輕以允許合理的仿真運行時間,又要足夠準確以反映系統(tǒng)的實際行為。
●-步驟2:我們使用MATLAB提供的自動化工具來生成系統(tǒng)的定點等效模型。此任務采用的工具是MATLABFixedPointDesigner。
●-步驟3:將雙精度變換為定點精度后,運行一次驗證仿真,以確保定點轉換不會影響系統(tǒng)的工作行為。
●-步驟4:驗證后,加入要在UCB控制器的ARM內核中運行的狀態(tài)機。允許在Simulink模型中模擬手寫C代碼的工具是S函數。此時,我們應該能夠在合理的仿真運行時間內針對多種情況和各種條件測試控制器。在這個過程中,可能會發(fā)生各種重要的子任務。例如,比例積分控制器增益的驗證、控制器負載階躍響應的評估、狀態(tài)機的過電流反應以及錯誤處理等。
●-步驟5:在生成FPGAIP內核之前,我們強烈建議針對選定的情況/場景運行一些仿真,將轉換器的平均模型替換為開關模型。這個過程相當耗時,應對極少數的仿真情況進行重復。然而,重要的是要確??刂破髅馐苻D換器開關行為所引入的非線性的影響。
●-步驟6:對所開發(fā)的算法有足夠的信心后,我們現(xiàn)在可以使用自動化工具生成FPGAIP內核。這個過程顯著減少了編程錯誤,實現(xiàn)了面積優(yōu)化的可合成式RTL,并且滿足時序約束。
圖6.仿真模型開發(fā)階段的六步驟流程圖。為了便于表示,該流程圖中省略了圖5中的“外設”模塊。它所在的位置以及與其他模塊的連接與圖5中的相同。
審核編輯:湯梓紅
-
PFC
+關注
關注
47文章
947瀏覽量
105621 -
SiC
+關注
關注
29文章
2691瀏覽量
62286 -
快充
+關注
關注
10文章
845瀏覽量
32798
發(fā)布評論請先 登錄
相關推薦
評論