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