吳昌東,袁紅兵,戴俊源
(南京理工大學機械工程學院,江蘇南京210094;南京理工大學常熟研究院有限公司,江蘇常熟215513)
當前車主對汽車的防盜性能有越來越高的要求,同時電子信息技術與計算機技術的發展,也促進了汽車防盜技術的更新與發展[1]。目前,市場上出現了很多類型的汽車防盜器。傳統的防盜器容易被破解、防盜性能差,現有新型的網絡防盜系統誤報率高、及時反饋性差。
本文設計的汽車防盜系統以STM32單片機為核心處理器,通過相關傳感器以及GSM網絡來實現汽車的實時防盜,可及時通知車主汽車的狀態,車主可以迅速對車作出指令控制,以此實現用戶對車的雙向控制。
基于GSM網絡的防盜系統,可以實現無線的信息發送與接收,車主可以隨時隨地的對汽車的狀態進行無線的控制與查看[2]。此防盜系統結構原理如圖1所示。

圖1 系統結構框圖
汽車防盜系統包括了為所有模塊供電的電源模塊;GSM模塊利用GPRS業務以及SMS業務通過GPRS網絡進行數據的無線傳輸以及消息的發送,在車輛有異常狀態時,GSM會自動向車主發送消息以及定時的向服務端傳輸動態數據,車主若收到異常狀態提示,可立即回復消息、發送指令,通過控制模塊對汽車進行相關控制。信息的處理模塊包括對GSM發送的信息處理以及收到車主的指令信息處理。傳感器模塊包括振動傳感器、傾角傳感器、加速度傳感器,通過傳感器識別判斷汽車的異常狀態,一旦異常,就立即通知車主。
車主在離開汽車后可對系統進行設定,發送指令即可將防盜功能開啟,在使用汽車時將其關閉即可。
GSM模塊使用SIMCom公司提供的SIM900A模塊。它具有標準AT命令接口,可以提供GSM語音、GPRS傳輸、短消息等業務。SIM900模塊系統結構如圖2所示。

圖2 SIM900系統結構圖
SIM900支持標準的8線制串行接口,傳輸速率支持從1.2kbps~115.2kbps;SIM900A提供兩個非對稱的異步串行接口,一個用于通訊,另一個用于軟件調試。SIM900模塊的TXD發送數據到處理器的RXD信號線上,RXD從處理器的TXD信號線上接收數據??赏ㄟ^AT命令實現對SIM900與STM32相互的傳輸控制。GSM模塊具有標準的SIM卡接口。接口連接如圖3所示。

圖3 SIM900接口連接圖
GSM模塊的硬件電路設計包括SIM900的供電模塊、SIM卡模塊以及SIM900的開機模塊硬件設計。SIM900A采用VBAT為3.4V~4.5V的單電源供電。在一些情況下,信號傳輸的猝發會導致電壓跌落,這時電流損耗的峰值會達到2A。因此,電源必須能提供足夠到2A的電流,因此采用線形穩壓電源,電源電路如圖4所示。

圖4 SIM900電源供電圖
SIM900模塊三個VBAT引腳用于供電輸入,15個GND引腳用于接地。VRTC引腳用于后備電源供電。
SIM卡的接口電平由模塊內部的電壓穩壓器提供,正常電壓值為2.8V或者1.8V。復位后,所有引腳輸出低電平。SMF05C來作靜電保護。本設計使用的是六腳SIM卡座,SIM卡模塊硬件電路設計如圖5所示。SIM900的開啟模塊通過把PWRKEY信號拉低一段時間然后釋放來開機。硬件電路設計如圖6。

圖5 SIM卡電路圖

圖6 開機模塊電路圖
RFID(radio grequency identification)即射頻識別是一種無線通技術信,本方案中射頻芯片采用NXP公司MFRC522射頻芯片,該芯片是一款低電壓、低成本、體積小的非接觸式讀寫卡芯片,該芯片利用了先進的調制和解調概念,完全集成了在13.56MHz下所有類型的被動非接觸式通信方式和協議。它支持IIC、串行USART、SPI各種不同的主機接口,與MCU通信接口采用SPI模式。
RFID的使用,可以實現車主身份的識別,經過MCU的處理,收到信號判別后即可作出控制。通過GSM模塊的GPRS以及SMS業務,可以實現報警控制。模塊功能框圖如圖7所示。本方案與MCU的接口電路如圖8所示。

圖7 RFID模塊框圖

圖8 SPI模式接口電路圖
信息采集部分主要是采集通過傳感器去接收對外界對汽車的作用,并對信號進行有效地采集與檢測[3]。
汽車收到強行拖車或者打開車門、車窗的行為動作都屬于采集信息的范圍之內。本系統主要采集的對象是汽車的異常狀態。所以采用振動傳感器、傾角傳感器以及加速度傳感器。振動傳感器與傾角傳感器用以判斷汽車的異常振動與破壞;加速度傳感器用以識別汽車的啟動運行狀態,在非法運行時,車主收到SMS消息后,可通過指令進行控制。
振動傳感器選用MVS0608,通過內部微球來檢測判斷振動。微球作為兩個觸點傳感器內部電極的橋梁來降低兩個外部連接墊電阻的阻值。傾角傳感器采用SST100系列傾角傳感器,適合于各種工程機械和野外設備,可直接與車載蓄電池或其他各種非穩壓的電壓連接,提供無抖動的高遲滯特性的全方位開關量輸出,直接驅動如繼電器、喇叭、聲光報警設備、PLC等裝置。加速度傳感器采用A-nalogy Devices公司出品的一款雙軸加速度傳感器,可測量動態加速度和靜態加速度,輸出為周期可調的脈寬調制信號,可以直接與單片機或計數器連接,并且具有性能高、準確度高、功耗低的特點(輸入電流<0.6mA)。ADXL202可以測量正、負兩個方向的加速度,而且具有很廣的測量范圍,可以測量2g~10g的加速度。相對于地平面方向變化時,x、y方向對應不同的輸出,從而可以計算出恒定的加速度。本系統的加速度原理圖設計如圖9所示。

圖9 ADXL202加速度傳感器原理圖
通過傳感器讀取的狀態,經由GSM網絡由車主發送指令控制模塊電路實現對汽車的控制。具體控制的實現可包括緊急報警、斷油斷電等相關措施。
系統采用C語言編寫程序,將程序寫入單片機閃存里。通過MDK編譯環境來編譯調試。
主芯片進入初始化后,判斷是否需要進入警戒狀態;確定進入警戒狀態后,開始啟動GSM模塊,以及傳感器模塊的接口掃描。當出現異常狀況,傳感器模塊會立即讀出電平信號變化,此時,單片機的串口響應,系統會自動發送消息通知車主,并通過GSM網絡發送數據到相關信息中心。當車主收到消息出現警情時,可立即發送控制指令實現對汽車的控制。GSM模塊啟動后會一直處于輪詢指令狀態,車主可以隨時隨地的對汽車的狀態進行監測查看,發送指令,經由單片機處理后傳送至GSM,再由GSM通過SMS業務向車主反映汽車狀態信息。若車主要使用汽車,通過RFID模塊識別出車主身份,系統自動撤銷警戒狀態。若無此識別,系統也會立即報警。
系統的總體流程圖如圖10所示。

圖10 系統流程圖
GSM模塊的軟件設計主要包括兩方面的內容,1)GSM開啟模塊,2)是無線數據傳輸的軟件設計以及SMS短消息的發送、接收解析與控制。
GSM的開啟通過把PWRKEY信號拉低一段時間然后釋放來開機。此引腳已在模塊內部上拉到3V。在軟件設計時需考慮開機時序對開啟的影響,拉低及延遲的時間都需要精確處理,下拉時間間隔在1s~5s之間,延遲應大于1.7s;通過控制PERKEY的狀態變化,來實現模塊的開啟,狀態高位延遲,然后拉低。
無線數據的傳輸是通過GPRS業務實現。處理器通過串口發出的AT指令建立通信鏈路。AT指令集的指令格式都以AT開頭,下面是常用連接GPRS業務的AT指令。“AT ”返回“OK”表示設置成功;“AT+CGATT=? ”,返回值1表示服務器連接正常,處于連接狀態。“AT+CGATT=1 ”,返回“OK”,表示連接成功;“AT+CGDCONT=1”,“IP”,“CMNET ”,返回OK表示設置成功。上述命令成功設置后,即可建立與GPRS的連接,與數據中心建立了通信鏈路。
SMS的發送需要在軟件設計中編譯,通過在主芯片代碼中發送AT命令,具體的AT命令格式如下:
AT+CMGF=1;AT+CSCS=”GSM”;AT+CSCA=”服務中心號碼”;AT+CMGS=”電話號碼”。
車主的控制指令解析通過GSM模塊實現。主要是SMS的存儲、讀取與解析。短信息收發有關的規范主要包括GSM03.38,GSM03.40和GSM07.05。前二者著重描述SMS的技術實現(含編碼方式),后者則規定了SMS的DTE-DCE接口標準(AT命令集)。PDU方式被所有手機支持,可以使用任何字符集,也是手機默認的編碼方式。
軟件代碼設計上,以GSM字符集為7位編碼,可以簡單地理解為ASCII碼(ASCII值小于80Hex,因此,Bit8被忽略),依次將下一7位編碼的后幾位逐次移至前面,形成新的8位編碼。GSM并非支持所有的ASCII字符顯示。通過函數的處理,可以將固定格式的指令在SMS里解析,相應的命令交由單片機處理做出相應的反應。
通過短信的解析即可獲得車主短信的指令,通過GSM模塊發送到STM32處理器,就可以做出相應的處理。
RFID模塊主要是對協議的應用。MFRC522的操作由可執行一系列命令的內部狀態機來決定。通過向命令寄存器寫入相應的命令代碼來啟動命令。
串口的通信協議相應設置為串口波特率為9600、8數據位、1停止位、無校驗。協議的格式為|FE|命令長度(暫時固定為3)|數據長度 |命令字節|數據字節 |異或校驗|,相應的讀卡號數據格式:FE03 04 00 03 00 00 00 00 00FA.其中FE為起始 |03為命令長度 |04為數據長度 |00 03 00為讀卡號命令 |00 00 00 00為數據 |FA為校驗。RFID與單片機的通信采用的SPI模式,SPI接口由SDI(串行數據輸入),SDO(串行數據輸出),SCK(串行移位時鐘),CS(從使能信號)四種信號構成,CS決定了唯一的與主設備通信的從設備,如沒有CS信號,則只能存在一個從設備,主設備通過產生移位時鐘來發起通訊。通訊時,數據由SDO輸出,SDI輸入,數據在時鐘的上升或下降沿由SDO輸出,在緊接著的下降或上升沿由SDI讀入,這樣經過8/16次時鐘的改變,完成8/16位數據的傳輸。
程序下載時,芯片選擇STC11F32XE,導入HEX文件,其他都默認,編譯環境為KEIL。
基于STM32與GSM的汽車智能報警系統是利用日益完善的全球移動通信網絡和ARM控制技術的一種全新汽車報警裝置。本文實現了基于STM32與GSM的汽車報警系統的硬件及軟件設計,通過利用GSM模塊的AT指令以及SMS功能,在此基礎上通過用戶發出的短信,由STM32處理器的解析,即可對汽車進行控制,加強對異常狀況的快速反應能力,提高報警系統的實時性以及實現車主對汽車的遠程控制。
[1]尹東至.基于GSM/GPS的汽車防盜系統設計的[D].武漢:武漢理工大學,2007.
[2]趙沖.基于GSM防盜報警系統設計的[D].西安:西安科技大學,2007.
[3]樊振方,彭愛華,周健,等.基于GSM網絡的汽車防盜報警系統設計[J].電子技術應用,2006(03).
[4]曹軍.基于SMS的遠程控制系統在汽車防盜中的應用[D].合肥:合肥工業大學,2008.
[5]ETSI.GSM 07.05(Version 5.5.0):Digital cellular telecommunications system(Phase 2+);Use of Data Terminal Equipment-Data Circuit terminating Equipment(DTE-DCE)interface for Short Message Service(SMS)and Cell Broadcast Service(CBS).1998.
[6]R.C.Luo,P.K.Wang.T.Y.Hsu,T.Y.Lin.Navigation & Mobile Security System of Intelligent Security Robot.ICIT2005.IEEE International Conference Industrial Technology,2005:260-265.
[7]劉曉杰.汽車GPRS防盜報警系統的研究與設計[D].大連:大連理工大學,2010.
[8]王建偉.基于ARM與GPRS的智能控制系統的研究[J].儀表技術,2008(7):45-47.
[9]李智慧,王麗軍,趙春明.基于GSM/SMS的車輛防盜報警系統,汽車電器,2005(5).