基于GPS/GPRS的車(chē)輛移動(dòng)監控終端的設計與實(shí)現
——
1 GPS與GPRS
全球定位系統(Global Positioning System,GPS)是美國從上世紀70年代開(kāi)始研制的具有在海、陸、空全方位實(shí)時(shí)三維導航與定位能力的新一代衛星導航與定位系統,由于能為用戶(hù)目標提供全天候、高精度、連續實(shí)時(shí)的導航、定位和授時(shí),已被廣泛應用于地面移動(dòng)目標的跟蹤定位。
隨著(zhù)移動(dòng)GPRS業(yè)務(wù)的開(kāi)展,利用GPRS來(lái)進(jìn)行GPS數據傳輸優(yōu)勢明顯。GPRS(General Packet Radio Service,通用分組無(wú)線(xiàn)業(yè)務(wù))是一種以分組交換技術(shù)為基礎,采用IP數據網(wǎng)絡(luò )協(xié)議,傳輸高速、低速數據及信令的高效數據傳輸網(wǎng)絡(luò )。相對于傳統的遠程傳輸方式來(lái)說(shuō),GPRS數據傳輸具有突出的優(yōu)點(diǎn)。一方面,GPRS資費比較便宜,可以采用多種資費方案。對于大數據量業(yè)務(wù)的用戶(hù)可以采用包月的方式,對于小數據量業(yè)務(wù)的用戶(hù)可以根據通信的數據量和提供的服務(wù)質(zhì)量進(jìn)行計費。另一方面,在GPRS網(wǎng)中,用戶(hù)只需與網(wǎng)絡(luò )建立一次連接,就可長(cháng)時(shí)間的保持這種連接,并只在傳輸數據時(shí)才占用信道并被計費,保持時(shí)不占用信道不計費。這樣,數據采集點(diǎn)不用頻繁建立連接,也不必支付傳輸間隙時(shí)的費用,而且GPRS能夠較好地支持頻繁、少量突發(fā)型的數據業(yè)務(wù)。此外,GPRS網(wǎng)絡(luò )接入速度快,提供了與現有數據網(wǎng)的無(wú)縫連接。由于GPRS網(wǎng)本身是一個(gè)分組型數據網(wǎng),支持TCP/IP,X.25等協(xié)議,可以直接與分組數據網(wǎng)(IP網(wǎng)或X.25網(wǎng))互通,接入速度快于電路型數據業(yè)務(wù)。
2 系統組成和功能
整個(gè)基于GPS/GPRS車(chē)輛監控系統由車(chē)載移動(dòng)終端、通信網(wǎng)絡(luò )和監控中心組成。其系統組成如圖1所示。

移動(dòng)車(chē)輛配備的GPS接收機用以獲取自己當前的位置、時(shí)間等信息,通過(guò)GPRS或短信的方式上傳到中心通信服務(wù)服務(wù)器。在監控中心站,通訊服務(wù)器接收各監控目標的位置信息,并通過(guò)通信控制器送往中心服務(wù)器在電子地圖中顯示,對當前受監控車(chē)輛所在的位置、車(chē)速及行進(jìn)方向進(jìn)行實(shí)時(shí)監控,并可以通過(guò)網(wǎng)絡(luò )對車(chē)載終端進(jìn)行控制,實(shí)現移動(dòng)車(chē)輛與監控中心的雙向數據傳輸,完成對車(chē)輛運行狀態(tài)、安全狀態(tài)、技術(shù)狀態(tài)的監控。
3 車(chē)載移動(dòng)監控終端的設計和實(shí)現
根據系統結構框架,車(chē)載終端實(shí)現的主要功能有移動(dòng)監控功能,當接收到監控中心的監控命令后,自動(dòng)地根據要求將位置信息通過(guò)GPRS或SMS發(fā)送到監控中心;車(chē)體控制功能,根據接收的控制命令實(shí)現對車(chē)體的控制,比如點(diǎn)火線(xiàn)等端口的監測、斷電/油路;安防功能,當汽車(chē)遇到特殊情況,如遇劫等,可以通過(guò)按鈕發(fā)送SMS向監控中心報警。
3.1 系統組成的硬件框圖
車(chē)載移動(dòng)終端由主控處理器、GPRS通信模塊、GPS模塊等組成,其結構框圖如圖2所示。根據車(chē)載設備低功耗的要求,主控芯片上我們選用了SAMSUNG公司的S3C44B0X。S3C44B0X采用ARM7TDMI內核,并提供豐富的內置部件,包括:8 kB cache、內部SRAM、LCD控制器、帶自動(dòng)握手的2通道UART、I/O端口、8通道10位ADC、PLL倍頻器等,他的低功耗精簡(jiǎn)和出色的全靜態(tài)設計特別適合用于對成本和功耗敏感的應用。

GPRS模塊是整個(gè)系統的通信基礎,我們采用SI-MENS的MC35i。MC35i是新一代GSM/GPRS雙模模塊,支持GSM900/GSM1800雙頻和GRPS Class 8/ClassB。MC35i體積小巧,功耗低,能提供數據、語(yǔ)音、短信、傳真功能,可廣泛用于遙感測量記錄傳輸、遠程信息處理、電話(huà)。GPRS模塊通過(guò)串行口UART2與主控芯片通信。
GPS接收單元我們采用μ-blox的GPS-MS1E,他具有高捕獲和靈敏度、超低功耗、體積小等優(yōu)點(diǎn),主控芯片對GPS的控制主要是通過(guò)串行口UART1接收GPS定位信息。
用戶(hù)按鍵與SC44B0的相應的I/O口連接以便控制器狀態(tài)變化。同時(shí)系統還預留了豐富的外圍接口,可靈活外接各種數據采集子系統,具有較大的可擴展性。
3.2 系統軟件設計
由于車(chē)載終端需要完成與GPS模塊、GPRS模塊、其他I/O模塊的交互和監控,單一的任務(wù)無(wú)法完成,因此需要實(shí)時(shí)操作系統的支持。在嵌入式操作系統上選用美國著(zhù)名RTOS廠(chǎng)商ATI公司的Nucleus PLUS。他是在嵌入式實(shí)時(shí)多任務(wù)操作系統Nucleus基礎,為實(shí)時(shí)嵌入式應用而設計的一個(gè)搶先式多任務(wù)操作系統內核。Nucleus PLUS對CPU的支持能力比較強,支持當前流行的大多數RISC,CISC,DSP處理器。其95%的代碼是用ANSI C寫(xiě)成的,非常便于移植并支持大多數類(lèi)型的處理器。Nucleus PLUS提供了任務(wù)控制、任務(wù)通信、任務(wù)同步、內存管理、可編程的定時(shí)器、標準的輸入/輸出設備接口等系統服務(wù)。
按功能上將系統應用軟件分為9個(gè)模塊,每個(gè)模塊由一個(gè)主任務(wù)和若干個(gè)子任務(wù)組成,任務(wù)內部采用有限狀態(tài)機的方式進(jìn)行切換,任務(wù)之間采用消息管道(pipe)進(jìn)行通信,每個(gè)模塊都定義了自己的消息接受管道。各個(gè)模塊之間的關(guān)系如圖3所示。

(1) 主控模塊是系統的核心模塊,負責系統的控制,以消息分發(fā)的方式與其他模塊交互,并控制其運行狀態(tài)達到總體控制系統運行的目的。根據系統工作時(shí)處理的不同任務(wù)將主控模塊劃分為啟動(dòng)上電、正常工作、處理SMS數據、處理GPRS數據和退出下電五個(gè)狀態(tài)。主控模塊的任務(wù)名為SyscMain,他有自己的消息接收管道pipe[SY-SC],他循環(huán)地從此管道中接收和處理消息,并根據消息體的內容在主控模塊的不同的狀態(tài)之間轉移切換,同時(shí)通過(guò)向其他模塊的消息管道發(fā)送消息來(lái)控制他們的運行狀態(tài),另一方面其他模塊通過(guò)消息管道向主控通知其自身的運行狀態(tài)和接受的數據,以接受主控模塊的監控。
(2) GPS模塊主要負責GPS數據的接收和解析。由于GPS輸出數據采用NMEA-0183格式,輸出數據為多種格式,在本系統中,僅選擇了取其中的一種數據格式:GPRMC(推薦最小數據量的GPS信息),其格式為(見(jiàn)表1):
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<lO>,<11>,<12>*hh

當GPS輸出數據為有效定位數據時(shí),提取相應的信息(經(jīng)緯度、高度、速度等),同時(shí)轉換UTC時(shí)間為本地時(shí)間,封裝為系統自定義的GPS DATA數據格式發(fā)送到通信任務(wù)模塊。
(3) PPP模塊負責GPRS的底層PPP連接和PPP數據包的處理。點(diǎn)對點(diǎn)協(xié)議(PPP)為在點(diǎn)對點(diǎn)連接上傳輸多協(xié)議數據包提供了一個(gè)標準方法。在TCP/IP協(xié)議集中他是一種用來(lái)同步調制連接的數據鏈路層協(xié)議。該模塊實(shí)現負責TCP/IP協(xié)議棧低層的PPP協(xié)議的連接和釋放,以及相應收到的PPP數據幀的處理與上層的TCP/IP層交互。主要包括PPP協(xié)議數據幀的封裝方式、初始化的LCP協(xié)議的協(xié)商、PAP密碼驗證和NCP協(xié)議的協(xié)商過(guò)程的處理。該模塊由外掛模塊Nucleus NET提供支持。
(4) 通信模塊(GPRS模塊)負責與監控中心系統通信,完成GPRS數據的收發(fā)和短消息的收發(fā)。CPU對GPRS的控制主要是通過(guò)UART2發(fā)送AT命令實(shí)現。GSM AT指令集是由諾基亞、愛(ài)立信、摩托羅拉和HP等廠(chǎng)家共同為GSM系統研制的,提供了一種移動(dòng)平臺與數據終端設備之間的通用接口,并被加入到GSM 07.05標準以及之后的GSM 07.07標準。用戶(hù)可以通過(guò)AT指令實(shí)現呼叫控制、短消息SMS、電話(huà)本、數據業(yè)務(wù)、補充業(yè)務(wù)、傳真等方面的控制。
為滿(mǎn)足用戶(hù)進(jìn)行GPRS數據通信的要求,NucleusNET作為外掛模塊能與Nucleus PLUS無(wú)縫結合從而實(shí)現其網(wǎng)絡(luò )互聯(lián)功能。Nucleus NET通常使用TCP/UDP協(xié)議的客戶(hù)/服務(wù)器運行模式,完成建立連接、發(fā)送數據及接收數據的工作。
TCP/IP的建立過(guò)程中,首先調用Nucleus NET提供的NU_init函數初始化GPRS網(wǎng)絡(luò ),通過(guò)相應的設置AT指令來(lái)完成,包括檢測是否連接到網(wǎng)絡(luò )(AT+CREG),通信信號強弱(AT+CSQ)以及SIM卡的PIN值是否輸入(AT+CPIN)等。然后用PPP撥號方式撥入GPRS網(wǎng)絡(luò ),完成底層的數據鏈路層的連接,這部分由上述的PPP模塊來(lái)完成。接著(zhù)調用Nu_Socket函數為他的通信分配一個(gè)套接字,然后調用NU_Connect函數與監控中心服務(wù)器建立連接成功后,就可以進(jìn)行GPRS數據的發(fā)送NUSend.和接受NU_Reev.
在監控中心服務(wù)器和移動(dòng)終端上的數據傳輸協(xié)議上,為了兼容GPRS和GSM短消息這兩種通信方式,系統自定義了如圖所示的通信幀結構,其中協(xié)議幀最大長(cháng)度為140 B,包括幀控制字節。

其中固定使用字母“A”作為幀頭;幀類(lèi)型用來(lái)表示該幀的具體含義,當為下行通信幀(監控中心服務(wù)器→終端)時(shí)表示為監控中心對終端的控制命令類(lèi)型,比如設定定時(shí)報位命令、設定超速報警命令、終端配置命令等。當為上行通信幀(終端→監控中心服務(wù)器)時(shí)該字節省略;幀長(cháng)為該幀體字段的長(cháng)度;幀長(cháng)的反為幀長(cháng)字段按位取反的結果;幀體是個(gè)串類(lèi)型,依據幀類(lèi)型的不同表示不同的含義,當該幀為上行通信幀時(shí),幀體的內容為系統自定義的GPS數據;幀序號從0開(kāi)始到255后歸0,用來(lái)對幀順序進(jìn)行判斷;校驗和為幀類(lèi)型、幀長(cháng)、幀長(cháng)的反、幀序號、幀體幾個(gè)字段各字節按字節異或的結果,用來(lái)判斷該幀的正確性。
另一方面,用戶(hù)還可以通過(guò)按鍵發(fā)送SMS來(lái)上報監控中心。主控芯片利用串口向GSM Modem收發(fā)一系列的GSM 07.05標準所定義的AT命令集,就能達到控制收發(fā)SMS的目的。根據GSMGSM 07.05標準,對SMS的控制共有3種接入協(xié)議:Block Mode;基于A(yíng)T命令的TextMode;基于A(yíng)T命令的PDU Mode。本系統采用PDU模式對短信息正文經(jīng)過(guò)十六進(jìn)制編碼后傳送。PDU模式下可以采用3種編碼方式來(lái)對發(fā)送的內容進(jìn)行編碼,他們是7 b,8 b和UCS2編碼。7 b編碼用于發(fā)送普通的ASCII字符,他將一串7 b的字符(最高位為0)編碼成8 b的數據,每8個(gè)字符可“壓縮”成7個(gè);8 b編碼通常用于發(fā)送數據消息;而UCS2編碼用于發(fā)送Unicode字符。發(fā)送SMS的具體過(guò)程為:
①首先發(fā)送AT以測試GSM Modem連接是否正常,等待GSM Modem返回OK;
②發(fā)送ATE0設置GSM Modem取消回顯模式,等待返回OK;
③發(fā)送AT+CMGF=0設置發(fā)送短信時(shí)選用PDU格式編碼,等待返回OK;
④接下來(lái)為正式發(fā)送SMS,先調用PDU編碼函數對接收到GPS數據GPS_DATA進(jìn)行編碼,并根據通信協(xié)議封裝為上行通信幀格式,然后發(fā)送指令。
AT+CMGS=監控中心短消息號碼+回車(chē)符(0x0d,0x0a)+上行通信幀數據+回車(chē)符(0x0d,0x0a),等待返回OK。
上述的每個(gè)步驟完成后都必須加上回車(chē)符號(0x0d,0x0a)以使GSM Modem區別為不同的AT指令,而且都必須等待相應的應答,若失敗(回應ERROR),需重新發(fā)送該AT指令。
(5) 附件模塊負責終端硬件設備的檢測,并通知主控模塊,實(shí)現應用程序對終端硬件的控制。
CPU對其他外圍接口的控制主要通過(guò)通用I/O口實(shí)現開(kāi)關(guān)(電平)輸入/輸出,同時(shí)通過(guò)外部中斷的方式實(shí)現了與點(diǎn)火信號、車(chē)用防盜報警器、緊急報警(SOS)等的接口。
4 結 語(yǔ)
使用GPRS作為GPS車(chē)輛綜合監控調度管理系統的無(wú)線(xiàn)傳輸手段,具有費用低、無(wú)需線(xiàn)纜施工及安全可靠、維護方便的特點(diǎn),是一種經(jīng)濟可行、技術(shù)先進(jìn)的系統構建方案,這將使車(chē)輛監控系統具有更為廣闊的應用前景。本文設計的基于GPS/GPRS的車(chē)載移動(dòng)終端已投入實(shí)際運行,工作穩定,能夠較精確地完成車(chē)輛監控,操作簡(jiǎn)單方便。
tcp/ip相關(guān)文章:tcp/ip是什么
評論