引言
隨著汽車的普及和行駛速度的加快,交通事故及傷亡人數(shù)也在逐年上升。在發(fā)生汽車碰撞事故時,如何有效地保護(hù)司機(jī)和乘員生命的安全是迫切需要解決的問題。安全氣囊作為與安全帶配合使用的被動保護(hù)裝置已經(jīng)普及,成為汽車構(gòu)件中保護(hù)乘員的主要裝備之一。
氣囊控制系統(tǒng)可分為機(jī)械式、模擬電子式和嵌入式3種類型。對于機(jī)械式和模擬電子式控制系統(tǒng),由于硬件的局限,靈活性受到很大限制,應(yīng)用日益減少。新一代的氣囊控制系統(tǒng)均為帶微控制器的嵌入式控制系統(tǒng)。嵌入式控制系統(tǒng)的控制算法由軟件實(shí)現(xiàn),極大地提高了系統(tǒng)的靈活性,并具有記錄事故數(shù)據(jù)和與上位機(jī)進(jìn)行通訊的功能。
汽車的安全氣囊要求能在一個極短的時間內(nèi)檢測到汽車碰撞事故的發(fā)生并控制氣囊啟爆。為了實(shí)現(xiàn)上述目標(biāo),要求安全氣囊控制系統(tǒng)的微控制器運(yùn)算能力強(qiáng)、I/O口充足?;诖?,選擇高性能的32位微控制器,研究并開發(fā)出較為實(shí)用的汽車安全氣囊控制系統(tǒng),具有一定的應(yīng)用和參考價值。本文在對國內(nèi)外先進(jìn)控制系統(tǒng)研究的基礎(chǔ)上,提出了基于ARMCortexM3內(nèi)核32位微控制器的汽車安全氣囊控制系統(tǒng)的設(shè)計(jì)方案,并分別進(jìn)行了臺車和實(shí)車試驗(yà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è)效率。芯片上實(shí)現(xiàn)了Tail-Chaining中斷技術(shù),該技術(shù)把中斷之間的延遲縮短到6個機(jī)器周期,在實(shí)際應(yīng)用中可減少70%中斷。
本系統(tǒng)微處理器選用TI公司基于ARMCortexM3內(nèi)核的LM3S1138工業(yè)級微控制器。其工作溫度范圍是-40~85°C,并具有良好的電磁兼容特性,可應(yīng)用于汽車電子領(lǐng)域。
2 系統(tǒng)工作原理與設(shè)計(jì)
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)的點(diǎn)火器,氣囊迅速充滿氣體,阻擋駕駛員與汽車構(gòu)件之間可能發(fā)生的碰撞,通過氣囊上排氣孔的節(jié)流阻尼作用來緩沖吸收駕駛員動能,從而達(dá)到保護(hù)駕駛員安全的目的。
2.2 系統(tǒng)的硬件設(shè)計(jì)
2.2.1 加速度測量電路
本文選擇飛思卡爾公司的硅電容加速度傳感器MMA7260。它具有信號放大調(diào)理、低通濾波和補(bǔ)償功能。該器件的零加速度偏置、滿量程范圍和濾波特性均由制造廠家調(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è)計(jì)為不啟爆。避免了因?yàn)槠嚫咚亳傔^地面路障時,安全氣囊引爆所造成的不必要的損失,增強(qiáng)了路面抗干擾性。
2.2.2 點(diǎn)火觸發(fā)電路
由于氣囊氣體發(fā)生器的點(diǎn)爆時需20mA電流脈沖。若直接用LM3S1138的I/O口輸出高電平進(jìn)行引爆,驅(qū)動過小,無法滿足要求。系統(tǒng)選用電磁式繼電器,在LM3S1138輸出口的控制下可驅(qū)動大功率的負(fù)載。由于繼電器會產(chǎn)生較明顯的干擾,故在繼電器周圍加抗干擾電路的同時與光電耦合器配合使用,使得處理器與觸發(fā)電路光電隔離。當(dāng)碰撞發(fā)生時,安全氣囊對身材過于矮小的成年人或兒童不但沒有保護(hù)作用,引爆的巨大沖擊力甚至?xí)⑵鋸椝?。為了更好地?shí)現(xiàn)安全點(diǎn)火和智能化點(diǎn)火,系統(tǒng)在觸發(fā)回路上設(shè)置一個座位壓力感應(yīng)裝置。如果有成年人入座,則裝置閉合,點(diǎn)火電路可正常工作。相反,如果裝置斷開,則表明無人入座或只有矮小成年人或兒童入座,觸發(fā)電路不能形成回路。此時,即使汽車發(fā)生碰撞且算法發(fā)出點(diǎn)火信號,安全氣囊也不爆破。這樣,既防止在無人入座的狀態(tài)下引爆氣囊而造成的經(jīng)濟(jì)損失,又避免了氣囊對矮小成年人和兒童造成的傷害。點(diǎn)火觸發(fā)電路的原理圖如圖3所示。
2.3 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)采用CortexM3內(nèi)核處理器簡化了軟件開發(fā)環(huán)境。
針對LM3S1138等一系列的微控制器,TI官方免費(fèi)提供了基于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è)計(jì),不僅程序編寫方便,而且代碼簡潔且可讀性強(qiáng)。對編寫大型程序而言,采用驅(qū)動庫能增強(qiáng)可靠性和安全性,同時降低維護(hù)成本。故本系統(tǒng)軟件程序利用TI公司提供的驅(qū)動庫例程進(jìn)行模塊化程序設(shè)計(jì),把整個系統(tǒng)程序分為若干個小程序或模塊,分別進(jìn)行獨(dú)立設(shè)計(jì)、編程和測試。最后將各模塊構(gòu)建一個完整的工程,完成應(yīng)用程序設(shè)計(jì)。將整個工程分成了主程序、啟動任務(wù)、定時采樣任務(wù)和串行通信任務(wù)等4大模塊。流程圖如圖4所示。
2.3.1 主程序模塊
為增加系統(tǒng)的執(zhí)行效率,實(shí)現(xiàn)多任務(wù)程序運(yùn)行,系統(tǒng)通過移植,嵌入了μC/OS-Ⅱ操作系統(tǒng)。程序流程圖中啟動任務(wù)模塊為嵌入μC/OS-Ⅱ操作系統(tǒng)時程序常用模式。
2.3.2 啟動任務(wù)模塊
在程序運(yùn)行時,先執(zhí)行啟動任務(wù),然后根據(jù)按鍵情況,執(zhí)行通訊任務(wù)或定時采樣任務(wù)。
2.3.3 定時采樣模塊
軟件中實(shí)現(xiàn)每1s采樣一次加速度并做A/D轉(zhuǎn)換,存儲在Flash中。若發(fā)生了撞車事故并符合算法的點(diǎn)火條件,記錄當(dāng)前數(shù)據(jù)存放地址,適時發(fā)出點(diǎn)火指令,啟爆氣囊,同時,再采樣90個數(shù)據(jù)點(diǎn)。在分析現(xiàn)場時,碰撞前的90個數(shù)據(jù)和撞車后的90個數(shù)據(jù)可記錄在LM3S1138內(nèi)置的Flash中,作為黑匣子信息分析事故原因。
本系統(tǒng)選用加入垂直量的移動窗積分算法。由于篇幅所限,將在后續(xù)文章中論述。
2.3.4 串行通訊模塊
事故發(fā)生后,PC機(jī)通過串行口讀出氣囊控制系統(tǒng)黑匣子中的數(shù)據(jù),作為分析事故之用。開發(fā)人員可自行設(shè)置讀取黑匣子水平方向加速度和垂直方向加速度數(shù)據(jù)的密碼。
3 性能試驗(yàn)
目前汽車業(yè)內(nèi)普遍采用的是5英寸(1英寸=254cm)30ms準(zhǔn)則來確定安全氣囊的最佳點(diǎn)火時刻。在汽車碰撞過程中,乘員相對于車體向前移動5英寸時刻的前30ms是氣囊的最佳點(diǎn)火時刻。其依據(jù)是大多數(shù)已系好安全帶的轎車乘員與轉(zhuǎn)向盤之間的間距為12英寸,氣囊充氣后的厚度為約為7英寸,氣囊從點(diǎn)爆到充滿氣體的時間為30ms。當(dāng)氣袋充滿氣體的時刻乘員恰好與氣袋接觸,氣囊保護(hù)作用最佳。若氣囊點(diǎn)火過早,當(dāng)乘員接觸到氣囊時,氣囊已泄氣,起不到保護(hù)作用。
當(dāng)氣囊點(diǎn)火過晚,乘員由于慣性前移,氣囊會把乘員打傷甚至致死。所以最佳點(diǎn)火時間是設(shè)計(jì)安全氣囊控制器的關(guān)鍵。而本系統(tǒng)利用積分窗算法和ARMCortex處理器相結(jié)合,取得了較好的效果,試驗(yàn)結(jié)果和該準(zhǔn)則基本吻合。
3.1 臺車試驗(yàn)
臺車試驗(yàn)在南昌大學(xué)科技學(xué)院汽車碰撞實(shí)驗(yàn)室進(jìn)行,如圖5所示。碰撞后,乘員身體前移的時刻比碰撞時刻滯后。滯后的大小主要取決于某款車型的吸能性能。由于臺車上只有安全氣囊控制系統(tǒng),并無任何吸能裝置,吸能幾乎為零。故在本試驗(yàn)中,認(rèn)為碰撞時刻即為乘員開始前移的時刻。臺車在滑行軌道上由繩索牽引。時速由40km/h逐漸遞增到60km/h。試驗(yàn)過程由高速攝像機(jī)錄制,通過慢放錄像,測得在碰撞時刻后氣囊打開時刻。數(shù)據(jù)如表1所示。
試驗(yàn)數(shù)據(jù)表明,氣囊打開時刻與最佳點(diǎn)火時刻偏差很小,在此偏差內(nèi)不會發(fā)生氣囊彈傷乘員或過早漏氣的現(xiàn)象。
3.2 實(shí)車試驗(yàn)
在國家某機(jī)動車檢測中心,用某型號國產(chǎn)轎車進(jìn)行了實(shí)車試驗(yàn)。碰撞類型為正面碰撞。駕駛員座椅上放置了假人,且已系好安全帶。碰撞時速為60km/h。碰撞對象為蜂窩鋁。假人傳感器數(shù)采系統(tǒng)采樣頻率為1kHz。通過前期試驗(yàn)可知,該款車型的吸能形變過程約持續(xù)50ms,故在實(shí)車試驗(yàn)前,對氣囊控制系統(tǒng)的程序進(jìn)行了相應(yīng)修改。試驗(yàn)現(xiàn)場錄像截圖如圖6所示。
通過現(xiàn)場放置的高速攝像機(jī)錄像的回放,可知乘員在向前移動了30ms后,安全氣囊準(zhǔn)確爆破。實(shí)車試驗(yàn)表明,安全系統(tǒng)控制系統(tǒng)可較為準(zhǔn)確地控制氣囊的最佳點(diǎn)火時刻。
4 結(jié)語
由于安全氣囊要求在極短的時間內(nèi)對碰撞事故作出處理,因此要求控制系統(tǒng)能在瞬間完成實(shí)時處理和復(fù)雜運(yùn)算的過程,即要求其具有較高的運(yùn)算速度,時滯較小,以適應(yīng)汽車安全氣囊的實(shí)時控制要求。而一般的8位單片機(jī)編程簡單,易于應(yīng)用,但信號處理能力不強(qiáng)。本系統(tǒng)采用基于ARMCortexM3內(nèi)核的32位高性能微控制器LM3S1138,嵌入μC/OS-Ⅱ操作系統(tǒng),利用移動積分窗爆破算法,完成了系統(tǒng)設(shè)計(jì)。臺車試驗(yàn)和實(shí)車試驗(yàn)表明,本系統(tǒng)可較為準(zhǔn)確的控制氣囊的最佳點(diǎn)火時刻,從而有效保護(hù)駕駛員的安全。系統(tǒng)軟件設(shè)計(jì)部分使用了TI官方免費(fèi)提供的驅(qū)動庫,采用模塊化設(shè)計(jì),簡化了開發(fā)過程。LM3S1138微控制器是片上系統(tǒng)(SoC)。集成了ADC、模擬比較器、flash存儲器等外設(shè)資源并且價格低廉,故構(gòu)建的系統(tǒng)集成度高、體積小、成本低。LM3S1138多達(dá)46個I/O口,增加了系統(tǒng)的可擴(kuò)展性,可在此基礎(chǔ)上研發(fā)多級智能型汽車安全氣囊控制系統(tǒng)。