新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 車輛控制系統開發軟件閉環模擬方法

        車輛控制系統開發軟件閉環模擬方法

        作者: 時間:2013-01-22 來源:網絡 收藏


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


        圖2 筆記本PC 構成的開發系統框圖

        通過這一系統構成一體化的開發測試系統,即滿足下面幾項功能:

        1)純模擬系統:采用MATLAB 建模,進行控制系統的模擬。

        2)集成單片機開發系統:采用PC104 總線結構,控制算法直接生成C 代碼,并直接下載到單片機仿真器中運行,這樣可以實時修改控制算法,即可以在試驗室條件下進行,也可以在實車上進行調試。

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

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

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


        圖3 開發系統外形圖

        3 實時軟件模擬方法

        系統軟件采用MATLAB 系統建立控制對象模型,即車輛模型。混合控制器的模型就可以形成純模擬系統,但這種純模擬系統可以采用統一的MATLAB 環境控制器模型,也采用SIMULINK 可視化模型,這是最初的模型。如果要使用MATLAB 中的工具箱,這類模型有一定的限制,如不能采用連續性模塊,采用嵌入式代碼生成器工具箱,可以將控制器子系統生成C 代碼,也可以采用專用的單片機代碼生成器生成C 代碼,如目前MATLAB 中已有Motorola MPC555、TI TMS320C6000、Infineon C167 系統單片機專用工具箱控制C 代碼的生成并可以控制C 代碼的編譯、連接,最后生成可執行代碼。生成可執行代碼后,可以將系統直接下載到目標單片機上,這時就可以用目標單片機直接對應用對象即實際車輛進行控制了。但單片機代碼不能直接對模擬模型進行控制了,這樣就造成了開發過程的脫節。因為由SIMULINK生成代碼的過程,有可能改變了系統算法的特性。不同廠商的編譯器也會存在一些問題,所以直接用生成的單片機代碼對模擬對象進行控制是最便利的,當然這時可以利用實時硬件閉環系統進行模擬與驗證。但由于控制器硬件的過早介入要花費很大的精力去調整信號,而往往硬件連接會帶來很多麻煩,如信號連接等。再者在算法調整階段并不需要硬件的介入,在這種情況下,就需要有一種連接單片機與計算機之間的數據交換界面,從而形成一種快速實時交換數據方式,使車輛模型系統與控制系統能夠實現快速通信,從而實現軟件實時模擬,基于此在本系統中采用兩種數據交換方式。

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

        其結構方式見圖4。


        圖4 數據交換方式

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

        采用CAN 總線通信比較方便,這是因為目前許多單片機已內置了CAN 控制器,一般CAN 控制器具有15 個信息體,新出現的單片機則可以帶更多的CAN 控制器,每個信息體有8 個字節,這樣就可以有120個字節用于實時數據交換,同時CAN 的最高通信速度為1MHz 波特率,足以滿足實時模擬的要求。在PC計算機方面一般沒有CAN 接口,但CAN 的接口卡是比較多的。本系統采用自制的CAN 采集卡,該采集卡可以采用USB接口轉換,也有并口、ISA、PCI 幾種接口,只用兩根CAN 通信線就可以將單片機與PC計算機進行通信連接。當然串口與單片機的連接也很方便,除非是一些低速簡單的控制系統,但串口通信一是速度慢,二是它的數據傳遞不像CAN 是數據包的形式,所以容易產生錯誤。

        CAN 通信只能傳送字節型數據,對不同的數據類型要進行變換,例如要傳送浮點數據,先把它變換為字節型變量,接收后要進行解碼,把它還原為浮點數據類型。系統的原理見圖5。


        圖5 CAN 數據交換原理

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 六安市| 钦州市| 阳原县| 嘉峪关市| 比如县| 清新县| 廊坊市| 南华县| 饶平县| 炉霍县| 卢龙县| 特克斯县| 忻州市| 南和县| 巨鹿县| 岑巩县| 育儿| 马龙县| 汝南县| 新竹县| 彩票| 白朗县| 宜阳县| 广平县| 云梦县| 阜宁县| 洛川县| 修武县| 桓仁| 靖江市| 贵南县| 巩义市| 遵义县| 吉林省| 大新县| 东丽区| 崇礼县| 绥棱县| 上杭县| 石城县| 滁州市|