摘 要: 以S3C2410為處理器核心,以Linux操作系統(tǒng)為平臺(tái),運(yùn)用GPS全球定位技術(shù)、GSM數(shù)字移動(dòng)通信技術(shù)、GUI開(kāi)發(fā)技術(shù)、多媒體功能應(yīng)用技術(shù)、數(shù)據(jù)庫(kù)技術(shù)等,設(shè)計(jì)了嵌入式車(chē)載導(dǎo)航與防盜系統(tǒng),實(shí)現(xiàn)了定位、導(dǎo)航、防盜、影音播放等功能。通過(guò)軟硬件測(cè)試,驗(yàn)證了該系統(tǒng)的穩(wěn)定性和可操作性。
關(guān)鍵詞: GPS/GPRS;Linux;ARM;Qt/Embedded;SQLite
GPS車(chē)載導(dǎo)航與防盜系統(tǒng)是集合全球定位系統(tǒng)(GPS)、地理信息處理系統(tǒng)(GIS)、數(shù)字移動(dòng)通信系統(tǒng)(GSM)和計(jì)算機(jī)數(shù)據(jù)處理技術(shù),通過(guò)移動(dòng)通信網(wǎng)絡(luò)的形式傳遞信息的高科技產(chǎn)品,可實(shí)現(xiàn)全球衛(wèi)星智能導(dǎo)航、防盜報(bào)警、娛樂(lè)等諸多功能。
1 總體設(shè)計(jì)
根據(jù)車(chē)載導(dǎo)航與防盜的實(shí)際需求,本系統(tǒng)具有以下功能:
(1)定位功能:GPS通過(guò)接收衛(wèi)星信號(hào),準(zhǔn)確地定位其所在的位置,位置誤差小于10 m,利用GPS在地圖上實(shí)時(shí)顯示車(chē)輛當(dāng)前位置;
(2)地圖導(dǎo)航功能:輸入目標(biāo)地點(diǎn)后,自動(dòng)在地圖上顯示出行車(chē)路線。若用戶(hù)不小心錯(cuò)過(guò)路口,沒(méi)有走車(chē)載GPS導(dǎo)航系統(tǒng)推薦的最佳線路,該系統(tǒng)將重新為用戶(hù)設(shè)計(jì)一條回到主航線的路線,或是為用戶(hù)設(shè)計(jì)一條從新位置到達(dá)終點(diǎn)的最佳線路;
(3)語(yǔ)音導(dǎo)航功能:輸入目標(biāo)地點(diǎn)后,車(chē)輛若遇到前方路口或者轉(zhuǎn)彎時(shí),車(chē)載GPS語(yǔ)音系統(tǒng)提示用戶(hù)轉(zhuǎn)向等語(yǔ)音提示;
(4)防盜功能:若車(chē)輛被盜,則通過(guò)GPRS發(fā)送短信給用戶(hù),返回車(chē)輛當(dāng)前位置,便于追蹤;
(5)娛樂(lè)功能:播放U盤(pán)、SD卡中的圖片、音頻、視頻文件以及游戲模式;
(6)智能導(dǎo)航功能:在短時(shí)間內(nèi)失去GPS信號(hào)時(shí),可根據(jù)車(chē)內(nèi)的加速度傳感器,結(jié)合行車(chē)速度計(jì)算出行車(chē)的實(shí)際情況。
2 系統(tǒng)硬件設(shè)計(jì)
鑒于以上功能,可將系統(tǒng)硬件整體架構(gòu)分為主控模塊、GPS模塊、GPRS模塊、重力加速度傳感器模塊、LCD觸摸屏模塊和語(yǔ)音報(bào)讀模塊七大功能模塊,如圖1所示。
(1)主控模塊:選用FS2410開(kāi)發(fā)板,主要用于控制并協(xié)調(diào)系統(tǒng)模塊間的正常通信。此控制模塊包含兩片大小為32 MB的NAND Flash、一片大小為2 MB的NOR Flash以及一片以太網(wǎng)控制芯片、兩個(gè)USB接口、一個(gè)HOST接口、一個(gè)SD卡接口、一個(gè)液晶接口、兩路串口通信模塊等硬件資源。其中雙串口能達(dá)到GPS模塊、GPRS模塊通信的要求。
(2)GPS模塊:GPS是20世紀(jì)70年代由美國(guó)陸海空三軍聯(lián)合研制的新一代空間衛(wèi)星導(dǎo)航定位系統(tǒng)。其主要功能是按照衛(wèi)星的截止角跟蹤衛(wèi)星的運(yùn)行,捕獲相應(yīng)的衛(wèi)星信號(hào),從而測(cè)量出接收器到衛(wèi)星的偽距離和距離的變化率,計(jì)算出衛(wèi)星軌道參數(shù)等數(shù)據(jù),進(jìn)而得出用戶(hù)所在地理位置的經(jīng)緯度、高度、速度、時(shí)間等信息。本系統(tǒng)采用的芯片是SIRF2e/LP,定位精度可達(dá)到2 m,加速度可達(dá)到0.1 m/s,最高海拔支持18 000 m。該模塊在本系統(tǒng)中與S3C2410的UART接口2相連接。
(3)GPRS模塊:本系統(tǒng)采用的是PTB206 型號(hào)的通信模塊,它支持GSM900/DCS 1 800 MHz的頻段,支持GSM 07.07標(biāo)準(zhǔn)AT指令集,支持上傳和下載,速率能達(dá)到85.6 kb/s,內(nèi)嵌TCP/IP協(xié)議。該模塊在本系統(tǒng)中與S3C2410的UART接口1相連接。
(4)重力加速度傳感器模塊:是一種重力傳感器(G-sensor),根據(jù)電壓效應(yīng)原理,由彈性敏感器件構(gòu)成懸臂式位移器,結(jié)合儲(chǔ)能彈簧來(lái)驅(qū)動(dòng)電觸點(diǎn),完成從重力變化到電信號(hào)的轉(zhuǎn)換,從而計(jì)算出產(chǎn)生電壓與所施加的加速度傳感器之間的關(guān)系,以實(shí)現(xiàn)將加速度轉(zhuǎn)化成電壓輸出、檢測(cè)目標(biāo)是否有移動(dòng)的行為、判斷設(shè)備是否被盜,并配合GPRS模塊實(shí)現(xiàn)防盜、追蹤的目的。系統(tǒng)中使用的芯片是ADXL345,它是一款小巧纖薄的低功耗三軸加速度計(jì),分辨率為3.9 mg/LSB,測(cè)量?jī)A斜角度變化精度能達(dá)到1.0°,可以對(duì)高達(dá)±16 g的加速度進(jìn)行高分辨率(13位)測(cè)量,數(shù)字輸出數(shù)據(jù)為16位二進(jìn)制補(bǔ)碼格式。該模塊可通過(guò)SPI(3線或4線)或者I2C數(shù)字接口與主控模塊的GPIO口相連接。
(5)LCD觸摸屏模塊:主要用于電子地圖、多媒體應(yīng)用,可提供豐富的圖形界面以及人機(jī)交互操作。本系統(tǒng)中采用的是臺(tái)灣東華公司的一款型號(hào)為WXCAT-35TG3的3.5寸TFT LCD。分辨率為RGB 320×240,屏幕表面有一片四線電阻式觸摸屏。
(6)語(yǔ)音報(bào)讀模塊:在導(dǎo)航、防盜報(bào)警時(shí),本模塊將實(shí)現(xiàn)各種功能的提示。在本系統(tǒng)中采用的語(yǔ)音芯片是ISD1420P。利用該芯片可以實(shí)現(xiàn)語(yǔ)音分段錄、放音的功能,最小分段20 s/160段,并且高優(yōu)先級(jí)錄音,低電平或負(fù)邊沿觸發(fā)放音。
3 系統(tǒng)軟件設(shè)計(jì)
在本系統(tǒng)中,軟件開(kāi)發(fā)平臺(tái)采用的是ubuntu 8.10,UBOOT選用的版本是1.3.4,Linux內(nèi)核選用的版本是Linux-2.6.26,交叉編譯器選用的是gcc-4.1.1,GUI的版本用的是QT-embedded-4.5.2[1]。
3.1 總體IO任務(wù)分解
圖2顯示的是總體IO任務(wù)分解。
(1)重力加速度傳感器的任務(wù):實(shí)時(shí)地獲取當(dāng)前的角度數(shù)據(jù)并送于主控;
(2)GPS任務(wù):通過(guò)UART2接收任務(wù),負(fù)責(zé)GPS數(shù)據(jù)的接收、檢驗(yàn),并把獲取的數(shù)據(jù)進(jìn)行處理并送于主控;
(3)GPRS任務(wù):在系統(tǒng)開(kāi)機(jī)時(shí),負(fù)責(zé)建立GPRS數(shù)據(jù)鏈路,同時(shí)主控通過(guò)UART1發(fā)送任務(wù),將數(shù)據(jù)發(fā)送給用戶(hù),實(shí)現(xiàn)監(jiān)控;
(4)主控任務(wù):對(duì)重力加速度傳感器、GPS模塊獲取到的數(shù)據(jù)實(shí)時(shí)地進(jìn)行讀寫(xiě)與計(jì)算控制,并且針對(duì)GPRS模塊進(jìn)行數(shù)據(jù)的發(fā)送,同時(shí)結(jié)合用戶(hù)實(shí)時(shí)的需要開(kāi)啟相應(yīng)的應(yīng)用服務(wù)。
3.2 GPS的數(shù)據(jù)接收與處理
GPS模塊采用中斷方式對(duì)GPS數(shù)據(jù)進(jìn)行接收以及對(duì)GPS數(shù)據(jù)中的時(shí)間、位置等進(jìn)行處理[2]。在默認(rèn)情況下,GPS模塊輸出數(shù)據(jù)的波特率為4 800 b/s,輸出信息的消息類(lèi)型有:GPRMC、GPRGA、GPGSA、GPGSV、PGRME等,詳細(xì)的GPS數(shù)據(jù)處理流程如圖3所示。
3.3 地圖的處理與顯示
MapInfo是美國(guó)MapInfo公司的桌面地理信息系統(tǒng)軟件,是一種數(shù)據(jù)可視化、信息地圖化的桌面解決方案。它是以mif格式來(lái)存儲(chǔ)的,每個(gè)mif文件由兩個(gè)部分組成:文件頭和數(shù)據(jù)區(qū)。其中文件頭用于將MapInfo這樣的地圖數(shù)據(jù)生成電子地圖,數(shù)據(jù)區(qū)則用來(lái)定義幾何對(duì)象。導(dǎo)航的界面顯示是Trolltech[3]公司的Qt/Embedded2.3.6和Qtopia1.7來(lái)實(shí)現(xiàn)應(yīng)用程序的人機(jī)界面交互的。地圖的存儲(chǔ)采用的是SQLite[4]數(shù)據(jù)庫(kù),它是一款開(kāi)源的輕型數(shù)據(jù)庫(kù),占用的資源非常低,在嵌入式設(shè)備中,只需要幾百K的內(nèi)存就可以運(yùn)行。
3.4 GPRS模塊的設(shè)計(jì)
GPRS模塊用于實(shí)現(xiàn)防盜追蹤功能,處理器利用AT指令(Attention Command)來(lái)進(jìn)行模塊操作[5]。AT指令是一套通過(guò)串口來(lái)控制MODEM的標(biāo)準(zhǔn)協(xié)議族,指令的格式以AT開(kāi)頭,以CR結(jié)束。詳細(xì)的GPRS工作流程如圖4所示。
3.5 加速度傳感器的設(shè)計(jì)
加速度傳感器需實(shí)現(xiàn)兩大功能:(1)防盜功能:當(dāng)發(fā)生盜竊時(shí),加速度信號(hào)會(huì)發(fā)生不同于靜止?fàn)顟B(tài)的不規(guī)則變化,采用標(biāo)準(zhǔn)差分析法對(duì)加速度信號(hào)進(jìn)行分析,可以判斷盜竊事件的發(fā)生;(2)GPS盲區(qū)內(nèi)的定位:利用加速度傳感器獲取車(chē)輛的加速度,當(dāng)車(chē)輛進(jìn)入“城市峽谷”等GPS盲區(qū)點(diǎn)時(shí),利用航位推算的DR算法來(lái)實(shí)現(xiàn)短時(shí)間內(nèi)的定位。
4 系統(tǒng)的實(shí)現(xiàn)
本系統(tǒng)以北京海淀區(qū)北四環(huán)為例,展示了系統(tǒng)的運(yùn)行情況,驗(yàn)證了系統(tǒng)的穩(wěn)定性和實(shí)用性。其中圖5顯示的是導(dǎo)航時(shí)導(dǎo)航線路的選取與設(shè)置。圖6是防盜通信設(shè)置主界面,通過(guò)此界面來(lái)設(shè)置防盜端的手機(jī)號(hào)碼、防盜消息的發(fā)送來(lái)實(shí)現(xiàn)防盜,同時(shí)通過(guò)系統(tǒng)密碼的設(shè)置來(lái)加強(qiáng)系統(tǒng)的安全性。圖7是多媒體播放部分,圖中顯示的是正在播放音頻文件主界面。
本文以FS2410開(kāi)發(fā)板作為硬件支持,以Linux為開(kāi)發(fā)平臺(tái),以Qt/Embedded為GUI設(shè)計(jì)界面,通過(guò)嵌入式軟硬件結(jié)合的設(shè)計(jì)方法,最終設(shè)計(jì)并實(shí)現(xiàn)了嵌入式車(chē)載導(dǎo)航與防盜系統(tǒng)。
參考文獻(xiàn)
[1] 韋東山.嵌入式Linux應(yīng)用開(kāi)發(fā)完全手冊(cè)[M].北京:人民郵電出版社,2009.
[2] 劉基余.GPS衛(wèi)星導(dǎo)航定位原理與方法[M].北京:科學(xué)出版社,2008.
[3] Trolltech.Qt reference documentation Qt/Embedded[A]. Norway:Trolltech,2004.
[4] 胡菲菲.SQLite在嵌入式電子地圖中的應(yīng)用[J].湖南科技學(xué)院學(xué)報(bào),2008,29(4):82-84.
[5] 孫勇,劉杰.基于ARM的GPRS通信終端設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2010,23(5):49-52.