徐世濤 李傳海 胡 誠 左安友
(湖北民族學院理學院,湖北 恩施 445000)
汽車“黑匣子”又稱汽車工作信息記錄儀,可為司乘人員提供工況信息和發(fā)出各種超限報警,可有效防范車輛事故的發(fā)生,為交管部門公正處理交通事故提供科學、權(quán)威的依據(jù)[1]。汽車“黑匣子”的誕生和使用使道路交通事故率明顯下降,德國TTS、比利時WESTBEL GLUM公司統(tǒng)計情況表明,安裝使用汽車“黑匣子”后事故率降低了34%~53%[1]。然而,現(xiàn)有的汽車“黑匣子”普遍存在以下缺點導(dǎo)致其未被廣泛使用:首先,功能太過花哨導(dǎo)致成本過高、價格昂貴;其次,多采用GPS測速使得精度和準確性不夠高;再次,不同道路下限速值不能智能調(diào)節(jié),通用性不強;最后,缺乏交警的實時監(jiān)控。目前汽車車速表多為基于電磁感應(yīng)原理的機電式模擬車速表,抗震性能差、指針易抖動、體積大、生產(chǎn)工藝復(fù)雜[2];且只能為駕駛員提供少量信息,已遠遠不能滿足現(xiàn)代汽車的發(fā)展要求[3]。
針對以上情況,筆者設(shè)計了集數(shù)顯車速計于一體的低成本汽車“黑匣子”,并制作出實物裝置;該裝置能很好地實現(xiàn)汽車“黑匣子”的核心功能——防治超速,且包括了高精度的數(shù)顯車速計。
第一、精簡功能,降低成本。研究數(shù)據(jù)表明防范交通事故關(guān)鍵在于防治超速駕駛[4],因此本設(shè)計僅保留了汽車“黑匣子”的防治超速功能,功能的精簡極大地降低了生產(chǎn)成本。
第二、電子式數(shù)顯車速計,提升各項性能指標。采用電子式數(shù)顯車速計取代傳統(tǒng)車速表,可直觀地為駕駛員提供高精度的速度信息,并提高儀表的穩(wěn)定性、準確性和可靠性。
第三、雙重測速,保證精度?,F(xiàn)有汽車“黑匣子”多采用GPS測速,研究表明GPS測速在信號較強時精度較高,而信號較弱時測速穩(wěn)定性差且略有延遲,同時在低車速時測速精度也較低[5]。本設(shè)計則綜合數(shù)顯車速計和GPS測速進行雙重測速,在GPS信號較弱時系統(tǒng)采用車速計測得的速度,GPS信號較強且車速較大時系統(tǒng)采用GPS測得的速度:兩項結(jié)合以保證測速精度。
第四、限速值自動獲取,提高道路通用性。在不同道路環(huán)境下,現(xiàn)有汽車“黑匣子”均無自動獲取限速值的功能,導(dǎo)致其通用性受限。本設(shè)計借助大多數(shù)汽車裝有的GPS導(dǎo)航儀,從其本地地圖數(shù)據(jù)包中提取當前道路環(huán)境下的限速值,提高汽車“黑匣子”在不同道路環(huán)境下的通用性。
第五、交警遠程實時監(jiān)控,防范事故于未然。市售汽車“黑匣子”多從用戶的角度進行設(shè)計,超速違規(guī)數(shù)據(jù)并未實時反饋至交警端,僅用于交通事故責任追究之用。本設(shè)計則實時反饋超速數(shù)據(jù),交警收到超速信息后亦可遠程控制汽車,這樣可大大提高車輛緊急避險能力。
系統(tǒng)正常工作時,GPS和數(shù)顯車速計完成雙重測速,顯示于數(shù)顯車速計液晶屏上;當測得的速度大于系統(tǒng)自動獲取的當前道路環(huán)境下的限速值時,單片機(MCU)將速度值、GPS坐標和時間等數(shù)據(jù)通過特定算法加密后寫入SD卡(系統(tǒng)不記錄未超速的數(shù)據(jù)),用于記錄“違規(guī)事實”,并通過聲光報警裝置來警示司機,同時通過GSM模塊將超速信息發(fā)送到交警端。在汽車年檢時,交警可將SD卡中的加密數(shù)據(jù)讀出,并復(fù)原成可用數(shù)據(jù)。
圖1 系統(tǒng)框圖
如圖1,系統(tǒng)可劃分為九部分:1為GPS模塊,用于定位、GPS測速和獲取時間信息等;2為GSM模塊,用于遠程監(jiān)控和數(shù)據(jù)交換等;3為鍵盤模塊,用作輸入設(shè)備;4為顯示模塊,用于顯示速度等信息;5為頻率采樣模塊,用于捕獲并轉(zhuǎn)換車輪的轉(zhuǎn)動信號;6為聲光報警模塊,用于超速報警;7為SD卡模塊,用于存儲超速違章數(shù)據(jù);8為電源系統(tǒng),用于保障電能的持續(xù)穩(wěn)定供應(yīng);9為微控制器,用作系統(tǒng)的控制核心。
系統(tǒng)控制核心選用美國TI公司推出的16位超低功耗微處理器MSP430F149,它擁有5種節(jié)能模式、1.8 - 3.6V的寬工作電壓;內(nèi)置60KB+256B FLASH、2KB RAM,并采用了一般只有DSP中才有的16位多功能硬件乘法器,可有效地實現(xiàn)一些數(shù)字信號處理算法(如FFT、DTMF等)[6];本設(shè)計僅用到1個中斷口、25個I/O口、2個定時器、2個串行通信接口以及39.2KB的FLASH空間。
電源系統(tǒng)的設(shè)計須考慮三方面的因素:
第一、車載蓄電裝置多為直流12V–24V,因此其須能承受12V–24V直流寬電壓輸入;
第二、用電元件工作電壓多為3.3V,聲光報警模塊和顯示模塊的工作電壓為5V,因此其應(yīng)具備3.3V 、5V雙路輸出的能力;
第三、GSM模塊工作時峰值電流可達到2A,因此其應(yīng)至少具備2A輸出能力,實測表明在本設(shè)計中的電源完全能滿足供電需求。
GPS模塊選用RoyalTek公司的REB-3310模塊,該模塊具有低功耗、抗干擾能力強等特點,適用范圍包括汽車定位導(dǎo)航、地圖制作等[7]。為能自動獲取限速值,本設(shè)計將MCU的串口1引出并轉(zhuǎn)換成串口和USB接口,以便與GPS導(dǎo)航儀連接,并從GPS導(dǎo)航儀本地地圖數(shù)據(jù)包中提取當前道路環(huán)境下的限速值,同時也可從GPS導(dǎo)航儀中獲取GPS坐標、時間、速度等信息,此時可省去REB-3310模塊,以進一步降低成本。
GSM模塊選用可提供寬頻帶GSM應(yīng)用的西門子TC35模塊,該模塊的外圍電路少,電路設(shè)計簡單;TC35模塊中包括完整的RF電路,并且GSM協(xié)議可自動地在GSM基帶處理器中運行,這樣可簡化代碼,提高開發(fā)效率,為TC35的后期開發(fā)提供可靠的保證[8]。
考慮到按鍵響應(yīng)速度和MSP430F149豐富的I/O資源,本設(shè)計采用4按鍵獨立鍵盤,減少了I/O資源的浪費,也保證了流暢的按鍵響應(yīng)速度。4個按鍵分別連接MCU的P1.0 – P1.3引腳,并在設(shè)定車輪半徑大小時分別用于+1、+10、-1和確認操作。
顯示模塊采用SMC12864液晶,其使用ST7920作為控制芯片,與外部MCU接口采用并行或串行兩種方式,以適應(yīng)各種應(yīng)用場合[9],本設(shè)計采用并行接口方式以保證較好的顯示效果。
頻率采樣模塊由磁電式轉(zhuǎn)速傳感器和頻率信號轉(zhuǎn)換電路組成,磁電式轉(zhuǎn)速傳感器結(jié)構(gòu)簡單、測量精度高、輸出穩(wěn)定,因而應(yīng)用廣泛,它的輸出類似于正弦波信號,無論從波形或是幅值上考慮,這種信號都不能直接送入MCU,這就需要設(shè)計頻率信號轉(zhuǎn)換電路[10];磁電式轉(zhuǎn)速傳感器的輸出端接頻率信號轉(zhuǎn)換電路的Port_IN_frequency(+)和 Port_IN_frequency(-)端,以完成交流信號到數(shù)字信號的轉(zhuǎn)換,詳細電路設(shè)計如圖二。
圖2 頻率信號轉(zhuǎn)換電路
如圖2設(shè)計,頻率信號轉(zhuǎn)換電路由整流橋、穩(wěn)壓二極管,TLP521-1光耦器件,9014三極管,LED等構(gòu)成。整流橋?qū)⒔涣餍盘栟D(zhuǎn)換成直流信號,并將頻率加倍,頻率加倍可提高測量的精度;穩(wěn)壓二極管起穩(wěn)壓作用,保護光耦器件;TLP521-1光耦器件用于隔離模擬電路與數(shù)字電路,以保護數(shù)字電路,提高穩(wěn)定性和準確性;9014三極管用于放大光耦輸出級信號并驅(qū)動MCU;LED發(fā)光二極管用于頻率信號指示及工作狀態(tài)指示。
經(jīng)過頻率信號轉(zhuǎn)換電路后的脈沖信號直接送入單片機P2.0口,MCU利用定時器和P2.0口的中斷能力,記下0.5秒內(nèi)接收到的脈沖個數(shù),通過計算可得車輪轉(zhuǎn)速,在車輪半徑已知的情況下可進一步算得速度。
聲光報警模塊使用三色LED和高分貝喇叭,單片機P6.0 -P6.3引腳分別控制LED的三種色彩和高分貝喇叭的驅(qū)動電路,再由三極管構(gòu)成的驅(qū)動電路直接驅(qū)動高分貝喇叭。超速后,三色LED不斷閃爍,并伴隨高分貝喇叭的鳴叫一起發(fā)出超速警報。
SD卡模塊由SD卡和外圍接口電路構(gòu)成,其核心是用于存儲超速數(shù)據(jù)的SD卡,SD卡與MCU的連接采用SPI的方式,這樣在滿足數(shù)據(jù)傳輸率需求的同時也簡化了線路;本設(shè)計中MCU的兩個具備UART和SPI模式的USART接口均已被用作UART模式,因此需要通過四個普通I/O口模擬SPI端口進行數(shù)據(jù)存儲。
本設(shè)計利用IAR EW430編程軟件并基于C語言完成對MSP430F149單片機的程序設(shè)計工作,IAR EW430軟件提供了工程管理、程序編輯、代碼下載、調(diào)試等所有功能,可大大提高開發(fā)調(diào)試效率;且應(yīng)用于MSP430系列單片機開發(fā)的C語言,與標準C語言高度兼容,具有較強的移植性和擴展性;同時采用模塊化的程序設(shè)計思想,確保程序結(jié)構(gòu)一目了然,提高開發(fā)效率[11]。
采用了模塊化的思想,程序主體設(shè)計如圖3。下文將簡要介紹系統(tǒng)預(yù)初始化、系統(tǒng)初始化、車速測量、獲取GPS信息、短信的接收與處理、極限超速后的處理和普通超速后的處理的程序?qū)崿F(xiàn)過程。
系統(tǒng)預(yù)初始化過程首先進行看門狗、系統(tǒng)時鐘的設(shè)置,以保證MCU正常工作;隨后進行聲光報警模塊和顯示模塊的初始化,保證系統(tǒng)默認關(guān)閉聲光報警,以及信息的正常顯示。
系統(tǒng)初始化依次完成頻率采樣模塊、串口、SD模塊和GSM模塊的初始化。
a)頻率采樣模塊初始化:將Timer B配置成每0.5秒產(chǎn)生一次中斷,輔助測定頻率。
b)串口初始化:將USART0配置為8位數(shù)據(jù)、9600波特率的UART通信端口;將USART1配置為8位數(shù)據(jù)、開接收中斷、4800波特率的UART通信端口,分別為與GSM模塊和GPS模塊通信做準備。
c)SD模塊初始化:即模擬SPI端口I/O引腳的配置,須遵循SPI協(xié)議進行配置,為SD模塊存儲數(shù)據(jù)做準備。
d)GSM模塊初始化:初始化是通過串口0向GSM模塊發(fā)送初始化指令進行的,以便為短信的收發(fā)做準備。
首先列表簡介本程序中使用到的AT指令,詳見表一:
表一 程序中使用到的AT指令
配置好的串口0已經(jīng)準備好向GSM發(fā)送指令,通過以下程序片段向發(fā)送緩沖器寫入數(shù)據(jù)后,串口將按預(yù)置的模式自動開始發(fā)送數(shù)據(jù)。
以上程序完成GSM模塊的恢復(fù)出廠設(shè)置,通過更改相應(yīng)的代碼完成對GSM模塊的初始化。
車速測量主要利用Timer B的定時功能和P2.0口的中斷能力,車輪轉(zhuǎn)動頻率信號通過頻率采樣模塊后送入單片機P2.0口,單片機記下0.5秒內(nèi)接收到的脈沖個數(shù),計算可得車輪轉(zhuǎn)速,在車輪半徑已知的情況下可進一步算得速度,計算公式如下:
a)車輪頻率的計算式 :frequency =(counter×2)/2,在程序中的表達式如下程序段:
frequency = counter;
b)車速計算式 :v=2×PI×R×frequency×3.6,單位 Km/h,在程序中的表達式如下程序段:
v=2.0*PI*R*(double)frequency*3.6 ;
GPS信息的獲取是通過串口1以中斷的方式接收GPS模塊發(fā)回的數(shù)據(jù)包,解析數(shù)據(jù)包可獲取詳細的GPS數(shù)據(jù)。
a)GPS數(shù)據(jù)包格式[12]:REB-3310模塊支持NMEA- 0183協(xié)議的數(shù)據(jù)格式,以下僅介紹程序中使用到的GPGGA(地面速度信息)、GPVTG(GPS定位信息)類型的數(shù)據(jù)格式。
GPGGA,該數(shù)據(jù)幀的結(jié)構(gòu)及有用字段釋義如下:
GPVTG,該數(shù)據(jù)幀的結(jié)構(gòu)及有用字段釋義如下:
b)GPS數(shù)據(jù)包解析:在檢索到‘$GPGGA’關(guān)鍵字后,將數(shù)據(jù)存入緩沖區(qū),并從中提取出UTC時間和經(jīng)緯度(包括方向);同理檢索‘GPVTG’關(guān)鍵字可最終提取出GPS測得的車速。
短信的接收主要是接收發(fā)自交警的控制短信,此過程是通過串口0以中斷的方式接收GSM模塊發(fā)回的短消息;處理則是控制指令的提取、識別和執(zhí)行(剎車)。具體實現(xiàn)過程如圖4所示。
a)關(guān)鍵字檢索:GSM模塊初始化后,在收到短信時,會向MCU自動返回如下格式的數(shù)據(jù)包:
其中‘+CMT’是收到短信的關(guān)鍵字,可判斷是否收到短信;‘+86xxxxxxxxxxx’是短信發(fā)送方的號碼,可判斷短信是否來自交警;‘xxxxxx’是短信內(nèi)容,可提取得控制指令。
b)回復(fù)GSM模塊短信確認指令:GSM模塊收到短信后會將短信內(nèi)容通過串口發(fā)給MCU,MCU成功讀取短信后須在規(guī)定時間內(nèi)回復(fù)短信確認指令(AT+CNMA ),否則導(dǎo)致GSM模塊收到下一條短信后不會直接返回短信內(nèi)容,這會增加程序的復(fù)雜性。
當車速超過極限值時,系統(tǒng)將順次進行剎車、聲光報警、發(fā)送報警短信、存儲超速數(shù)據(jù)等操作,直至汽車剎?;蛘哌_到安全速度。
a)發(fā)送報警短信:超速后,MCU通過串口0發(fā)送“AT+CMGS=xxxxxxxxxxx ”指令設(shè)置接收號碼,發(fā)送含超速信息的字符串完成內(nèi)容的編寫,發(fā)送“0x1a”指令確認發(fā)送短信。
b)存儲超速數(shù)據(jù):超速數(shù)據(jù)將被存入SD卡,用于永久保存違規(guī)事實。本設(shè)計移植了完全開源的Petit FAT文件系統(tǒng),用以實現(xiàn)FAT文件的存儲,保證數(shù)據(jù)能在PC機上直接讀取;同時采用模擬SPI接口的方式進行數(shù)據(jù)存儲,詳見Petit FAT文件系統(tǒng)的開源資料。
普通超速后的處理與極限超速后的處理基本一致,僅去掉了“控制剎車”過程。
圖3 主程序流程圖
圖4 短信的接收與處理流程
本文綜合考慮了交警和駕駛員的因素,在保證交警絕對控制權(quán)的前提下,從汽車“黑匣子”防治超速的核心功能出發(fā),詳細設(shè)計了集數(shù)顯車速計于一體的低成本汽車“黑匣子”,并在項目經(jīng)費的支撐下完成了實物裝置的制作。
經(jīng)實測該裝置可實現(xiàn)如下功能:
a)通過GPS和數(shù)顯車速計雙重測速,可獲得高精度的速度值,并直觀地顯示于數(shù)顯車速計的液晶屏上,可取代傳統(tǒng)的車速表;
b)僅當速度大于系統(tǒng)自動獲取的當前道路環(huán)境下的限速值時,MCU才將速度值、GPS坐標和時間等數(shù)據(jù)通過特定算法加密后寫入SD卡,用于記錄“違規(guī)事實”,避免記錄無用數(shù)據(jù)造成浪費,減小數(shù)據(jù)的復(fù)雜性,以保證數(shù)據(jù)的真實性和穩(wěn)定性;
c)超速時,聲光報警警示司機已超速,同時通過GSM模塊將超速信息發(fā)至交警端,交警亦可遠程控制汽車;
d)當速度達到設(shè)定的最大值時,系統(tǒng)可控制汽車剎停;
e)在汽車年檢時,交警可從SD卡中解密出可用數(shù)據(jù)。
[1]高玉民.汽車黑匣子簡介[J].交通與運輸,2005,(02):22-23.
[2]長安大學.一種汽車電子組合儀表[P].中國專利:ZL201120536908.6,2012-08-01.
[3]張遠霞,陳建輝.基于ST72F561的電子式汽車組合儀表[J].電子世界,2012,(20):19-20.
[4]陳志軍.大型車輛危險駕駛行為監(jiān)測系統(tǒng)一體化設(shè)計及實現(xiàn)[D].武漢:武漢理工大學,2012.
[5]矯成武,姜桂艷,等.道路交通安全綜合檢測系統(tǒng)設(shè)計與開發(fā) [J],長春理工大學學報,2007,30(1):108-102.
[6]楊平,王威.MSP430系列超低功耗單片機及應(yīng)用[J].國外電子測量技術(shù),2008,27(12):48-50.
[7]周永兵,朱靖玉.“兩客一?!盙PS衛(wèi)星定位系統(tǒng)車載終端設(shè)計[P].電子設(shè)計工程,2012,20(09):86-88.
[8]胡薔,鮑強.TC35 GSM模塊在無線傳輸系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2005,(19):34-35.
[9]倪景峰,周騰,等.SMC12864液晶顯示器在密閉監(jiān)測系統(tǒng)中的應(yīng)用[J].測控技術(shù),2011,30(01):97-99.
[10]王旭峰,郭迎清.航空發(fā)動機轉(zhuǎn)速傳感器調(diào)理電路設(shè)計與仿真[J].電子測量技術(shù),2007,30(08):150-155.
[11]呂芮棟,張志文.以MSP430F149為核心的溫度檢測儀的硬件模塊和軟件設(shè)計[J],現(xiàn)代電子技術(shù),2012,35(01):199-201.
[12]宋嵩,李康,等.基于GPS/GSM和MSP430的巡檢手持終端的設(shè)計與實現(xiàn)[J].信息技術(shù)與信息化,2005,(03):82-85.