孟旭,郭子英,張浩宇,柯宇佐
汽車A立柱盲區消除系統軟件設計*
孟旭,郭子英,張浩宇,柯宇佐
(遼寧工業大學汽車與交通工程學院,遼寧 錦州 121001)
文章設計了以嵌入式C語言編寫單片機的算法程序,通過具體的實車測試數據計算出來單片機實際的控制參數,理論與實際結合完成了控制系統設計,保證了動態測試的準確性。這套系統程序編譯可拓展性強,可適用于各種車型的A立柱盲區的監測。因此,具有很好的推廣價值。
嵌入式C語言;單片機;控制參數;A立柱盲區
近年來,行車安全越來越被人們所重視,由于駕駛員在行車過程中有80%的信息來自于駕駛員的視覺觀察,車輛行駛過程中存在60°的死角范圍[1-2],因此,行駛過程中駕駛員視野盲區受到了廣泛關注。其中,汽車A立柱遮擋產生的駕駛員視野盲區引起的行車安全隱患是其中之一影響行車安全隱患。因此,本文采用單片機智能控制系統,根據轉彎幅度和行駛的車速有效的實現凸鏡的偏轉角度的自動控制,從而有效的實現汽車A立柱盲區的有效監測,達到消除A立柱盲區的作用,而對于單片機控制系統的良好運行是要靠算法的有效實現來完成的,單片機又是依靠對于嵌入式算法程序設計來完成相關的功能,所以本文對于采用嵌入式C語言設計算法程序進行了較為詳細的說明。
應用嵌入式C語言來編寫系統程序。本設計采用模塊化軟件設計,編寫了初始化程序、AD轉換程序、按鍵程序、繼電器控制程序等,系統軟件總體流程圖如圖1所示。
系統經初始化以后,主程序通過調用各子程序完成預定動作,達到控制繼電器的導通與斷開的目的。
在單片機電子系統中,嵌入式軟件程序最先執行的是一些初始化程序,包括:系統時鐘初始化,各部件初始化,設定引腳的輸入輸出特性等[3]。在本系統設計中也需要進行一些硬件的初始化代碼編寫。
為使單片機具有對外或內部隨機發生的事件可處理而設計的。中斷功能很大程度上提高了單片機處理外部或內部事件的能力。它也是單片機最重要的功能之一。52單片機一共有6個中斷源,當定時器計數器記滿后,會產生中斷,及時通知CPU該如何處理[4]。

圖1 系統軟件總圖
中斷服務程序的寫法:
C51的中斷函數格式如下:
viod函數名()interrupt 中斷號 using 工作組
中斷服務程序
中斷函數不能返回任何值,所以最前面用viod;后面緊跟函數名,名字可以隨便起,但不要與C語言中的關鍵字相同;中斷函數不帶任何參數,所以函數名后面的小括號內為空;中斷號是指單片機中幾個中斷源的序號,這個序號是編譯器識別不同中斷的唯一符號,因此在寫中斷服務程序時務必要寫正確;最后的“using 工作組”是指這個中斷函數使用單片機內存中4組工作寄存器中的哪一組,C51編譯器在編譯程序時會自動分配工作組,因次,最后這句話我們通常省略不寫。
本系統主要C語言代碼如下所示:
延遲函數里執行的都是空語句,也就是說通過循環執行空語句來達到延遲的目的[5]。每執行一條語句,即使是空語句都要耗費電腦一些處理時間的,就是因為這個,在延遲函數里寫一些無關緊要的東西,用來浪費電腦處理時間,從而達到延遲目的。
延時函數具體編程程序代碼如下:
A/D轉換程序
首先判斷A/D轉換是否允許進行,當ST由低變高時AD開始轉換,等待EOC變為低電平,表明轉換結束,轉換結束后將OE口拉高表明開啟數據輸出,再讀取轉換數據結果,把數據存到DateResult中,完成A/D轉換[6]。流程圖如圖2所示。

圖2 A/D轉換程序框圖
根據具體的測試數據對觀測視鏡的延時時間進行計算。由實驗得出,汽車觀測視鏡在時也可見范圍內的后視鏡左側偏轉角度是:
Rz=36°-24°=12° (1)
而在視鏡左偏轉到約36°會出現視鏡片內視野盲區,而測定的視鏡的正常位置角度約在24°左右,因此可以計算得出視鏡右偏轉的最長時間為:
Tz=7″-3″=4″ (2)
視鏡左偏轉的角速度是:
z=(12°)/4=3°/s (3)
同理,視鏡右偏轉可見范圍內的偏轉角為:
RR=32°-19°=13° (4)
因為在視鏡右偏轉到約32°左右會出現視野盲區,而測定的視鏡右偏的常規位置約為19°,就能得到視鏡右偏轉的最長時間是:
TR=8″-4″=3.5″ (5)
計算得出視鏡右偏轉角速度為:
R=(13°)/4≈3.25°/s (6)
最終可以計算出視鏡平均的偏轉角速度為:
=(3.25°/s + 3°/s)/2=3.125°/s (7)
設定汽車最高時速為220km/h計算出每個檔位的間隔時速為22km/h[7-8],由此可以采用差值法計算出對應的每個車速的具體的延時時間。
為了有效的解決A立柱產生盲區,本文設計了以單片機為控制核心的盲區消除系統設計,而嵌入式算法程序是單片機控制核心,對算法程序進行了有效的設計,結合具體的實驗測試數據計算出來視鏡偏角的實際偏轉速度,這樣系統設計更加有據可依,保證系統設計更加精確,有利于提高行車的安全性。
[1] 覃定林,黃竟.駕駛盲區:看不見的危險[J].2011,(4):68-69.
[2] 王昊.汽車視野安全的研究與進展[J].江蘇理工大學學報2001,(2): 47-48.
[3] 王暄.現代汽車安全[M].北京:人民交通出版社,2006:124-131.
[4] 曹治琬.電動后視鏡[J].汽車電器,2004,(4):58-59.
[5] 黃天澤.汽車車身結構與設計[M].北京:機械工業出版社,2011: 212 -224.
[6] 龔運新.單片機C語言開發技術[M],清華大學出版社2009:36-43.
[7] 徐本財,鮑宇.轎車智能后視鏡開關及拄制控制線路優化設計[J].黑龍交通科技,2008,(11):105-107.
[8] 黃金陵,汪成應.汽車視野設計CAD系統開發及應用[J].吉林工業大學,2002,(1):21-28.
Software Design of Eliminating Blind Area of A-pillar*
Meng Xu, Guo Ziying, Zhang Haoyu, Ke Yuzuo
( Automobile & Traffic Engineering College, Liaoning University of Technology, Liaoning Jinzhou 121001 )
In this paper, the algorithm program of single-chip microcomputer is designed with embedded C language, and the actual control parameters of single-chip microcomputer are calculated through the specific real vehicle test data. The control system design is completed by combining theory with practice, which ensures the accuracy of dynamic test. This system can be used to monitor the blind area of A-pillar of various models. Therefore, it has a good promotion value.
Embedded C language; Single-chip microcomputer;Control parameters; Blind area of A-pillar
U462.1
A
1671-7988(2019)24-127-03
U462.1
A
1671-7988(2019)24-127-03
10.16638/j.cnki.1671-7988.2019.24.041
孟旭,就職于遼寧工業大學汽車與交通工程學院。
2019年遼寧省/遼寧工業大學大學生創新創業項目(20191015 4041汽車A立柱盲區消除系統的設計與開發)。