車(chē)輛控制系統開(kāi)發(fā)軟件閉環(huán)模擬方法
隨著(zhù)計算機技術(shù)的發(fā)展,車(chē)輛上的控制系統變得越來(lái)越復雜,因而控制算法變得也非常復雜,所以控制系統開(kāi)發(fā)的主要工作是內部的控制算法的開(kāi)發(fā)。我們知道近幾年國外先進(jìn)的開(kāi)發(fā)過(guò)程是呈V 字形,它分為下面幾個(gè)階段[1]:
(1) 系統設計建模與離線(xiàn)模擬
在這一階段主要驗證控制算法與概念,驗證系統的可行性,使用MATLAB/Simulink 軟件可以很容易實(shí)現控制算法并進(jìn)行系統建模,這些模型可以同樣應用于實(shí)時(shí)硬件模擬。
(2) 系統原型實(shí)施
這一階段仍是采用PC 計算機或功能較強的計算機,如DSP。將系統的硬件信號加入到模擬系統中,從而實(shí)現真實(shí)的物理系統??梢圆捎肕ATLAB 工具箱,例如RTW 和xPC 等。很容易在PC 計算機中實(shí)現實(shí)時(shí)硬件控制。例如可以直接用PC 計算機對車(chē)輛進(jìn)行控制驗證。
(3) 目標代碼產(chǎn)生
目標代碼的產(chǎn)生是最困難的一步,可以采用專(zhuān)用的工具如Targetlink,它可以從Simulink 可視化算法直接轉化為C 代碼,MATLAB/Simulink 中的實(shí)時(shí)嵌入式代碼生成器工具箱也具有這類(lèi)功能。但生成可用于大量生產(chǎn)的實(shí)用代碼還要作較多的修改,或許要嵌入較多的用戶(hù)手工代碼。
(4) 實(shí)時(shí)硬件模擬
這一步驟是驗證控制器硬件和軟件算法,它的環(huán)境與實(shí)車(chē)比較類(lèi)似,其相似程度取決于模擬模型與實(shí)際車(chē)輛的差別。如果模型比較準確,則經(jīng)過(guò)這一系統驗證后再到實(shí)車(chē)試驗,其工作量就降低到最少,但一般情況下模型與實(shí)車(chē)都存在較大差距,所以仍需要較多的工作。
(5) 系統驗證與調試
這一過(guò)程是將控制系統在實(shí)車(chē)上進(jìn)行驗證并進(jìn)行系統的標定及參數修改等工作。如果前面的工作比較完善,則這一步的工作量就可以減少,并節省時(shí)間與費用。這一過(guò)程是一個(gè)一般的過(guò)程,但也存在下面幾個(gè)方面的不足。
1) 傳統的開(kāi)發(fā)大多采用模擬的方法,純軟件模擬可以部分地驗證控制算法,但大部分的純模擬控制算法都是運行在PC 計算機上。利用通用的編程工具如VC、VB、MATLAB/SIMULINK,它們都是采用浮點(diǎn)數運算,也不必顧及內存空間的大小。這種模擬當得到理想的結果后再向目標計算機上進(jìn)行移植,這種目標計算機往往要進(jìn)行產(chǎn)業(yè)化生產(chǎn),要求有較高的性能價(jià)格比,所以它的內存空間較小,同時(shí)采用整形數。模擬驗征很好的代碼一旦移植到這種目標計算機。由于上述差距的存在就會(huì )使控制算法的性能大大降低,這往往需要用戶(hù)重新進(jìn)行構造控制算法,這樣就導致開(kāi)發(fā)效率降低,那么最好是從一開(kāi)始就使目標計算機參與到系統上來(lái)。
2) 實(shí)時(shí)硬件閉環(huán)模擬是一種非常好的工具,目前在開(kāi)發(fā)過(guò)程被大量的使用。它可以有效地驗證控制器的軟硬件系統,但這種系統在實(shí)際使用中事實(shí)上主要是驗證控制算法。硬件的驗證只要沒(méi)有故障,則在以后的工作中就不會(huì )再有什么作用。
3) 實(shí)時(shí)硬件模擬驗證只是在實(shí)驗室內進(jìn)行,如果拿到實(shí)車(chē)上就很不方便,特別是一些混合模擬由于設備龐大,很難拿到車(chē)輛上。在實(shí)際車(chē)輛上調試ECU 控制代碼時(shí)要進(jìn)行很多算法修改及參數的調整,這種修改與調整有些可能對算法的影響是很大的,有些情況可能會(huì )使控制失效。這樣就需要再回到試驗室中用實(shí)時(shí)硬件模擬再去驗證算法,反反復復這樣調試就會(huì )耗費比較多的時(shí)間。
4) 好的開(kāi)發(fā)環(huán)境應該將這些過(guò)程集成到同一個(gè)環(huán)境下,如果系統要在不同的系統中切換,勢必造成移植的困難。
基于在控制器開(kāi)發(fā)過(guò)程中這幾個(gè)比較困難的事情,本文提出了實(shí)時(shí)軟件模擬方法以有效地解決上述系統的缺陷。
2 系統硬件
圖1 系統硬件框圖
1)系統是單板式結構,所以系統可靠性高。
2)采用PC104 總線(xiàn),具有抗振性,且體積也比較小。
3)PC 計算機性能高,可以作為模擬用主機,即直接用MATLAB/SIMULINK 建模。
4)用PC 計算機可以利用它采用MATLAB 中的xPC 工具箱生成較小內存的控制器代碼,然后內置于主機板的電子盤(pán)中,形成可靠的基于PC 的控制系統。
5)采用嵌入式PC 體積較少,便于形成車(chē)載控制系統。
系統硬件包括下面幾個(gè)部分:
(1) PC 主板:嵌入式系統,PⅢ或PIV 主機。
(2) 采集卡:PC104 總線(xiàn),用于數據采集及系統控制。
(3) 仿真器:?jiǎn)纹瑱C仿真器主要用于控制器程序的調試,也可采用PC104 總線(xiàn),這樣可以使開(kāi)發(fā)系統一體化,并在一臺計算機上加以實(shí)現。
(4) 信號及驅動(dòng)設備箱:這是一個(gè)專(zhuān)用信號調理箱,這種系統要根據車(chē)輛上應用確定信號調整的類(lèi)型及驅動(dòng)類(lèi)型,作為一個(gè)通用的系統,采集驅動(dòng)系統有如下功能:
1)A/D 采集 8 路:用于模擬量采集用調理箱,對信號進(jìn)行放大,并規整變?yōu)?~5V 電壓。
2)D/A 輸出 2 路:用于模擬量采集用調理箱,對信號進(jìn)行放大,并規整變?yōu)?~5V 電壓。
3)數字輸入:16 路,主要采集一些輸入信號,如開(kāi)關(guān)量。
4)數字輸出:16 路,主要是一些驅動(dòng)信號,如對電磁閥,通過(guò)調理箱對信號進(jìn)行功率放大。
5)脈沖輸入采集,8 路,主要對一些速度信號進(jìn)行采集,一般的采集卡很難準確進(jìn)行采集,采用專(zhuān)用的采集卡,可以對脈沖進(jìn)行準確的計算,信號調理箱則可以完成信號的整形放大等處理。
6)脈沖輸出,8 路,主要對一些速度信號進(jìn)行模擬,一般的采集卡很難準確輸出脈沖,采用專(zhuān)用的采集卡,可以對脈沖進(jìn)行準確的計算,信號調理箱則可以完成信號的方波轉換為正弦波等處理。
7) CAN 通信:共有15 個(gè)信息幀可以編程使用,CAN 標準為2.0B,CAN 通信參數可以定義。
評論