文獻標識碼: A
文章編號: 0258-7998(2014)07-0021-03
近些年,汽車工業已發展成國家支柱性產業,同時在國家經濟發展戰略中具有十分重要的地位。據美國公路統計局統計,2001~2007年美國每年發生汽車側翻事故高達29 800起,僅次于正面碰撞的行車事故。汽車側翻[1]主要由汽車側向加速度和側傾角決定。隨著用于汽車電子和汽車狀態監測的MEMS傳感器技術的發展,可以對其進行監測,提高其主動安全性能。本文設計的車載通信系統有3大創新點:(1)基于MEMS傳感器預測汽車狀態,在汽車側翻后實現自動求援,按一下主控界面的求救按鈕,求救短信(包括車輛的位置)會自動發送給急救中心,從而實現第一時間救援的目的。(2)通過GPS進行車輛導航,向信息數據中心傳輸車輛的經度、緯度、速度等實時的車輛信息,這樣可以實時地追蹤車輛的信息,便于車輛的調控,最后實現智能交通的最終目標。(3)車載通信系統可以集電話和短信功能為一體,運用時和手機一樣進行撥號,即可與外界實現交流。
1 車載嵌入式平臺的硬件
整個車載嵌入式平臺的硬件可以包括幾個部分:(1)采集汽車6自由度運動數據的數據采集模塊;(2)車載嵌入式平臺的主控制器;(3)負責遠程通信、汽車地理位置定位的GSM/GPRS/GPS模塊。其硬件搭建的原理框圖如圖1所示。
1.1 Windows CE 6.0操作系統
Windows CE具有快速的開發能力,與Linux等嵌入式系統相比,Windows CE系統具有開發周期短、開發人員上手快的特點。Windows CE具有強大的開發基礎,提供了眾多的模塊化組件,為開發者開發性能可靠、功能各異的多樣化、個性化產品提供了方便[2]。
1.2 主控制器S3C6410
基于嵌入式的車載通信系統需要存儲大量汽車運行的數據,實現GSM/GPRS通信、串口通信、界面顯示等功能。本文選擇三星公司的S3C6410芯片,它是具有ARM1176JZF-S處理器一切特性的嵌入式處理器芯片,為需要大量數據存儲的嵌入式系統設計提供了眾多選擇。此外,它還具有多媒體加速特性和USB特性。
1.3 車輛姿態測量模塊設計
為了減輕嵌入式系統的負擔,這里專門開發了10自由度的運動參數測量和姿態解算模塊(IMU)。該IMU模塊上布置了3個MEMS傳感器芯片:MPU6050(測量汽車6個自由度的運動)、HMC5883(三軸地磁傳感器),BMP180(氣壓高度傳感器),均通過I2C與STM32F單片機相連,同時傳感器的數據中斷引腳與STM32F的IO引腳相連。使得傳感器完成一輪ADC輪換后,STM32F就讀取最新采集到的測量數據,快速響應姿態的變化。這樣的連接使得控制器擁有最大的主動權,可快速地獲得各傳感器的狀態和轉化結果。
1.4 SIM908
本文選擇SIM Com公司的SIM908芯片作為GSM/GPRS通信模塊以及GPS定位模塊。此芯片融合了GSM/GPRS通信和GPS定位功能,簡化了硬件設計,并節省了空間和功耗。
2 車載嵌入式平臺的軟件實現
在基于汽車主動安全的車載嵌入式平臺硬件的設計基礎上,進行平臺的程序設計。平臺軟件設計包括三方面:(1)側翻預警系統的軟件設計;(2)串口通信的設計;(3)GSM/GPRS/GPS通信設計。其程序的總體設計流程圖如圖2所示。
2.1 汽側翻預警程序設計流程圖
側翻預警算法的軟件實現主要包括兩方面:(1)利用汽車6自由度數據進行姿態結算,得到汽車的實時側傾角,并計算出汽車側翻預警危險判別指示;(2)利用預測預報技術對側翻危險判別指示進行預測預報,從而實現汽車側翻預警[3]。其軟件實現流程圖如圖3所示。
預測預報算法的核心程序如下:
float
I[36]={1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0, 0,0,0,0,1};
Cheng(PN,QN,K,6,6,1);
float QNP[6]={0};Cheng(QN,PN,QNP,1,6,6); float QPQ[1]={0};
Cheng(QNP,QN,QPQ,1,6,1);QPQ[0]=QPQ[0]+1;
float K1[6]={0};constcheng(K,1/QPQ[0],K1,6);constcheng(K1,1,K,6);//更新PN
float P1[36]={0};Cheng(K,QN,P1,6,1,6);constcheng(P1,-1,P1,36);jiafa(P1,I,P1,36);
float P2[36]={0};Cheng(P1,PN,P2,6,6,6);constcheng(P2,1,PN,36);
for(int i=5;i>0;i--)
{ QN[i]=QN[i-1];}
QN[0]=-x;
//更新an
float e[6];constcheng(K,x-xforecast,e,6);jiafa(an,e,an,6);
2.2 串口通信設計
數據采集模塊以及無線通信、GPS定位模塊之間的通信為串口通信。因此,實現在Windows Embedded CE 6.0系統下的串口通信至關重要。本文在Visual Studio 2005中選擇采用串口API函數進行Windows Embedded CE 6.0系統下的串口通信程序設計。在Windows Embedded CE 6.0中一般采用Close Handle來關閉串口,Create File函數來打開串口。對于串口數據的讀取,本文采用Read File函數,并采用事件觸發形式來觸發數據讀取。
2.3 GSM/GPRS/GPS通信設計
2.3.1 GSM通信
通過GSM模塊進行短信息的發送與接收是利用AT指令來實現的。主控制器通過串口向GSM模塊發生相應的AT命令[4],就可操縱模塊進行相應的功能實現。AT 指令是以 AT 開頭、以字符結束的字符串,AT 指令的響應數據包在中間。每個指令執行成功與否都有相應的返回。AT命令需以AT開頭,加上相應命令,并以回車符號結束。
GSM通信程序過程為:先進行GSM系統的初始化,包括短信息格式、短信服務中心號碼設置等;然后檢測網絡信號強度,有信號時才進行短消息的發生和接收。GSM通信流程圖如圖4所示。
首先進行系統初始化,首先是負責GSM通信的串口初始化,即打開相應串口,設置串口波特率、校驗位、數據位、停止位,這里設置成115 200 b/s,無校驗位,8 bit數據位、1位停止位。然后是GSM芯片初始化,GSM初始化步驟為:首先通過串口發送"AT"字符,確定模塊是否存在,如果GSM芯片返回OK則模塊存在;接著發送字符"AT+CLIP=1",此命令用來設置來電顯示,以方便駕駛員使用系統電話功能;然后發送"AT+CMGF=0",此命令用來設置短信格式為PDU格式,此格式短信字符為UNICODE格式字符,可發送中文短信息;成功后,緊接著依次發送命令"AT+CGPSPWR=1"以及命令"AT+CGPSRST=1",這兩個命令用來打開GPS定位功能,此命令發送后,GPS冷啟動一般需要4~5 min時間。系統初始化后,利用命令“AT+CSQ”檢測GSM信號是否正常。信號正常則可使用短信功能和電話功能。
2.3.2 GPRS的數據傳輸設計
GPRS通用無線分組業務俗稱2.5G業務,是利用當前GSM網絡進行數據無線分組傳輸處理。GPRS可實現無線設備通過GPRS網絡與Internet網絡進行IP連接,利用GPRS無線網絡實現車載終端與遠程控制中心或服務中心的無線通信,可將行車數據通過網絡無線傳輸到中心,以減少車載終端的存儲壓力。Internet網絡通信一般有兩種方式,即UDP方式和TCP/IP方式。UDP方式通信不需對方回復確認,因此實時性強,但不能保證數據的完整性;TCP/IP方式通信時,每次數據傳輸需對方確認接收完整后才進行下一次數據傳輸,因此實時性較弱,但其能保證數據的完整性。在控制中心或服務中心實現基于Internet網絡的通信時,為保證通信質量以及數據完整性,一般采用TCP/IP方式通信。車載通信終端利用GPRS網絡與Internet網絡連接,然后通過TCP/IP協議與控制中心或服務中心進行數據通信。本文所選的SIM908-C模塊內置融合了TCP/IP協議[5]。所以,利用SIM908-C模塊進行GPRS數據傳輸設計,同樣也可以通過AT指令來實現。
2.3.3 GPS導航解析
SIM908中GPS模塊輸出的GPS定位信息符合NMEA通信標準,其輸出信號格式為ASCII格式的數據,其中包含了時間、經度、緯度、數度、航向、高度和衛星數量等信息[6]。模塊輸出7種不同的定位信息,包括:$GPGGA、$GPGLL、$GPGSA、$GPGSV、$GPRMC、$GPVTG和$GPZDA。可通過命令AT+CGPSINF來設置信息的輸出類型。
本文單獨開辟一個線程用作GPS信號接收和解析。SIM908中GPS信號同樣是通過串口方式向外發送,因此主控制器同樣要利用串行端口接收GPS信號。在進行GPS信號解析之前,也同樣必須進行串口的一些操作,這里串口波特率設置成115 200 b/s,數據位設置為8 bit,無校驗位,停止位設置為1。然后開始讀串口中GPS信號并進行解析,最終將所需的GPS信息保存并顯示在GPS顯示界面上供駕駛員查看參考。
本文自主開發的基于汽車主動安全的車載嵌入式系統運行良好,側翻預警、車載通信功能工作穩定。側翻預警條、短信、電話、導航及Internet等功能穩定,能夠實現對外界的信息交流和傳輸。這套系統初步實現了人-車-路的全面感知,為下一步實現智能汽車、智能交通打下基礎,有著很強的社會經濟利益。在本車載通信系統的基礎上可以繼續對車輛監控調度中心的軟件進行研究和開發,以滿足車聯網(智能交通)進一步的需要。
參考文獻
[1] 楊利勇.汽車側翻模擬及控制方法的研究[D].貴陽:貴州工業大學,2004.
[2] 張勇,曾熾祥,許波.Windows CE應用程序設計[M].西安:西安電子科技大學出版社,2008.
[3] 朱天軍.基于改進TTR算法的重型車輛側翻預警模塊[J].機械工程學報,2011,47(10):89-93.
[4] 孫鐵強,閆興龍.數據采集及基于GSM網絡的數據無線傳輸[J].電測與儀表,2004,41(12):55-57.
[5] 魏寧,王宇寰,施勇紅.基于GPRS無線網絡的數據采集系統的設計[J].北京電子科技學院學報,2006(4):79-82.
[6] 葉芳.基于GPS技術的車速傳感器的研制與應用[D].重慶:重慶大學,2009.