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