汪正進(jìn)等
摘 要:對(duì)車輛進(jìn)行準(zhǔn)確的定位和追蹤是汽車業(yè)今后發(fā)展的一種趨勢(shì)。此系統(tǒng)設(shè)計(jì)是基于MSP430基礎(chǔ)上研究如何對(duì)車輛進(jìn)行實(shí)時(shí)定位和追蹤。系統(tǒng)的車載終端由液晶模塊、GSM模塊、GPS模塊、無線模塊、電機(jī)驅(qū)動(dòng)模塊以及電機(jī)等組成,控制中心由微控制器組成。利用GPS模塊采集地理位置等信息,通過液晶12864實(shí)時(shí)顯示經(jīng)緯度、速度、時(shí)間等數(shù)據(jù),再通過GSM網(wǎng)絡(luò)將采集的信息發(fā)送到控制中心??刂浦行耐ㄟ^USB端口讀取GSM模塊收到的信息,通過調(diào)用瀏覽器,將車輛所在位置的地理位置和運(yùn)動(dòng)軌跡通過經(jīng)緯度坐標(biāo)等信息實(shí)時(shí)顯示出來。
關(guān)鍵詞::GSM;GPS;無線;車輛定位;電機(jī)驅(qū)動(dòng)
隨著城市工業(yè)化的快速發(fā)展和城市道路的擴(kuò)張,汽車已成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠?。要想在一個(gè)錯(cuò)綜復(fù)雜的城市道路上方便、快捷、準(zhǔn)確地知道汽車所行駛的位置信息,需要對(duì)車輛進(jìn)行智能定位予以確定。同時(shí),由于智能定位系統(tǒng)的設(shè)備軟硬件的設(shè)計(jì)與生產(chǎn)成本的下降,它的應(yīng)用越來越普及,如自行車、貨車、手機(jī)等等。在全球定位系統(tǒng)中,美國的GPS相對(duì)其它定位系統(tǒng)組建比較早且技術(shù)成熟。因此,它已廣泛應(yīng)用于我們?nèi)粘5亩ㄎ幌到y(tǒng)中。其次,采用時(shí)分多址技術(shù)的全球移動(dòng)通信系統(tǒng)GSM,它的基站多、網(wǎng)絡(luò)覆蓋廣,通過GSM模塊,用較低的成本即可實(shí)現(xiàn)語音及數(shù)據(jù)等信息的實(shí)時(shí)傳輸,而且操作簡(jiǎn)單。
此系統(tǒng)采用低功耗的MSP430單片機(jī)為核心,利用它完成與GPS定位模塊和GSM(GPRS)移動(dòng)通信模塊的連接,將采集到的數(shù)據(jù)信息通過上位機(jī)處理,利用下位機(jī)進(jìn)行顯示得到車輛當(dāng)前位置信息。實(shí)現(xiàn)對(duì)車輛定位追蹤的目的[1][2][3]。
1 智能車輛定位系統(tǒng)的總體設(shè)計(jì)
智能車輛定位系統(tǒng)由控制中心和車輛定位終端兩部分組成。控制中心則將PC機(jī)和GSM通信模塊利用USB接口連接起來,實(shí)現(xiàn)數(shù)據(jù)的傳遞和聯(lián)網(wǎng)顯示。而車輛定位終端主要由微控制器作主控單元,由其擴(kuò)展接口與矩陣鍵盤模塊、GPS定位模塊、無線控制模塊、液晶顯示模塊、電機(jī)驅(qū)動(dòng)模塊組成。同時(shí)系統(tǒng)還配合一些附屬單元如系統(tǒng)電源、復(fù)位電路及時(shí)鐘電路等。智能車輛定位系統(tǒng)的總體設(shè)計(jì)框圖如圖1所示。
在智能車輛定位系統(tǒng)設(shè)計(jì)中,其工作原理是小車部分首先開啟GSM通信模塊和GPS定位模塊,等待搜索小車具體位置顯示信息。GPS定位模塊的傳輸位置信息通過串口不斷讀取GPS模塊傳輸?shù)奈恢眯畔?,然后提取信息來判斷小車定位是否成功,同時(shí)將信息在12864液晶屏上顯示出來。小車需根據(jù)接收到的按鍵信息來驅(qū)動(dòng)電機(jī)運(yùn)動(dòng),這些按鍵信息可有遙控器通過射頻收發(fā)器芯片CC1101發(fā)出或者遙控器通過手動(dòng)發(fā)出的。射頻收發(fā)器芯片CC1101發(fā)送按鍵數(shù)據(jù)是根據(jù)單片機(jī)定時(shí)檢測(cè)是否有按鍵按下來觸發(fā)SPI協(xié)議進(jìn)行控制。其中智能車輛定位系統(tǒng)中的遙控器系統(tǒng)由單片機(jī)最小系統(tǒng)板、鍵盤模塊、無線模塊3部分構(gòu)成。智能車輛定位系統(tǒng)中的上位機(jī)部分是由PC機(jī)、TTL轉(zhuǎn)USB模塊、GSM模塊3部分組成。上位機(jī)中的GSM模塊每接收到一條信息,通過串口讓PC機(jī)利用AT指令來讀取信息數(shù)據(jù),并在網(wǎng)絡(luò)接口的地圖上顯示信息的經(jīng)緯度。
2 系統(tǒng)硬件平臺(tái)設(shè)計(jì)
2.1 電源模塊電路
在硬件電路設(shè)計(jì)中,車輛需要在在室外進(jìn)行測(cè)試和調(diào)試。選用12V的鉛蓄電池對(duì)電機(jī)驅(qū)動(dòng)供電,通過7805穩(wěn)壓器將12V電壓轉(zhuǎn)換為單片機(jī)及GPS模塊所需的5V電壓,再利用AMS1117-3.3的穩(wěn)壓器將5V電壓轉(zhuǎn)換為單片機(jī)外圍設(shè)備,如射頻收發(fā)器CC1101、12864液晶屏所需的3.3V電壓,同時(shí)給GSM模塊單獨(dú)配置了一塊3.7V手機(jī)鋰電池進(jìn)行供電。
2.2 無線遙控電路
在無線遙控電路中采用工作頻率為433MHz(避免與GSM模塊的相互影響)的近距離無線通信的CC1101射頻收發(fā)器芯片。它是TI公司推出的具有低功耗和無線喚醒(WOR)等多調(diào)制模式,可對(duì)信息的強(qiáng)度和信息鏈接的質(zhì)量進(jìn)行讀取、測(cè)量。它的工作電壓在1.9V~3.6V,待機(jī)模式下電流僅為200nA,在該電路中給它供3.3V電壓??赏ㄟ^SPI接口對(duì)內(nèi)部自帶的64字節(jié)TX FIFO和RXFIFO的寄存器進(jìn)行配置。同時(shí)它的引腳也可設(shè)置作為接收信號(hào)的引腳,若測(cè)得引腳的電平變?yōu)榈碗娖綍r(shí),對(duì)應(yīng)引腳就接收到一個(gè)數(shù)據(jù),這樣節(jié)省了片上資源。在此電路中,將該引腳與微控制器的外部中斷相來連接收信號(hào)。
2.3 電機(jī)驅(qū)動(dòng)電路
在電機(jī)驅(qū)動(dòng)電路中采用L298N作為電機(jī)驅(qū)動(dòng)芯片,它能將單片機(jī)輸入的邏輯信號(hào)轉(zhuǎn)換為12V的驅(qū)動(dòng)電平。外觀上它是一個(gè)15腳直插的封裝芯片,工作時(shí)電流比較大,易發(fā)熱,在電路中加入散熱片進(jìn)行降溫處理。該芯片有兩組雙通道輸出,利用通道引腳電平來控制端口的輸出。因此,兩組雙通道輸出可以控制2個(gè)直流電機(jī)或者1個(gè)步進(jìn)電機(jī)。
3 系統(tǒng)軟件程序設(shè)計(jì)
在硬件電路搭建完成之后,需要對(duì)相關(guān)硬件設(shè)備在上電之前進(jìn)行初始化。首先開啟GSM和GPS進(jìn)行聯(lián)網(wǎng)和定位,之后啟動(dòng)射頻收發(fā)器CC1101模塊來對(duì)小車行駛進(jìn)行遙控。這里面設(shè)計(jì)一個(gè)1s時(shí)間判定來對(duì)液晶屏的數(shù)據(jù)進(jìn)行更新,同時(shí)將數(shù)據(jù)發(fā)送到上位機(jī),這樣遙控器就可以讀取信息來控制小車的行駛,如圖2所示。
根據(jù)MSP430F5438A的自身特性,可以對(duì)其主頻進(jìn)行精確配置為24MHz的工作頻率,方便串口通信。利用串口通信的方式對(duì)GPS和GSM的數(shù)據(jù)進(jìn)行發(fā)送,它們的傳輸速度分別可達(dá)到9600bit/s和115200bit/s。因此,在讀取它們的數(shù)據(jù)信息是,由于串口采用的是中斷方式,不是直接進(jìn)行讀取,得利用緩沖區(qū)進(jìn)行處理。若直接讀取,可能由于中斷時(shí)間過長(zhǎng)影響數(shù)據(jù)的接收。在中斷結(jié)束后,利用定時(shí)器減緩刷新數(shù)據(jù)的速率,可以在主程序里直接進(jìn)行數(shù)據(jù)的提取和解讀,節(jié)約資源,提高效率。
3.1 GSM模塊驅(qū)動(dòng)
GSM模塊里面的函數(shù),主要可配置串口和字符串的發(fā)送。為了防止GPS在未定位的情況直接接收其它數(shù)據(jù)而造成亂碼,需要對(duì)字符串發(fā)送函數(shù)進(jìn)行了修改,主要包括指定的字符串是從第幾位數(shù)據(jù)開始發(fā)送的判斷和每次需要指定發(fā)送幾位字符信息。其程序中出現(xiàn)的uchar *sentence,uchar num,uchar addw分別表示字符串名,發(fā)送長(zhǎng)度,起始地址,如下所示:
void send_sentence_2(uchar *sentence,uchar num,uchar addw)
{ uchar i;
for(i = 0;i < addw;i++)
sentence++;
for(i = 0;i < num;i++)
{ while (?。║CA0IFG&UCTXIFG));
UCA0TXBUF=*sentence;
sentence++;}}
在程序中,利用數(shù)組的形式便于存儲(chǔ)存放所有的GPS數(shù)據(jù)。但數(shù)組與字符串在程序中讀取時(shí)要能識(shí)別出來,因此不能光靠簡(jiǎn)單的數(shù)據(jù)長(zhǎng)度進(jìn)行區(qū)別,還需要在字符串結(jié)尾處自動(dòng)地補(bǔ)零(“\0”),而數(shù)組只能利用程序來補(bǔ)。同時(shí)還為了防止發(fā)送數(shù)據(jù)時(shí),出現(xiàn)亂碼現(xiàn)象,在send_sentence_2函數(shù)中,指定發(fā)送起始的地址和發(fā)送的長(zhǎng)度,這樣就更加可靠地發(fā)送短信的數(shù)據(jù)。
3.2 射頻收發(fā)器芯片CC1101模塊驅(qū)動(dòng)
射頻收發(fā)器CC1101模塊主要采用SPI接口的時(shí)序作為驅(qū)動(dòng)函數(shù)進(jìn)行操作。但其驅(qū)動(dòng)函數(shù)與其他函數(shù)相比,需要在射頻收發(fā)器CC1101內(nèi)部的寄存器上電前寫入通道、地址、功率等信息將其進(jìn)行初始化,而且要求遙控器初始化地址和小車上位機(jī)的初始化地址一致,才能正常接收數(shù)據(jù)。在配置CC1101內(nèi)部寄存器時(shí),可以將其引腳設(shè)置為接收標(biāo)志,這樣在其一旦接收到數(shù)據(jù)時(shí),就會(huì)將其引腳變成低電平。這樣就可以直接決定是否通過判斷引腳的電平變化來讀取數(shù)據(jù),而節(jié)約數(shù)據(jù)讀取時(shí)間。其中射頻收發(fā)器CC1101接收函數(shù)流程圖如圖3所示。
4 結(jié)語
在車輛定位系統(tǒng)設(shè)計(jì)中,需要考慮環(huán)境因素,特別是強(qiáng)磁、強(qiáng)電、建筑物等的干擾會(huì)對(duì)GPS接收的數(shù)據(jù)的準(zhǔn)確性帶來影響。車輛定位系統(tǒng)要想進(jìn)一步發(fā)展,還需要利用3G或者4G網(wǎng)絡(luò)技術(shù)[4],通過車載視頻監(jiān)控系統(tǒng)為我們同步提供車輛行駛記錄,特別在行駛過程中遇到的特發(fā)情況有效進(jìn)行定位、記錄和處理,對(duì)促進(jìn)我國的交通運(yùn)輸?shù)母咝Оl(fā)展具有實(shí)用價(jià)值。
[參考文獻(xiàn)]
[1]劉世杰,陳維斌.應(yīng)用GPS、GSM車輛定位以及車載視頻監(jiān)控系統(tǒng)的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2012(14).
[2]錢佳琪.基于GPS、3G車輛定位及車載視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與研究[J].河南科技,2014(4).
[3]謝家春,陳來.基于GPS/GPRS的車輛定位監(jiān)管系統(tǒng)研究與實(shí)現(xiàn)[J].信息技術(shù),2012(12).
[4]王穎,侯亮.基于ARM Linux的3G無線車載視頻監(jiān)控系統(tǒng)[J].現(xiàn)代電子技術(shù),2013(32).