隨著社會經(jīng)濟的發(fā)展,汽車已成為人們工作和生活不可缺少的一種交通工具,給人們生活帶來方便的同時交通安全也成為人們?nèi)找骊P注的焦點問題。研究表明駕駛員的違章操作是導致交通事故頻發(fā)主要原因之一,所以如何有效遏制交通違章、約束駕駛員不良駕駛習慣,提高車輛的運營安全已經(jīng)成為一個亟待解決的重大課題。而車載電子裝置與汽車本身關系不大,其開發(fā)條件要求相對較低,并且其適用環(huán)境更加廣泛,因此車載電子裝置的開發(fā)正在成為一個新的熱點。
1 車載安全預警系統(tǒng)功能
本文中的車載安全預警系統(tǒng)設計基于ARM Cortex—M3內(nèi)核的STM32系列處理器,融合了藍牙無線、定位導航、慣性導航、GSM無線通信等多種高科技技術。主要實現(xiàn)功能有:
(1)超時、超速的實時檢測:通過GPS對車輛的行駛狀態(tài)實時跟蹤定位,獲取行駛的時間和速度信息,判斷駕駛員是否超勞,車輛是否超速。
(2)GPS/加速度計組合測速:利用慣性敏感器件加速度計解決GPS使在涵道、山谷內(nèi)等,出現(xiàn)弱信號或無信號的定位問題,通過自適應卡爾曼濾波數(shù)據(jù)融合算法獲取更精確的定位信息。
(3)車載電話功能:實現(xiàn)藍牙免提功能,使駕駛員可以專注于駕駛,保證車主在通話過程中的駕駛安全。
(4)行駛狀態(tài)檢測:通過加速度傳感器,對行車三維方向上的加速度值進行測量,判斷車輛行駛是否超出加速度安全閾值。
(5)遠程監(jiān)控功能:基于無線移動通信技術,實現(xiàn)對車輛的遠程動態(tài)監(jiān)控管理,當存在駕駛安全隱患或事故發(fā)生時通過無線網(wǎng)絡將當前狀態(tài)消息(位置、速度、加速度、時間)及時上報,以便車輛監(jiān)管部門采取相應的管理調(diào)度或急救措施。
(6)監(jiān)控報警:當駕駛員超速或疲勞駕駛時通過聲光報警及時糾正駕駛者的不規(guī)范操作。
2 系統(tǒng)的硬件設計
根據(jù)系統(tǒng)設計的功能要求,安全預警系統(tǒng)的整體結構框如圖1所示。
設計中選用的主控芯片為STM32增強型系列的STM32F103RE,STM32系列是意法半導體推出的專為高要求、低成本、低功耗的嵌入式應用設計的Cortex-M3內(nèi)核的ARM控制器。2.0~3.6 V的工作電壓,時鐘頻率可達到72 MHz,內(nèi)置512 KB FLASH和64 KB SRAM,帶片選的靜態(tài)存儲器控制器,支持CF卡、SRAM、NAND存儲器。片上集成有三路16位數(shù)模轉換器、兩路I2C、五路UART和三路SPI端口等,其方便的擴展性及豐富的通信接口非常適用于本系統(tǒng)實現(xiàn)與多個外部功能模塊的通信控制。
2.2 定位、測速電路設計
GPS是實現(xiàn)車輛定位及測速功能的核心模塊,這里選用的是瑞士u-blox公司生產(chǎn)的LEA-5S型號的GPS模塊,其具有22.4 mmx17 mm超小封裝,4 Hz定位更新速率,65 mW的低功耗以及-160 dBm的高追蹤靈敏度。模塊的串口。TTL電平是3 V,與STM32的通信電平一致,因此應用中直接將模塊的Pin3 TxD,Pin4 RxD與主控芯片PA3 USART2_RX和PA2 USART2_TX相連。
通信協(xié)議遵循NMEA-0183標準,協(xié)議的語句格式以“$”開始,以“”結束,主控芯片可以通過串口讀取模塊上傳的數(shù)據(jù)幀$GP GGA(全球定位信息)和$GPVTG(地面速度信息)語句,從中提取需要的經(jīng)緯度、航向、速度、時間等信息。
系統(tǒng)設計中選用Analog Device公司生產(chǎn)的型號為ADXL345三軸重力加速度計,主要完成的功能有:輔助測速,因其不受地理位置和周圍建筑的影響,運用擴展的Kalman濾波算法,解決GPS在動態(tài)環(huán)境中信號失鎖和周跳問題,保證系統(tǒng)測速功能的實時性;對汽車行駛過程中的加速度檢測,通過檢測的數(shù)據(jù)判斷車輛是否行駛在安全的加速度閾值內(nèi)。ADXL345是一款超低功耗,小巧纖薄的3軸加速計,可以對高達±16g的加速度進行高分辨率(13位)測量,車載系統(tǒng)中應用了芯片上的I2C通信接口。
2.3 藍牙免提模塊設計
設計中采用了一款集成度較高的BC05MM-EXT藍牙模塊,其內(nèi)核芯片是英國CSR公司的BC05 Bluecore芯片,執(zhí)行標準Bluetooth 2.1+ED R,模塊內(nèi)嵌的通信協(xié)議支持HS/HF、A2DP,可實現(xiàn)免提和高質(zhì)量的音頻播放功能,內(nèi)置噪聲消除和回音處理電路。
該模塊的外圍電路主要包括通信電路、音頻輸出電路、MIC濾波電路、狀態(tài)指示電路、按鍵輸入電路。STM32通過串口與藍牙模塊相連,主要完成的任務是與帶藍牙功能的手機之間進行通信;按照模塊支持的A2DP協(xié)議,音頻輸出電路調(diào)試階段采用的是100 mW的立體聲耳機放大器TS482,匹配32 Ω的揚聲器;MIC輸入電路主要是對音頻信號的濾波處理,采用了差分輸入設計提高抗干擾性能,保證免提的音頻效果;狀態(tài)指示和按鍵輸入部分由主控芯片外接發(fā)光二級管和獨立按鍵實現(xiàn)。
設計中應用結構簡單的倒F天線,可直接在PCB板上按照適用藍牙系統(tǒng)的倒F天線尺寸在適當?shù)牟及逦恢美L制天線。
2.4 GSM模塊設計
常用的GSM短信模塊有TC35,TC35I。因前者電壓范圍稍微大一些,考慮到GSM模塊對電源的敏感性,所以設計中選用的是西門子公司推出的無線通信GSM模塊(雙頻900/1 800 MHz)TC35,支持Text和PDU格式的SMS(Short Message Service,短消息),可通過AT命令或關斷信號實現(xiàn)重啟和故障恢復。
TC35外圍電路主要由電源電路、數(shù)據(jù)通信電路、IGT啟動電路和SIM卡電路組成。在啟動電路設計中實現(xiàn)可靠的啟動脈沖十分關鍵,按照TC35的設計要求,上電后需要給模塊的IGT腳加一個延時大于100 ms的低電平脈沖,并且電平下降時間要小于1 ms,供電電壓大于3.3 V才能使TC35進入工作狀態(tài),設計中通過STM32的I/O引腳推挽輸出方式實現(xiàn)TC35的啟動。模塊對電源的穩(wěn)定性要求非常高,在通信時網(wǎng)絡連接時的瞬間電流峰值可達2 A,尤其是在信號不良時,這種情況在電源電路設計時增加了必要的電容濾波部分。通信接口為模塊的18腳RXD,19腳TXD與主控芯片USART3串口通信。
2.5 電源設計
汽車上電子設備較多,使得車內(nèi)的電磁環(huán)境也較復雜,在這種環(huán)境中汽車電子產(chǎn)品電源性能的好壞直接影響到電子設備的可靠性。根據(jù)各模塊的供電需求,系統(tǒng)采用車內(nèi)點煙器提供的12 V電源,經(jīng)LM2596為核心的開關穩(wěn)壓電源芯片為系統(tǒng)提供5 V和3.3 V的車載系統(tǒng)工作電壓,LM2596其輸入范圍可達40 V,輸出電流可達3 A,并且功耗小、效率高、具有很好的線性和負載特性,非常適合該應用系統(tǒng)。選用LM259 6-3.3將車內(nèi)電源轉化成車載系統(tǒng)內(nèi)主控芯片STM32、加速度傳感器和GPS使用的3.3 V電源;同時選用LM2596.5.0為GSM提供5 V工作電壓。LM2596—5.0應用電路如圖2所示,LM2596—3.3的應用電路和LM2596-5.0原理基本相同。
如圖2所示,電源電路設計考慮到應用環(huán)境,采取了相應的抗干擾和過流保護措施。為了防止電流過大,輸入端串接自恢復保險絲F1保護系統(tǒng)的安全性;D1,D2構成電源極性反接保護電路;C1,C2,C3電容并接電路去除車內(nèi)電源信號的紋波和高頻噪聲;輸出端L1可以抑制紋波,使LM2596輸出穩(wěn)定的電壓;電源輸出端對地連接的C4,C5旁路電容也起到穩(wěn)定環(huán)路的作用。
3 系統(tǒng)的軟件設計
STM32開發(fā)工具選用的是ARM公司4.22版的KeilMDK,采用μVision 4開發(fā)環(huán)境,通過片上集成的JTAG調(diào)試接口通過JLINK V8仿真器與PC相連。
3.1 μC/OS-Ⅱ的簡介與移植
為了便于系統(tǒng)的升級與維護,設計中采用了嵌入式實時操作系統(tǒng)μC/OS-Ⅱ。該操作系統(tǒng)具有執(zhí)行效率高、占用空間小實時性能優(yōu)良和可擴展性強等特點,最小內(nèi)核可編譯至2 KB,非常適合FLASH容量較小的系統(tǒng)使用。
μC/OS-Ⅱ的文件體系結構如圖3所示。
由圖3中可以看出,μC/OS-Ⅱ的絕大部分是與處理器和其他硬件無關的代碼,大大降低了移植的工作量,移植過程中需要修改的源代碼文件有:
(1)在內(nèi)核頭文件OS_CPU.H中設置與處理器和編譯器相關的代碼,針對具體處理器的字長重新定義一系列數(shù)據(jù)類型,聲明用于開關中斷、堆棧的增長方向和任務切換的宏。
(2)在OS_CPU_A.ASM中實現(xiàn)與處理器相關的函數(shù),關中斷函數(shù)OS_CPU_SR_Save();恢復中斷函數(shù)OS_CPU_SR_Restore();啟動最高優(yōu)先級任務運行OSStartHighRdy();任務切換OSCtxSw()和中斷切換OSIntCtxSw()。
(3)在OS_CPU_C.C中用C語言編寫與CPU相關的函數(shù)。主要是任務堆棧初始化函數(shù)OSTaskStkInit()和系統(tǒng)HooK函數(shù)。
整個移植的代碼都在上面三個文件中,實際只要在啟動文件中修改任務調(diào)度函數(shù)以及節(jié)拍函數(shù)的中斷入口就完成了操作系統(tǒng)的移植。
3.2 μC/OS-Ⅱ的任務規(guī)劃
操作系統(tǒng)按照功能模塊劃分為多個任務,并根據(jù)各個任務實時性的要求設置相應的運行優(yōu)先級。分別是:振和內(nèi)核時鐘的定義和初始化,對功能I/O端口的功能定義,初始化中斷向量表和堆棧以及各模塊的全局變量和數(shù)據(jù)結構,完成系統(tǒng)的初始化后永久掛起;AppTask_GSM負責與TC35模塊有關的控制功能如模塊的初始化、短信的發(fā)送;AppTask_GPS負責對LEA-5S模塊的數(shù)據(jù)讀取和解析;AppTask_Blue負責藍牙語音模塊的控制功能,包括接聽、拒接、回撥、結束通話等功能;AppTask_ADXL負責ADXL345模塊的數(shù)據(jù)讀取和解析;AppTask_IED為工作狀態(tài)指示;AppTask_Key為按鍵控制;監(jiān)控系統(tǒng)穩(wěn)定的看門狗任務AppTask_Dog;以及系統(tǒng)運行自帶的空閑任務OSTaskldle。
系統(tǒng)整體的任務調(diào)度流程圖如圖4所示。
4 測試
對于該車載系統(tǒng)下面給出基于LabVIEW的GPS實車行駛速度測試,測試界面如圖5所示。
5 結語
本文詳細描述了基于STM32車載安全預警系統(tǒng)硬件和軟件的設計方案。對整個車載系統(tǒng)進行了實車測試,測試結果表明整個系統(tǒng)符合預期的目標,可以實現(xiàn)對車輛的定位、超時、超速、加速度超值、并通過GSM將行車異常狀態(tài)參數(shù)和定位信息發(fā)送至遠程監(jiān)控中心,移植的μC /OS-Ⅱ使得該系統(tǒng)具有良好的穩(wěn)定性和實時性,能滿足現(xiàn)代車輛安全遠程監(jiān)管的功能需求。
評論
查看更多