【導(dǎo)讀】借助高級處理器功能來簡化設(shè)計已成為主流。設(shè)計靈活性的提高使工程師能夠采用標(biāo)準(zhǔn)的MATLAB和 Simulink模型設(shè)計,使電機(jī)控制系統(tǒng)得到優(yōu)化,將整體設(shè)計時間縮短。而且設(shè)計工程師將仿真模型重復(fù)利用,確保系統(tǒng)在終端市場應(yīng)用中具有正確的功能和所需性能。
圖1:設(shè)計發(fā)展史和設(shè)計能力
基于模型的設(shè)計 (MBD) 經(jīng)過數(shù)十年的探討,直到最近幾年才發(fā)展為完整的設(shè)計流程:從模型創(chuàng)建到完整實現(xiàn)。在 1970 年代,仿真可采用模擬計算平臺,但是控制硬件卻只能借助晶體管實現(xiàn)。2000 年代仿真
工具的發(fā)展迎來了圖形化控制原理圖輸入工具和控制設(shè)計工具,大大簡化了復(fù)雜的控制設(shè)計和評估任務(wù)。但是,控制系統(tǒng)設(shè)計師仍然需要編寫 C 語言來開發(fā)硬件控制算法,以反映仿真設(shè)計的情況。本世紀(jì)初,完整的 MBD 能夠?qū)崿F(xiàn)仿真平臺和硬件實現(xiàn)平臺的通用控制設(shè)計,把復(fù)雜控制算法迅速運(yùn)用至硬件平臺。
圖2:MBD設(shè)計流程
MBD 是指在整個開發(fā)過程中使用一個系統(tǒng)模型作為可執(zhí)行規(guī)范。與傳統(tǒng)基于硬件原型的設(shè)計方法相比,基于仿真的方法有助于更好地理解設(shè)計備選方案和權(quán)衡要素,從而能夠優(yōu)化設(shè)計,達(dá)到預(yù)定的性能標(biāo)準(zhǔn)。設(shè)計師無需使用復(fù)雜的結(jié)構(gòu)和大量軟件代碼,通過連續(xù)時間和離散時間構(gòu)建模塊,就可以定義具有高級功能特性的各種模型。將現(xiàn)有 C 代碼與標(biāo)準(zhǔn)控制庫模塊整合,可實現(xiàn)設(shè)計效率最大化。這些與仿真工具一同使用的模型能夠縮短原型設(shè)計、軟件測試和硬件回路 (HIL) 仿真的時間。通過仿真,我們能夠立即發(fā)現(xiàn)各種規(guī)范差異和模型誤差,不會等到設(shè)計周期的后續(xù)環(huán)節(jié)才發(fā)現(xiàn)。在硬件平臺上運(yùn)行相同算法時,自動代碼生成省去了手動步驟。這可簡化設(shè)計過程、減少硬件設(shè)計實現(xiàn)過程的錯誤,并縮短整體上市時間。
MBD 過程有多個步驟可優(yōu)化整體設(shè)計中的各項任務(wù)。這些任務(wù)可由不同的設(shè)計工程師或設(shè)計團(tuán)隊完成,然后組合在一起形成整體設(shè)計和完整的系統(tǒng)。借助此方法,各項任務(wù)可在更高的抽象層進(jìn)行設(shè)計,從而針對給定的最終應(yīng)用優(yōu)化整體設(shè)計流程??偠灾琈BD 使設(shè)計師能夠從更多經(jīng)典設(shè)計方案開始擴(kuò)展,以可控方式直接從模型創(chuàng)建轉(zhuǎn)到仿真、代碼生成和 HIL 測試,無需重新設(shè)計整個系統(tǒng)就可對系統(tǒng)行為做出遞增改變。
圖3:MBD實現(xiàn)的概念
在圖 3中,我們以直觀的方式顯示 MBD 流程的不同設(shè)計階段和每個步驟的范圍。這些步驟共同描述了 MBD 的“標(biāo)準(zhǔn)”流程。以電機(jī)控制設(shè)計為例,該流程包括:
1、運(yùn)行概念
2、電機(jī)系統(tǒng)的整體功能
3、工廠建模/系統(tǒng)架構(gòu)
4、電機(jī)、負(fù)載、功率電子設(shè)備、信號調(diào)理等設(shè)備的模型開發(fā)
5、控制器建模和要求
6、三相永磁電機(jī)基于編碼器的磁場定向控制
7、分析和綜合 – 詳細(xì)設(shè)計
8、上述創(chuàng)建模型用于確定工廠模型的動態(tài)特性
9、系統(tǒng)調(diào)諧和配置
10、驗證和測試
11、離線仿真和/或?qū)崟r仿真
12、動態(tài)系統(tǒng)時間響應(yīng)調(diào)查
13、嵌入式目標(biāo)實施過程 – 全面運(yùn)行
14、自動代碼生成
15、測試和驗證
16、更新控制器模型
圖4:MBD設(shè)置
以上可構(gòu)成調(diào)整整體設(shè)計的多步驟方法,并且可單獨分析每個控制步驟。軟硬件規(guī)范完成后,就可針對整個系統(tǒng)的具體算法和功能部署建立完整的系統(tǒng)架構(gòu)(參見圖4 )??蓪刂破骱凸S模型的仿真過程進(jìn)行評估,還可對不涉及硬件的算法離線開發(fā)過程進(jìn)行合理構(gòu)建并微調(diào),從而達(dá)到整個系統(tǒng)的性能要求。對于初始生成的代碼,無論是“重復(fù)使用”的現(xiàn)有代碼還是由代碼生成工具生成的代碼,均可在嵌入式控制器中實施,以便將 PC 上的系統(tǒng)仿真情況與硬件目標(biāo)的實際實現(xiàn)數(shù)據(jù)進(jìn)行對比。設(shè)計師在定義 MBD 的平衡結(jié)構(gòu)時,必須考慮模型的復(fù)雜度。不過,某個平衡概念實現(xiàn)之后,也可以快速更改設(shè)計內(nèi)的獨立模型,使整個驅(qū)動系統(tǒng)獲得更準(zhǔn)確的結(jié)果。
本文采用的實驗設(shè)置是基于ADI公司的 ARM CortexTM-M4 混合信號控制處理器,它與 IAR 和 MathWorks 公司的組合工具一同使用,實現(xiàn) MBD 平臺。上述每個步驟都可直接鏈接至可用工具和整個實現(xiàn)過程。
圖5:Mathworks和IAR系統(tǒng)優(yōu)勢
參見圖5,每條工具鏈都具有使用價值。在 MBD 中,設(shè)計師必須選擇如何平衡使用這些工具鏈與獨立 MBD 平臺創(chuàng)造的全部價值二者之間的關(guān)系。
圖6:實施環(huán)境
對于目標(biāo)平臺,實時開發(fā)環(huán)境現(xiàn)可適用于建模、仿真、評估、部署和優(yōu)化整個系統(tǒng)的性能和功能。這一切都基于 MBD 和平衡選擇系統(tǒng)參數(shù),從而使需要特定優(yōu)化的設(shè)計具有一流的靈活性。這使得系統(tǒng)的可擴(kuò)展模型得以實現(xiàn),進(jìn)而有助于代碼的使用和重復(fù)使用,這些代碼可以基于現(xiàn)有舊代碼或功能,也可以基于標(biāo)準(zhǔn) C 的全新構(gòu)建模塊或圖形化功能(Simulink/MATLAB 模型對應(yīng)完整的仿真和實施階段)。不僅從軟件角度來看可以更改整體設(shè)置,而且在為系統(tǒng)開發(fā)出正確的設(shè)備驅(qū)動程序之后,設(shè)計師也可更改最終應(yīng)用或系統(tǒng)的資源、硬件元件和整個應(yīng)用軟件。此外,還能夠?qū)崟r控制整個系統(tǒng)的時序,所以直接借助此環(huán)境就可實現(xiàn)系統(tǒng)調(diào)度最優(yōu)化。
圖7:驅(qū)動系統(tǒng)框圖
仔細(xì)觀察這個典型的驅(qū)動系統(tǒng)框圖,便可直觀地了解此架構(gòu)的功能。我們可以優(yōu)化“驅(qū)動系統(tǒng)”中的每個要素,并著重關(guān)注對最終系統(tǒng)最為重要的要素。舉例來說,如果保護(hù)功能和數(shù)值范圍最重要,則應(yīng)著重關(guān)注與電氣控制和功率系統(tǒng)結(jié)合的機(jī)械系統(tǒng)??删C合運(yùn)用仿真結(jié)果和實時數(shù)據(jù)來監(jiān)控系統(tǒng)行為,共同實現(xiàn)“即時”優(yōu)化。另一方面,如果噪聲干擾降低了系統(tǒng)的整體效率水平,則可以在可擴(kuò)展濾波器和觀測器中使用其測量值,最大程度地減少硬件噪聲問題以實現(xiàn)最佳狀態(tài)。針對所有因素建模并收集相關(guān)數(shù)據(jù)之后,就可以開始實施階段的最后一步,而目標(biāo)系統(tǒng)的完整實現(xiàn)階段亦可成為現(xiàn)實。
圖8:實現(xiàn)與編譯
通過 MBD 設(shè)計流程和 MathWorks 與 IAR,可對代碼進(jìn)行編譯,并使整體模型得以實現(xiàn)。“驅(qū)動系統(tǒng)”模型的每個階段或要素都可通過 MATLAB 和 Simulink 模型來表示,該模型已調(diào)整至符合最優(yōu)設(shè)計標(biāo)準(zhǔn)的適當(dāng)水平。模型中的每個要素均基于 MathWorks 的標(biāo)準(zhǔn)工具箱和模塊集,在特定設(shè)計中可以與任何要素一同重復(fù)使用。這些要素還可表示驅(qū)動系統(tǒng)的不同域,并且均可進(jìn)行微調(diào),以便最大程度減少模型相對于實施的誤差。通過實時實施方法并在此混合環(huán)境下編譯,還可將現(xiàn)有手寫 C 代碼與由 Embedded Coder(嵌入式編碼器)生成并經(jīng)過 ARM Cortex M4 優(yōu)化的 C 代碼相結(jié)合。Embedded Coder是一款適用于 MATLAB 和 Simulink 的生產(chǎn)代碼生成工具。整個過程使得用戶能夠正確地重復(fù)使用現(xiàn)有的電機(jī)控制設(shè)計知識。此時,IAR 嵌入式工作臺可獲取生成的代碼,并對 ARM Cortex M4 的完整項目進(jìn)行編譯,這也表示此系統(tǒng)的 MBD 實現(xiàn)階段結(jié)束。
圖9:處理數(shù)據(jù)及仿真數(shù)據(jù)
自 MBD 問世以來,人們就一直在質(zhì)疑其相較于傳統(tǒng)系統(tǒng)開發(fā)的性能和功能,以及系統(tǒng)整體資源的使用效率。經(jīng)過元件供應(yīng)商、仿真和實施供應(yīng)商以及工具編譯器供應(yīng)商的不懈努力,現(xiàn)如今 MBD 已經(jīng)與傳統(tǒng)實施方式不相上下。當(dāng)然,任何為實時系統(tǒng)編寫和開發(fā)代碼的過程均可能效率低下,這取決于所使用的實現(xiàn)方法。借助 MBD,可以將性能分析、交叉優(yōu)化選項以及安全關(guān)鍵系統(tǒng)開發(fā)的強(qiáng)大優(yōu)勢組合在一起,從而盡可能減少代碼開發(fā)費(fèi)用,實現(xiàn)最高性能。MathWorks 會按照 IEC 61508、ISO 26262 和相關(guān)功能安全標(biāo)準(zhǔn)對嵌入式編碼器進(jìn)行工具資格驗證。
在標(biāo)準(zhǔn)設(shè)計流程中,實現(xiàn)這一系列功能要困難得多。在上述例子中,標(biāo)準(zhǔn)磁場定向控制 (FOC) 模型在ADI公司的 ADSP-CM40x 系列上實現(xiàn)。該模型的位置反饋和電流環(huán)路反饋的執(zhí)行時間為 15 us,并且可對電流方案和調(diào)試設(shè)備進(jìn)行實時分析。該模型還可追蹤整個 FOC 方案的功能性??梢詫?MBD 仿真結(jié)果和實時數(shù)據(jù)進(jìn)行評估,并與理想的系統(tǒng)功能和目標(biāo)規(guī)格進(jìn)行比較。因此,設(shè)計師能夠不斷提高系統(tǒng)效率、功能和性能,還能評估信號鏈中指定要素或組件的表現(xiàn)與目標(biāo)規(guī)格的差異情況。