新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 汽車駕駛模擬器硬件控制系統(tǒng)的研究設(shè)計

汽車駕駛模擬器硬件控制系統(tǒng)的研究設(shè)計

作者: 時間:2009-02-08 來源:網(wǎng)絡(luò) 收藏

汽車器是利用計算機實時和計算機圖形處理技術(shù)汽車的實際行駛過程,用來培訓(xùn)員,縮短上車試車的周期,降低培訓(xùn)的成本。汽車駕駛器包括硬件和軟件兩部分組成。硬件由計算機、顯示設(shè)備、方向盤、儀表盤等部件構(gòu)成,軟件包括道路環(huán)境的計算機仿真視景系統(tǒng)、聲響模擬、操作平臺等子系統(tǒng)構(gòu)成。本文將對硬件系統(tǒng)的進行研究。

  一、系統(tǒng)的原理和功能

  汽車駕駛模擬器系統(tǒng)包括機械部分、控制系統(tǒng)和模擬軟件三大部分。機械部分的點火、方向盤、離合、腳剎、手剎裝置、油門裝置、檔位裝置、儀表裝置均采用實物仿真;控制系統(tǒng)定時檢測點火情況、方向盤轉(zhuǎn)過的角度、旋轉(zhuǎn)方向、離合器、腳剎、手剎、油門、檔位的狀態(tài),并將檢測的結(jié)果傳送給計算機,通過模擬軟件來變換駕駛的場景,同時,將當前的水溫、時速、發(fā)動機轉(zhuǎn)速和油量傳送給控制系統(tǒng),以改變儀表盤的指示??刂葡到y(tǒng)原理圖如圖1 所示。

圖1 控制系統(tǒng)原理圖

  計算機采樣數(shù)據(jù)的程序是用VC++語言編寫。為了數(shù)據(jù)的準確性,采集數(shù)據(jù)每20ms 刷新一次。這樣每20ms 檢測一次點火裝置、離合裝置、腳剎裝置、手剎裝置、油門裝置、檔位裝置的狀態(tài),并將檢測結(jié)果傳送給計算機。在駕駛的過程中,由于方向盤在不停的轉(zhuǎn)動,這就要求程序能夠?qū)崟r的檢測出方向盤的方向和角度。

  二、方向盤的位置檢測

  在實際過程中,要判斷方向盤的轉(zhuǎn)向以及轉(zhuǎn)動角度,也就是說首先要判斷左轉(zhuǎn)還是右轉(zhuǎn),然后判斷轉(zhuǎn)的角度。方向盤的轉(zhuǎn)動方向和轉(zhuǎn)動角度示意圖如圖2 所示,選用兩個光電感應(yīng)開關(guān)JK122,安裝在轉(zhuǎn)盤旁邊,x1 和x2 處為兩個光電感應(yīng)開關(guān)所放位置,當轉(zhuǎn)盤轉(zhuǎn)動時,有齒擋住光電感應(yīng)開關(guān),則輸出為1,反之輸出為0。

圖2 方向盤的轉(zhuǎn)動方向和轉(zhuǎn)動角度示意圖

  假設(shè)任意兩齒之間距離為d,只要x1 和x2 之間距離不等于n/2.d(n 為任意整數(shù)),則轉(zhuǎn)盤轉(zhuǎn)動時,x1、x2 兩處的輸出波形就將如圖3 所示。

圖3 x1 和x2 處的輸出波形

  由此可見,假設(shè)x1、x2 的初始狀態(tài)都為0,則正轉(zhuǎn)時其狀態(tài)變化為00—01—11—10—00, 而反轉(zhuǎn)時狀態(tài)變化為00—10—11—01—00。只要知道x1、x2 的當前狀態(tài)和下一狀態(tài),即可知道此時方向盤的轉(zhuǎn)向了。我們在時要判斷好初始狀態(tài)為00 這種情況。將x1、x2 信號分別接到兩個T 觸發(fā)器的輸入端上,并將反向后的信號作為觸發(fā)器的清零信號。當初始狀態(tài)為00 時,兩個觸發(fā)器輸出都為0,如果后一狀態(tài)為01,則觸發(fā)器T1 輸出為1,表示正轉(zhuǎn);如果后一狀態(tài)為10,則觸發(fā)器T2 輸出為1,表示反轉(zhuǎn)。由于緊接著的狀態(tài)肯定是11,所以觸發(fā)器清零后,等到狀態(tài)為00 又可以重新開始判斷。判斷轉(zhuǎn)向后,還要判斷轉(zhuǎn)動的角度。在這里我們又加入兩個T 觸發(fā)器T3 和T4,當輸入x1、x2 的狀態(tài)從11 變化到10,觸發(fā)器T3 輸出為1,反之,如果從11 變化到01,觸發(fā)器T4 輸出為1。最后,將四個觸發(fā)器的輸出信號相或后作為時鐘信號送到計數(shù)器中,并將T1、T3 的輸出信號相或后作為計數(shù)器的輸入信號,于是當方向盤正轉(zhuǎn)時計數(shù)器向上累加,而反轉(zhuǎn)時則向下遞減,最后通過讀出計數(shù)器的輸出數(shù)據(jù)即可得知方向盤的轉(zhuǎn)動角度。本文采用CPLD 技術(shù)設(shè)計控制電路,原理圖如圖4 所示。

圖4 CPLD 設(shè)計原理圖

由圖可知,CPLD 技術(shù)設(shè)計一般是一種“自頂而下”的設(shè)計,其設(shè)計過程如下:

 ?。?)行為設(shè)計;確定所設(shè)計的系統(tǒng)或CPLD 芯片的功能、性能及允許的芯片面積或成本。

  (2)結(jié)構(gòu)設(shè)計;根據(jù)該系統(tǒng)或CPLD 的特點,將其分解為接口清晰、相互關(guān)系明細、盡可能簡單的子系統(tǒng),得到1 個總體結(jié)構(gòu)。這個結(jié)構(gòu)可能包括算術(shù)運算單元、控制單元、數(shù)據(jù)通道、各種算術(shù)狀態(tài)機等。

 ?。?)邏輯設(shè)計;盡可能采用規(guī)則的邏輯結(jié)構(gòu)或采用自己經(jīng)過考驗的邏輯單元或模塊。

 ?。?)電路設(shè)計;將邏輯圖將轉(zhuǎn)換成電路圖,在很多情況下,這時需要進行硬件仿真以最終確定邏輯設(shè)計的正確性。

  最后,將設(shè)計好的電路經(jīng)過編譯,形成熔絲文件,將該文件下載到選定的CPLD 就成為了可以完成固定功能的ASIC 了。在整個開發(fā)程序中,采用軟件MAX+plusII 編程可實現(xiàn),選用Altera 公司生產(chǎn)的芯片EPM7128SLC84-15 。

  三、控制系統(tǒng)的軟件設(shè)計

  本系統(tǒng)軟件部分由檢測主程序、驅(qū)動儀表程序和方向盤等開關(guān)量輸入程序組成。檢測主程序包括數(shù)據(jù)采集模塊、CPLD 模塊,并且分配給儀表和開關(guān)量輸入不同的端口。在端口的初始化中將所有初始狀態(tài)設(shè)置為0,通過軟件的定時器掃描,各端口的狀態(tài)實時的傳給主程序,其主程序流程圖如圖5 所示。

圖5 主程序流程圖

  采用VC++語言將硬件中的狀態(tài)、角 度等數(shù)據(jù)交互信息做成一個硬件連接庫,它作為橋梁,把硬件所有的操作與軟件部分的視景系統(tǒng)緊密的結(jié)合在一起,成為一個完整的汽車駕駛模擬訓(xùn)練系統(tǒng)。


  4、結(jié)束語

  該系統(tǒng)運用CPLD技術(shù),充分地考慮了方向盤、離合器、腳剎、手剎、油門、換檔的相應(yīng)時間,通過協(xié)議,與軟件部分的視景系統(tǒng)緊密的結(jié)合在一起。并且通過本文設(shè)計的實例可以看出,合理地應(yīng)用CPLD技術(shù),大大提高了系統(tǒng)設(shè)計的靈活性,提高了系統(tǒng)的可靠性和集成度,縮短了產(chǎn)品研制的周期,同時還可以降低設(shè)計成本,節(jié)省PCB板的面積和布線難度。因此,在目前的電子設(shè)計中,充分利用CPLD的設(shè)計體系結(jié)構(gòu)將起到事半功倍的效果。目前,控制系統(tǒng)已經(jīng)制作出了推廣應(yīng)用,取得了良好的經(jīng)濟和社會效益,受到了學(xué)員的一致好評。本文作者創(chuàng)新點:整個硬件控制系統(tǒng)很多的研究人員主要采用單片機結(jié)合串口、并口進行通訊。由于單片機分配地址、布線較繁瑣,可靠性不強,單片機與單片機之間的數(shù)據(jù)交換也存在一定的局限性。我們采用了CPLD 技術(shù)、數(shù)據(jù)采集模塊能夠很方便的對硬件部分的點火情況、方向盤轉(zhuǎn)過的角度、旋轉(zhuǎn)方向、離合器、腳剎、手剎、油門、檔位的狀態(tài)進行編譯操作,及時進行數(shù)據(jù)交換,大大提高了控制系統(tǒng)的可控性和可靠性,降低了生產(chǎn)周期和成本。

  參考文獻:

  [1] 杜飛,李崴巍,鐘延炯,唐祥寶.虛擬現(xiàn)實技術(shù)在汽車駕駛模擬器上的應(yīng)用[J].微計算機信息,2006,10-2:292-295.

  [2] 何靜,李清峰.基于CPLD的混合邏輯乘法器的設(shè)計[J].微計算機信息,2006,2-2: 244-246.

  [3] 蔡忠法,章安元,修吉平.汽車駕駛模擬器模型與仿真的研究[J].浙江大學(xué)學(xué)報.Vol .36 No.3.



關(guān)鍵詞: 駕駛 模擬 裝置 控制 設(shè)計

評論


相關(guān)推薦

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

關(guān)閉