新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 車輛控制系統(tǒng)開發(fā)軟件閉環(huán)模擬方法

車輛控制系統(tǒng)開發(fā)軟件閉環(huán)模擬方法

作者: 時(shí)間:2013-01-22 來源:網(wǎng)絡(luò) 收藏


另一種系統(tǒng)配置是采用筆記本電腦。PC 計(jì)算機(jī)固有的外設(shè)有串口、并口、USB 和網(wǎng)絡(luò)接口,串口由于通信速度慢,顯然不適于作采集數(shù)據(jù)。網(wǎng)絡(luò)接口由于與單片機(jī)的接口比較復(fù)雜,也不太適于作系統(tǒng)的數(shù)據(jù)交換與通信。USB和并口通信速度比較高,并且與單片機(jī)的接口也比較簡單,這樣可以外掛兩個(gè)獨(dú)立的外設(shè)。一般在我們的系統(tǒng)中一個(gè)作為單片機(jī)的仿真器用,一個(gè)作為采集卡構(gòu)成實(shí)時(shí)模擬系統(tǒng),這樣采用筆記本就增加了移動性,方便靈活。圖2 為這一系統(tǒng)的框圖。


圖2 筆記本PC 構(gòu)成的開發(fā)系統(tǒng)框圖

通過這一系統(tǒng)構(gòu)成一體化的開發(fā)測試系統(tǒng),即滿足下面幾項(xiàng)功能:

1)純模擬系統(tǒng):采用MATLAB 建模,進(jìn)行控制系統(tǒng)的模擬。

2)集成單片機(jī)開發(fā)系統(tǒng):采用PC104 總線結(jié)構(gòu),控制算法直接生成C 代碼,并直接下載到單片機(jī)仿真器中運(yùn)行,這樣可以實(shí)時(shí)修改控制算法,即可以在試驗(yàn)室條件下進(jìn)行,也可以在實(shí)車上進(jìn)行調(diào)試。

3)集成測試系統(tǒng):利用PC104 采集卡可以對車輛非控制器參數(shù)進(jìn)行采集,如壓力、速度等,用這些數(shù)據(jù)可以有效地對控制效果進(jìn)行評估。

4)集成實(shí)時(shí)硬件模擬系統(tǒng):利用采集卡可以發(fā)出各種模擬的傳感器信號,如模擬量通過D/A 發(fā)出,脈沖信號通過PWM 信號發(fā)出。

5)集成的車載系統(tǒng):采用專用的計(jì)算機(jī)抗振機(jī)箱,整套系統(tǒng)可以直接放到車輛上進(jìn)行ECU 的調(diào)試,調(diào)試過程中可以采集各種物理量,同時(shí)此系統(tǒng)可以進(jìn)行各個(gè)階段的模擬。這種系統(tǒng)將軟件及硬件一體化,同時(shí)應(yīng)用于各個(gè)開發(fā)階段,最有效地提高了設(shè)備的利用率,避免了開發(fā)環(huán)境的切換,從而可以縮短開發(fā)時(shí)間。圖3 為這一系統(tǒng)的外形圖。這一系統(tǒng)首先硬件實(shí)現(xiàn)了從模擬到系統(tǒng)的集成化,硬件是同一設(shè)備完成各個(gè)階段的開發(fā),下面要介紹的軟件也是一體化的。


圖3 開發(fā)系統(tǒng)外形圖

3 實(shí)時(shí)軟件模擬方法

系統(tǒng)軟件采用MATLAB 系統(tǒng)建立控制對象模型,即車輛模型?;旌峡刂破鞯哪P途涂梢孕纬杉兡M系統(tǒng),但這種純模擬系統(tǒng)可以采用統(tǒng)一的MATLAB 環(huán)境控制器模型,也采用SIMULINK 可視化模型,這是最初的模型。如果要使用MATLAB 中的工具箱,這類模型有一定的限制,如不能采用連續(xù)性模塊,采用嵌入式代碼生成器工具箱,可以將控制器子系統(tǒng)生成C 代碼,也可以采用專用的單片機(jī)代碼生成器生成C 代碼,如目前MATLAB 中已有Motorola MPC555、TI TMS320C6000、Infineon C167 系統(tǒng)單片機(jī)專用工具箱控制C 代碼的生成并可以控制C 代碼的編譯、連接,最后生成可執(zhí)行代碼。生成可執(zhí)行代碼后,可以將系統(tǒng)直接下載到目標(biāo)單片機(jī)上,這時(shí)就可以用目標(biāo)單片機(jī)直接對應(yīng)用對象即實(shí)際車輛進(jìn)行控制了。但單片機(jī)代碼不能直接對模擬模型進(jìn)行控制了,這樣就造成了開發(fā)過程的脫節(jié)。因?yàn)橛蒘IMULINK生成代碼的過程,有可能改變了系統(tǒng)算法的特性。不同廠商的編譯器也會存在一些問題,所以直接用生成的單片機(jī)代碼對模擬對象進(jìn)行控制是最便利的,當(dāng)然這時(shí)可以利用實(shí)時(shí)硬件閉環(huán)系統(tǒng)進(jìn)行模擬與驗(yàn)證。但由于控制器硬件的過早介入要花費(fèi)很大的精力去調(diào)整信號,而往往硬件連接會帶來很多麻煩,如信號連接等。再者在算法調(diào)整階段并不需要硬件的介入,在這種情況下,就需要有一種連接單片機(jī)與計(jì)算機(jī)之間的數(shù)據(jù)交換界面,從而形成一種快速實(shí)時(shí)交換數(shù)據(jù)方式,使車輛模型系統(tǒng)與控制系統(tǒng)能夠?qū)崿F(xiàn)快速通信,從而實(shí)現(xiàn)軟件實(shí)時(shí)模擬,基于此在本系統(tǒng)中采用兩種數(shù)據(jù)交換方式。

(1) CAN 通信方式
(2) 雙口RAM 通信方式

其結(jié)構(gòu)方式見圖4。


圖4 數(shù)據(jù)交換方式

雙口RAM 方式的原理是將仿真器的一部分內(nèi)存地址映射為PC 機(jī)外設(shè)設(shè)備的可訪問的空間。通過這部分的共享內(nèi)存進(jìn)行數(shù)據(jù)交換,這種方式可以映射比較大的空間,交換的數(shù)據(jù)量也比較大,實(shí)時(shí)特性好,但這要求仿真器具有特殊的總線訪問地址。一般通用的仿真器不具有這類功能,必須用戶進(jìn)行自己研制。本系統(tǒng)中也采用過這一方案,但它要求對仿真器系統(tǒng)作較多的研制與改進(jìn),所以難度較大,但這種方案是普通適用的,適合于任何類型的計(jì)算機(jī)。

采用CAN 總線通信比較方便,這是因?yàn)槟壳霸S多單片機(jī)已內(nèi)置了CAN 控制器,一般CAN 控制器具有15 個(gè)信息體,新出現(xiàn)的單片機(jī)則可以帶更多的CAN 控制器,每個(gè)信息體有8 個(gè)字節(jié),這樣就可以有120個(gè)字節(jié)用于實(shí)時(shí)數(shù)據(jù)交換,同時(shí)CAN 的最高通信速度為1MHz 波特率,足以滿足實(shí)時(shí)模擬的要求。在PC計(jì)算機(jī)方面一般沒有CAN 接口,但CAN 的接口卡是比較多的。本系統(tǒng)采用自制的CAN 采集卡,該采集卡可以采用USB接口轉(zhuǎn)換,也有并口、ISA、PCI 幾種接口,只用兩根CAN 通信線就可以將單片機(jī)與PC計(jì)算機(jī)進(jìn)行通信連接。當(dāng)然串口與單片機(jī)的連接也很方便,除非是一些低速簡單的控制系統(tǒng),但串口通信一是速度慢,二是它的數(shù)據(jù)傳遞不像CAN 是數(shù)據(jù)包的形式,所以容易產(chǎn)生錯(cuò)誤。

CAN 通信只能傳送字節(jié)型數(shù)據(jù),對不同的數(shù)據(jù)類型要進(jìn)行變換,例如要傳送浮點(diǎn)數(shù)據(jù),先把它變換為字節(jié)型變量,接收后要進(jìn)行解碼,把它還原為浮點(diǎn)數(shù)據(jù)類型。系統(tǒng)的原理見圖5。


圖5 CAN 數(shù)據(jù)交換原理

CAN 通信的基本設(shè)置可以通過MATLAB 的GUI 界面編制定義程序,將參數(shù)定義可以保存在采集卡的EEPROM 中,用戶可以通過這個(gè)界面進(jìn)行參數(shù)的定義與修改,例如數(shù)據(jù)長度、波特率、屏蔽字。


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉