徐世濤 李傳海 胡 誠 左安友
(湖北民族學院理學院,湖北 恩施 445000)
汽車“黑匣子”又稱汽車工作信息記錄儀,可為司乘人員提供工況信息和發出各種超限報警,可有效防范車輛事故的發生,為交管部門公正處理交通事故提供科學、權威的依據[1]。汽車“黑匣子”的誕生和使用使道路交通事故率明顯下降,德國TTS、比利時WESTBEL GLUM公司統計情況表明,安裝使用汽車“黑匣子”后事故率降低了34%~53%[1]。然而,現有的汽車“黑匣子”普遍存在以下缺點導致其未被廣泛使用:首先,功能太過花哨導致成本過高、價格昂貴;其次,多采用GPS測速使得精度和準確性不夠高;再次,不同道路下限速值不能智能調節,通用性不強;最后,缺乏交警的實時監控。目前汽車車速表多為基于電磁感應原理的機電式模擬車速表,抗震性能差、指針易抖動、體積大、生產工藝復雜[2];且只能為駕駛員提供少量信息,已遠遠不能滿足現代汽車的發展要求[3]。
針對以上情況,筆者設計了集數顯車速計于一體的低成本汽車“黑匣子”,并制作出實物裝置;該裝置能很好地實現汽車“黑匣子”的核心功能——防治超速,且包括了高精度的數顯車速計。
第一、精簡功能,降低成本。研究數據表明防范交通事故關鍵在于防治超速駕駛[4],因此本設計僅保留了汽車“黑匣子”的防治超速功能,功能的精簡極大地降低了生產成本。
第二、電子式數顯車速計,提升各項性能指標。采用電子式數顯車速計取代傳統車速表,可直觀地為駕駛員提供高精度的速度信息,并提高儀表的穩定性、準確性和可靠性。
第三、雙重測速,保證精度。現有汽車“黑匣子”多采用GPS測速,研究表明GPS測速在信號較強時精度較高,而信號較弱時測速穩定性差且略有延遲,同時在低車速時測速精度也較低[5]。本設計則綜合數顯車速計和GPS測速進行雙重測速,在GPS信號較弱時系統采用車速計測得的速度,GPS信號較強且車速較大時系統采用GPS測得的速度:兩項結合以保證測速精度。
第四、限速值自動獲取,提高道路通用性。在不同道路環境下,現有汽車“黑匣子”均無自動獲取限速值的功能,導致其通用性受限。本設計借助大多數汽車裝有的GPS導航儀,從其本地地圖數據包中提取當前道路環境下的限速值,提高汽車“黑匣子”在不同道路環境下的通用性。
第五、交警遠程實時監控,防范事故于未然。市售汽車“黑匣子”多從用戶的角度進行設計,超速違規數據并未實時反饋至交警端,僅用于交通事故責任追究之用。本設計則實時反饋超速數據,交警收到超速信息后亦可遠程控制汽車,這樣可大大提高車輛緊急避險能力。
系統正常工作時,GPS和數顯車速計完成雙重測速,顯示于數顯車速計液晶屏上;當測得的速度大于系統自動獲取的當前道路環境下的限速值時,單片機(MCU)將速度值、GPS坐標和時間等數據通過特定算法加密后寫入SD卡(系統不記錄未超速的數據),用于記錄“違規事實”,并通過聲光報警裝置來警示司機,同時通過GSM模塊將超速信息發送到交警端。在汽車年檢時,交警可將SD卡中的加密數據讀出,并復原成可用數據。

圖1 系統框圖
如圖1,系統可劃分為九部分:1為GPS模塊,用于定位、GPS測速和獲取時間信息等;2為GSM模塊,用于遠程監控和數據交換等;3為鍵盤模塊,用作輸入設備;4為顯示模塊,用于顯示速度等信息;5為頻率采樣模塊,用于捕獲并轉換車輪的轉動信號;6為聲光報警模塊,用于超速報警;7為SD卡模塊,用于存儲超速違章數據;8為電源系統,用于保障電能的持續穩定供應;9為微控制器,用作系統的控制核心。
系統控制核心選用美國TI公司推出的16位超低功耗微處理器MSP430F149,它擁有5種節能模式、1.8 - 3.6V的寬工作電壓;內置60KB+256B FLASH、2KB RAM,并采用了一般只有DSP中才有的16位多功能硬件乘法器,可有效地實現一些數字信號處理算法(如FFT、DTMF等)[6];本設計僅用到1個中斷口、25個I/O口、2個定時器、2個串行通信接口以及39.2KB的FLASH空間。
電源系統的設計須考慮三方面的因素:
第一、車載蓄電裝置多為直流12V–24V,因此其須能承受12V–24V直流寬電壓輸入;
第二、用電元件工作電壓多為3.3V,聲光報警模塊和顯示模塊的工作電壓為5V,因此其應具備3.3V 、5V雙路輸出的能力;
第三、GSM模塊工作時峰值電流可達到2A,因此其應至少具備2A輸出能力,實測表明在本設計中的電源完全能滿足供電需求。
GPS模塊選用RoyalTek公司的REB-3310模塊,該模塊具有低功耗、抗干擾能力強等特點,適用范圍包括汽車定位導航、地圖制作等[7]。為能自動獲取限速值,本設計將MCU的串口1引出并轉換成串口和USB接口,以便與GPS導航儀連接,并從GPS導航儀本地地圖數據包中提取當前道路環境下的限速值,同時也可從GPS導航儀中獲取GPS坐標、時間、速度等信息,此時可省去REB-3310模塊,以進一步降低成本。
GSM模塊選用可提供寬頻帶GSM應用的西門子TC35模塊,該模塊的外圍電路少,電路設計簡單;TC35模塊中包括完整的RF電路,并且GSM協議可自動地在GSM基帶處理器中運行,這樣可簡化代碼,提高開發效率,為TC35的后期開發提供可靠的保證[8]。
考慮到按鍵響應速度和MSP430F149豐富的I/O資源,本設計采用4按鍵獨立鍵盤,減少了I/O資源的浪費,也保證了流暢的按鍵響應速度。4個按鍵分別連接MCU的P1.0 – P1.3引腳,并在設定車輪半徑大小時分別用于+1、+10、-1和確認操作。
顯示模塊采用SMC12864液晶,其使用ST7920作為控制芯片,與外部MCU接口采用并行或串行兩種方式,以適應各種應用場合[9],本設計采用并行接口方式以保證較好的顯示效果。
頻率采樣模塊由磁電式轉速傳感器和頻率信號轉換電路組成,磁電式轉速傳感器結構簡單、測量精度高、輸出穩定,因而應用廣泛,它的輸出類似于正弦波信號,無論從波形或是幅值上考慮,這種信號都不能直接送入MCU,這就需要設計頻率信號轉換電路[10];磁電式轉速傳感器的輸出端接頻率信號轉換電路的Port_IN_frequency(+)和 Port_IN_frequency(-)端,以完成交流信號到數字信號的轉換,詳細電路設計如圖二。

圖2 頻率信號轉換電路
如圖2設計,頻率信號轉換電路由整流橋、穩壓二極管,TLP521-1光耦器件,9014三極管,LED等構成。整流橋將交流信號轉換成直流信號,并將頻率加倍,頻率加倍可提高測量的精度;穩壓二極管起穩壓作用,保護光耦器件;TLP521-1光耦器件用于隔離模擬電路與數字電路,以保護數字電路,提高穩定性和準確性;9014三極管用于放大光耦輸出級信號并驅動MCU;LED發光二極管用于頻率信號指示及工作狀態指示。
經過頻率信號轉換電路后的脈沖信號直接送入單片機P2.0口,MCU利用定時器和P2.0口的中斷能力,記下0.5秒內接收到的脈沖個數,通過計算可得車輪轉速,在車輪半徑已知的情況下可進一步算得速度。
聲光報警模塊使用三色LED和高分貝喇叭,單片機P6.0 -P6.3引腳分別控制LED的三種色彩和高分貝喇叭的驅動電路,再由三極管構成的驅動電路直接驅動高分貝喇叭。超速后,三色LED不斷閃爍,并伴隨高分貝喇叭的鳴叫一起發出超速警報。
SD卡模塊由SD卡和外圍接口電路構成,其核心是用于存儲超速數據的SD卡,SD卡與MCU的連接采用SPI的方式,這樣在滿足數據傳輸率需求的同時也簡化了線路;本設計中MCU的兩個具備UART和SPI模式的USART接口均已被用作UART模式,因此需要通過四個普通I/O口模擬SPI端口進行數據存儲。
本設計利用IAR EW430編程軟件并基于C語言完成對MSP430F149單片機的程序設計工作,IAR EW430軟件提供了工程管理、程序編輯、代碼下載、調試等所有功能,可大大提高開發調試效率;且應用于MSP430系列單片機開發的C語言,與標準C語言高度兼容,具有較強的移植性和擴展性;同時采用模塊化的程序設計思想,確保程序結構一目了然,提高開發效率[11]。
采用了模塊化的思想,程序主體設計如圖3。下文將簡要介紹系統預初始化、系統初始化、車速測量、獲取GPS信息、短信的接收與處理、極限超速后的處理和普通超速后的處理的程序實現過程。
系統預初始化過程首先進行看門狗、系統時鐘的設置,以保證MCU正常工作;隨后進行聲光報警模塊和顯示模塊的初始化,保證系統默認關閉聲光報警,以及信息的正常顯示。
系統初始化依次完成頻率采樣模塊、串口、SD模塊和GSM模塊的初始化。
a)頻率采樣模塊初始化:將Timer B配置成每0.5秒產生一次中斷,輔助測定頻率。
b)串口初始化:將USART0配置為8位數據、9600波特率的UART通信端口;將USART1配置為8位數據、開接收中斷、4800波特率的UART通信端口,分別為與GSM模塊和GPS模塊通信做準備。
c)SD模塊初始化:即模擬SPI端口I/O引腳的配置,須遵循SPI協議進行配置,為SD模塊存儲數據做準備。
d)GSM模塊初始化:初始化是通過串口0向GSM模塊發送初始化指令進行的,以便為短信的收發做準備。
首先列表簡介本程序中使用到的AT指令,詳見表一:

表一 程序中使用到的AT指令
配置好的串口0已經準備好向GSM發送指令,通過以下程序片段向發送緩沖器寫入數據后,串口將按預置的模式自動開始發送數據。

以上程序完成GSM模塊的恢復出廠設置,通過更改相應的代碼完成對GSM模塊的初始化。
車速測量主要利用Timer B的定時功能和P2.0口的中斷能力,車輪轉動頻率信號通過頻率采樣模塊后送入單片機P2.0口,單片機記下0.5秒內接收到的脈沖個數,計算可得車輪轉速,在車輪半徑已知的情況下可進一步算得速度,計算公式如下:
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模塊發回的數據包,解析數據包可獲取詳細的GPS數據。
a)GPS數據包格式[12]:REB-3310模塊支持NMEA- 0183協議的數據格式,以下僅介紹程序中使用到的GPGGA(地面速度信息)、GPVTG(GPS定位信息)類型的數據格式。
GPGGA,該數據幀的結構及有用字段釋義如下:

GPVTG,該數據幀的結構及有用字段釋義如下:

b)GPS數據包解析:在檢索到‘$GPGGA’關鍵字后,將數據存入緩沖區,并從中提取出UTC時間和經緯度(包括方向);同理檢索‘GPVTG’關鍵字可最終提取出GPS測得的車速。
短信的接收主要是接收發自交警的控制短信,此過程是通過串口0以中斷的方式接收GSM模塊發回的短消息;處理則是控制指令的提取、識別和執行(剎車)。具體實現過程如圖4所示。
a)關鍵字檢索:GSM模塊初始化后,在收到短信時,會向MCU自動返回如下格式的數據包:

其中‘+CMT’是收到短信的關鍵字,可判斷是否收到短信;‘+86xxxxxxxxxxx’是短信發送方的號碼,可判斷短信是否來自交警;‘xxxxxx’是短信內容,可提取得控制指令。
b)回復GSM模塊短信確認指令:GSM模塊收到短信后會將短信內容通過串口發給MCU,MCU成功讀取短信后須在規定時間內回復短信確認指令(AT+CNMA ),否則導致GSM模塊收到下一條短信后不會直接返回短信內容,這會增加程序的復雜性。
當車速超過極限值時,系統將順次進行剎車、聲光報警、發送報警短信、存儲超速數據等操作,直至汽車剎?;蛘哌_到安全速度。
a)發送報警短信:超速后,MCU通過串口0發送“AT+CMGS=xxxxxxxxxxx ”指令設置接收號碼,發送含超速信息的字符串完成內容的編寫,發送“0x1a”指令確認發送短信。
b)存儲超速數據:超速數據將被存入SD卡,用于永久保存違規事實。本設計移植了完全開源的Petit FAT文件系統,用以實現FAT文件的存儲,保證數據能在PC機上直接讀??;同時采用模擬SPI接口的方式進行數據存儲,詳見Petit FAT文件系統的開源資料。
普通超速后的處理與極限超速后的處理基本一致,僅去掉了“控制剎車”過程。

圖3 主程序流程圖

圖4 短信的接收與處理流程
本文綜合考慮了交警和駕駛員的因素,在保證交警絕對控制權的前提下,從汽車“黑匣子”防治超速的核心功能出發,詳細設計了集數顯車速計于一體的低成本汽車“黑匣子”,并在項目經費的支撐下完成了實物裝置的制作。
經實測該裝置可實現如下功能:
a)通過GPS和數顯車速計雙重測速,可獲得高精度的速度值,并直觀地顯示于數顯車速計的液晶屏上,可取代傳統的車速表;
b)僅當速度大于系統自動獲取的當前道路環境下的限速值時,MCU才將速度值、GPS坐標和時間等數據通過特定算法加密后寫入SD卡,用于記錄“違規事實”,避免記錄無用數據造成浪費,減小數據的復雜性,以保證數據的真實性和穩定性;
c)超速時,聲光報警警示司機已超速,同時通過GSM模塊將超速信息發至交警端,交警亦可遠程控制汽車;
d)當速度達到設定的最大值時,系統可控制汽車剎停;
e)在汽車年檢時,交警可從SD卡中解密出可用數據。
[1]高玉民.汽車黑匣子簡介[J].交通與運輸,2005,(02):22-23.
[2]長安大學.一種汽車電子組合儀表[P].中國專利:ZL201120536908.6,2012-08-01.
[3]張遠霞,陳建輝.基于ST72F561的電子式汽車組合儀表[J].電子世界,2012,(20):19-20.
[4]陳志軍.大型車輛危險駕駛行為監測系統一體化設計及實現[D].武漢:武漢理工大學,2012.
[5]矯成武,姜桂艷,等.道路交通安全綜合檢測系統設計與開發 [J],長春理工大學學報,2007,30(1):108-102.
[6]楊平,王威.MSP430系列超低功耗單片機及應用[J].國外電子測量技術,2008,27(12):48-50.
[7]周永兵,朱靖玉.“兩客一危”GPS衛星定位系統車載終端設計[P].電子設計工程,2012,20(09):86-88.
[8]胡薔,鮑強.TC35 GSM模塊在無線傳輸系統中的應用[J].現代電子技術,2005,(19):34-35.
[9]倪景峰,周騰,等.SMC12864液晶顯示器在密閉監測系統中的應用[J].測控技術,2011,30(01):97-99.
[10]王旭峰,郭迎清.航空發動機轉速傳感器調理電路設計與仿真[J].電子測量技術,2007,30(08):150-155.
[11]呂芮棟,張志文.以MSP430F149為核心的溫度檢測儀的硬件模塊和軟件設計[J],現代電子技術,2012,35(01):199-201.
[12]宋嵩,李康,等.基于GPS/GSM和MSP430的巡檢手持終端的設計與實現[J].信息技術與信息化,2005,(03):82-85.