新聞中心

EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于ARM的汽車安全氣囊控制系統(tǒng)設(shè)計(jì)

基于ARM的汽車安全氣囊控制系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2011-06-08 來(lái)源:網(wǎng)絡(luò) 收藏

  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所示。

程序流程圖

  2.3.1 主程序模塊

  為增加系統(tǒng)的執(zhí)行效率,實(shí)現(xiàn)多任務(wù)程序運(yùn)行,系統(tǒng)通過(guò)移植,嵌入了μC/OS-Ⅱ操作系統(tǒng)。程序流程圖中啟動(dòng)任務(wù)模塊為嵌入μC/OS-Ⅱ操作系統(tǒng)時(shí)程序常用模式。

  2.3.2 啟動(dòng)任務(wù)模塊

  在程序運(yùn)行時(shí),先執(zhí)行啟動(dòng)任務(wù),然后根據(jù)按鍵情況,執(zhí)行通訊任務(wù)或定時(shí)采樣任務(wù)。

  2.3.3 定時(shí)采樣模塊

  軟件中實(shí)現(xiàn)每1s采樣一次加速度并做A/D轉(zhuǎn)換,存儲(chǔ)在Flash中。若發(fā)生了撞車事故并符合算法的點(diǎn)火條件,記錄當(dāng)前數(shù)據(jù)存放地址,適時(shí)發(fā)出點(diǎn)火指令,啟爆氣囊,同時(shí),再采樣90個(gè)數(shù)據(jù)點(diǎn)。在分析現(xiàn)場(chǎng)時(shí),碰撞前的90個(gè)數(shù)據(jù)和撞車后的90個(gè)數(shù)據(jù)可記錄在LM3S1138內(nèi)置的Flash中,作為黑匣子信息分析事故原因。

  本系統(tǒng)選用加入垂直量的移動(dòng)窗積分算法。由于篇幅所限,將在后續(xù)文章中論述。

  2.3.4 串行通訊模塊

  事故發(fā)生后,PC機(jī)通過(guò)串行口讀出氣囊控制系統(tǒng)黑匣子中的數(shù)據(jù),作為分析事故之用。開(kāi)發(fā)人員可自行設(shè)置讀取黑匣子水平方向加速度和垂直方向加速度數(shù)據(jù)的密碼。



評(píng)論


相關(guān)推薦

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

關(guān)閉