基于ARM的汽車安全氣囊系統(tǒng)設(shè)計
引言
隨著汽車的普及和行駛速度的加快,交通事故及傷亡人數(shù)也在逐年上升。在發(fā)生汽車碰撞事故時,如何有效地保護司機和乘員生命的安全是迫切需要解決的問題。安全氣囊作為與安全帶配合使用的被動保護裝置已經(jīng)普及,成為汽車構(gòu)件中保護乘員的主要裝備之一。
氣囊控制系統(tǒng)可分為機械式、模擬電子式和嵌入式3種類型。對于機械式和模擬電子式控制系統(tǒng),由于硬件的局限,靈活性受到很大限制,應(yīng)用日益減少。新一代的氣囊控制系統(tǒng)均為帶微控制器的嵌入式控制系統(tǒng)。嵌入式控制系統(tǒng)的控制算法由軟件實現(xiàn),極大地提高了系統(tǒng)的靈活性,并具有記錄事故數(shù)據(jù)和與上位機進(jìn)行通訊的功能。
汽車的安全氣囊要求能在一個極短的時間內(nèi)檢測到汽車碰撞事故的發(fā)生并控制氣囊啟爆。為了實現(xiàn)上述目標(biāo),要求安全氣囊控制系統(tǒng)的微控制器運算能力強、I/O口充足。基于此,選擇高性能的32位微控制器,研究并開發(fā)出較為實用的汽車安全氣囊控制系統(tǒng),具有一定的應(yīng)用和參考價值。本文在對國內(nèi)外先進(jìn)控制系統(tǒng)研究的基礎(chǔ)上,提出了基于ARMCortexM3內(nèi)核32位微控制器的汽車安全氣囊控制系統(tǒng)的設(shè)計方案,并分別進(jìn)行了臺車和實車試驗。
1 ARMCortexM3內(nèi)核與微控制器LM3S1138
ARM公司面向低成本應(yīng)用領(lǐng)域研發(fā)出32位CortexM3內(nèi)核處理器。該處理器有效地利用芯片空間,高度集成了外設(shè),與內(nèi)核組成了一個片上系統(tǒng)(SoC)。ARMCortexM3處理器結(jié)合了Thumb2指令32位哈佛微體系結(jié)構(gòu)。Thumb2技術(shù)提高了代碼密度,比32位編碼減少了26%內(nèi)存使用率,較16位編碼提高了25%性能。通過降低時鐘頻率,提供更低的功耗,降低了研發(fā)成本,提高了企業(yè)效率。芯片上實現(xiàn)了Tail-Chaining中斷技術(shù),該技術(shù)把中斷之間的延遲縮短到6個機器周期,在實際應(yīng)用中可減少70%中斷。
本系統(tǒng)微處理器選用TI公司基于ARMCortexM3內(nèi)核的LM3S1138工業(yè)級微控制器。其工作溫度范圍是-40~85°C,并具有良好的電磁兼容特性,可應(yīng)用于汽車電子領(lǐng)域。
2 系統(tǒng)工作原理與設(shè)計
2.1 系統(tǒng)的工作原理
安全氣囊控制系統(tǒng)主要由傳感器、自檢電路、觸發(fā)電路、通訊電路和報警電路組成,如圖1所示。
其工作原理為:上電后,系統(tǒng)進(jìn)行自檢,確定觸發(fā)電路是否可以正常工作。若觸發(fā)電路存在故障,報警電路進(jìn)行聲光報警,表明系統(tǒng)無法正常工作,通知駕駛員及時修理。當(dāng)自檢正常時,通過32位微處理器LM3S1138不斷對加速度傳感器MMA7260測得的信號進(jìn)行采樣。當(dāng)汽車受到一定角度內(nèi)的高速碰撞時,系統(tǒng)在經(jīng)過算法分析確認(rèn)之后,立即觸發(fā)氣囊包內(nèi)的點火器,氣囊迅速充滿氣體,阻擋駕駛員與汽車構(gòu)件之間可能發(fā)生的碰撞,通過氣囊上排氣孔的節(jié)流阻尼作用來緩沖吸收駕駛員動能,從而達(dá)到保護駕駛員安全的目的。
2.2 系統(tǒng)的硬件設(shè)計
2.2.1 加速度測量電路
本文選擇飛思卡爾公司的硅電容加速度傳感器MMA7260。它具有信號放大調(diào)理、低通濾波和補償功能。該器件的零加速度偏置、滿量程范圍和濾波特性均由制造廠家調(diào)定,不需要外接無源元件。由于該傳感器制作工藝上的高集成度和可靠性,最大程度地降低了外界的干擾。MMA7260直接采用IC集成封裝,可直接焊在PCB板上,調(diào)試方便。
LM3S1138處理器內(nèi)置8通道10位ADC,采樣速率可達(dá)1M/s,精度足夠用于安全氣囊。傳感器測得加速度后,從相應(yīng)的輸出管腳輸出電壓值。通過LM3S1138處理器內(nèi)置的ADC對電壓值進(jìn)行模數(shù)轉(zhuǎn)換,再存入到軟件設(shè)定的數(shù)組中。
加速度測量電路的硬件原理圖如圖2所示。
本系統(tǒng)只使用MMA7260三軸加速度傳感的X和Z兩軸來進(jìn)行水平方向的碰撞判斷。X軸方向測量汽車正面碰撞的加速度,Z軸方向測量汽車垂直方向的加速度。當(dāng)汽車高速駛過溝、坎路面時,會導(dǎo)致傳感器即使在沒有發(fā)生碰撞的情況下,也產(chǎn)生較大信號。此信號疊加在低速碰撞的碰撞波形上,導(dǎo)致微控制器誤認(rèn)為高速碰撞,進(jìn)而發(fā)生誤啟爆。鑒于此,當(dāng)汽車Z軸(垂直方向)。產(chǎn)生較大的加速度時,無論X軸方向加速度如何,安全氣囊均設(shè)計為不啟爆。避免了因為汽車高速駛過地面路障時,安全氣囊引爆所造成的不必要的損失,增強了路面抗干擾性。
2.2.2 點火觸發(fā)電路
由于氣囊氣體發(fā)生器的點爆時需20mA電流脈沖。若直接用LM3S1138的I/O口輸出高電平進(jìn)行引爆,驅(qū)動過小,無法滿足要求。系統(tǒng)選用電磁式繼電器,在LM3S1138輸出口的控制下可驅(qū)動大功率的負(fù)載。由于繼電器會產(chǎn)生較明顯的干擾,故在繼電器周圍加抗干擾電路的同時與光電耦合器配合使用,使得處理器與觸發(fā)電路光電隔離。當(dāng)碰撞發(fā)生時,安全氣囊對身材過于矮小的成年人或兒童不但沒有保護作用,引爆的巨大沖擊力甚至?xí)⑵鋸椝?。為了更好地實現(xiàn)安全點火和智能化點火,系統(tǒng)在觸發(fā)回路上設(shè)置一個座位壓力感應(yīng)裝置。如果有成年人入座,則裝置閉合,點火電路可正常工作。相反,如果裝置斷開,則表明無人入座或只有矮小成年人或兒童入座,觸發(fā)電路不能形成回路。此時,即使汽車發(fā)生碰撞且算法發(fā)出點火信號,安全氣囊也不爆破。這樣,既防止在無人入座的狀態(tài)下引爆氣囊而造成的經(jīng)濟損失,又避免了氣囊對矮小成年人和兒童造成的傷害。點火觸發(fā)電路的原理圖如圖3所示。
2.3 系統(tǒng)的軟件設(shè)計
系統(tǒng)采用CortexM3內(nèi)核處理器簡化了軟件開發(fā)環(huán)境。
針對LM3S1138等一系列的微控制器,TI官方免費提供了基于C語言(符合ANSIC標(biāo)準(zhǔn))。的驅(qū)動庫,它包含了眾多固件函數(shù)庫,對每一個外設(shè)都有相應(yīng)例程,可以很方便地根據(jù)應(yīng)用需要進(jìn)行修改和移植。因此在軟件編程時,無需匯編程序的軟件管理,完全可以用驅(qū)動庫C語言函數(shù)進(jìn)行編程開發(fā)。開發(fā)應(yīng)用程序時,利用驅(qū)動庫的例程進(jìn)行模塊化設(shè)計,不僅程序編寫方便,而且代碼簡潔且可讀性強。對編寫大型程序而言,采用驅(qū)動庫能增強可靠性和安全性,同時降低維護成本。故本系統(tǒng)軟件程序利用TI公司提供的驅(qū)動庫例程進(jìn)行模塊化程序設(shè)計,把整個系統(tǒng)程序分為若干個小程序或模塊,分別進(jìn)行獨立設(shè)計、編程和測試。最后將各模塊構(gòu)建一個完整的工程,完成應(yīng)用程序設(shè)計。將整個工程分成了主程序、啟動任務(wù)、定時采樣任務(wù)和串行通信任務(wù)等4大模塊。流程圖如圖4所示。