當前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]  本文將介紹一種支持GPRS的GPS系統(tǒng),并且對其中所涉及到的硬件、軟件設(shè)計方案給出了詳細的描述。通過該模型,可以比較好的實現(xiàn)GPS定位信息數(shù)據(jù)遠程傳輸。  1 系統(tǒng)模型  圖1是本方案的系統(tǒng)模型。從GPS終端采集

  本文將介紹一種支持GPRSGPS系統(tǒng),并且對其中所涉及到的硬件、軟件設(shè)計方案給出了詳細的描述。通過該模型,可以比較好的實現(xiàn)GPS定位信息數(shù)據(jù)遠程傳輸。

  1 系統(tǒng)模型

  圖1是本方案的系統(tǒng)模型。從GPS終端采集來的定位數(shù)據(jù),經(jīng)過GPRS網(wǎng)絡(luò)透明地傳輸?shù)竭h程GPS服務(wù)器,遠程GPS服務(wù)器通過對GPS數(shù)據(jù)的解碼便可以獲得定位信息。其詳細的流程可以概括如下:

  


 

 ?、?首先,GPS終端發(fā)出包括有APN號碼的GPRS登錄請求,登陸到 GPRS網(wǎng)絡(luò);

 ?、?位于移動的SGSN根據(jù)登陸請求中的APN,找到登記的Radius服務(wù)器,并將用戶認證信息送至Radius服務(wù)器;

 ?、?Radius認證服務(wù)器根據(jù)所傳遞過來的認證信息,確認是否是合法用戶發(fā)來的請求,如果是合法用戶,則根據(jù)配置為其分配一個IP地址;

 ?、?Radius服務(wù)器向GGSN發(fā)送攜帶用戶地址的確認信息;

 ?、?GPS終端得到了IP地址,就可以根據(jù)配置(作為服務(wù)器端或者客戶端)與GPS服務(wù)器建立起TCP連接;

 ?、?連接建立后,GPS終端采集到的定位信息數(shù)據(jù)就會通過建立的TCP數(shù)據(jù)連接透明地傳輸?shù)紾PS服務(wù)器;

 ?、?當GPS服務(wù)器有控制命令或其它數(shù)據(jù)要向下發(fā)送時,可以通過TCP連接傳送到GPS終端;

 ?、?GPS終端根據(jù)配置可以作為服務(wù)器端或者客戶端建立與用戶管理服務(wù)器的數(shù)據(jù)連接,用戶管理服務(wù)器通過該連接對GPS終端進行監(jiān)控、管理以及遠程更新系統(tǒng)內(nèi)核程序。

  2 GPS終端的設(shè)計

  2.1 硬件設(shè)計

  GPS終端的電路框圖如圖2所示,GPS終端的核心是一塊負責TCP/IP數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)處理器:IP2022芯片。IP2022是UbiCom公司的高性能網(wǎng)絡(luò)處理器,具有100MIPS的處理能力,并專門針對網(wǎng)絡(luò)應(yīng)用進行了優(yōu)化。在IP2022芯片中集成了兩個全雙工的串化器/解串器(Ser/Des)硬件單元,能直接與各種常用接口相連。這種功能使其能夠?qū)崿F(xiàn)片內(nèi)10Base-T以太網(wǎng)、USB以及其它各種快速串行協(xié)議。由于擁有Ser/Des硬件單元,IP2022也便于從一種協(xié)議轉(zhuǎn)換到另一種協(xié)議,因此比較適合于實現(xiàn)GPS終端。

  

 

  IP2022的軟件模塊包括USB、UART、I2C、SPI以及一個完整的TCP/IP堆棧,它能夠在執(zhí)行應(yīng)用程序的同時,提供高速計算、靈活的I/O控制和高效的數(shù)據(jù)處理功能。

  在本系統(tǒng)中,主要應(yīng)用了IP2022的兩個Ser/Des硬件單元以及其TCP/IP協(xié)議棧。兩個全雙工的Ser/Des硬件單元經(jīng)過串口轉(zhuǎn)換電路(核心為MAX232)轉(zhuǎn)換成為兩個標準的RS232接口,通過這兩個RS232接口便于與GPS模塊以及GPRS模塊的通信。

  系統(tǒng)時鐘模塊為硬件系統(tǒng)提供工作所需要的時鐘脈沖,這部分比較簡單,但是需要注意兩個方面。一是晶振的選擇,雖然IP2022也支持無源晶振,但是在實際應(yīng)用中發(fā)現(xiàn)還是有源晶振與IP2022的兼容性好一些,所以在可能的情況下還是選擇有源晶振比較好。二是晶振頻率的選擇,由于串口通信的波特率是對晶振頻率分頻而成,如果晶振頻率選擇不當,在串口通信時會出現(xiàn)亂碼。經(jīng)試驗和計算所得,4.9152MHz的晶振可以很好的支持多種常用波特率。

  程序的寫入和調(diào)試是通過在線編程接口實現(xiàn)的,IP2022支持在線編程和調(diào)試,該部分主要把IP2022的編程接口引出,加以適當?shù)母綦x保護,并通過SPI和并口的轉(zhuǎn)換電路與調(diào)試機的并口相連接。

  在本系統(tǒng)中,內(nèi)部電壓有兩種,一種是接口設(shè)備所需要的3V,另一種是IP2022所需要的2.5V。這兩種電壓是經(jīng)過電源轉(zhuǎn)換模塊轉(zhuǎn)換而成。由于GPRS模塊在數(shù)據(jù)發(fā)送的時候瞬間電流很大,電源轉(zhuǎn)換模塊也提供了足夠的功率和必要的保護。

  GPRS數(shù)據(jù)模塊實現(xiàn)GPRS傳輸?shù)墓δ?,相當于普通的Modem,市面上比較流行的有Motorola的G18在與GPRS數(shù)據(jù)傳輸模塊通信時,沒有采用直接操縱GPRS數(shù)據(jù)傳輸模塊接口,而是通過RS232連接,極大的降低了對GPRS數(shù)據(jù)傳輸模塊的依賴性,用戶可以根據(jù)需要,來選定GPRS數(shù)據(jù)模塊。

  GPS接收器采用了Motorola公司的M12,M12通過串口與RS232接口單元相連接?! ?.2 軟件設(shè)計

  在GPS終端軟件設(shè)計方面,為了便于以后擴展,采用了嚴格的分層結(jié)構(gòu),具體的軟件結(jié)構(gòu)如圖3所示。

  

 

  2.2.1 串口驅(qū)動模塊

  利用串口驅(qū)動模塊來完成對串口的操作,向上層提供對串口參數(shù)配置的功能,并在有數(shù)據(jù)收到或者發(fā)送完畢的時候通過IndicateReceive、IndicateSend回調(diào)函數(shù)向上層報告,上層軟件可以調(diào)用Send、Receive來進行收發(fā)。

  2.2.2 網(wǎng)絡(luò)驅(qū)動模塊

  在硬件中的GPRS模塊只是提供了一種硬件信道,與服務(wù)器之間的數(shù)據(jù)連接必須通過軟件完成。在通信時,軟件首先通過GPRS模塊特有的命令(一般為AT+CGMD)與GPRS網(wǎng)絡(luò)連接,再通過PPP協(xié)議建立數(shù)據(jù)鏈路,最后就可以通過TCP/IP協(xié)議與遠程的服務(wù)器通信了。這一部分與網(wǎng)絡(luò)操作的功能都放在網(wǎng)絡(luò)驅(qū)動模塊中加以實現(xiàn)。與串口驅(qū)動模塊類似,網(wǎng)絡(luò)驅(qū)動模塊也提供了數(shù)據(jù)傳輸?shù)囊恍┓?wù)。

  2.2.3 橋接模塊

  由于串口是一個慢速連接,主機與串口的通信有時甚至是單字節(jié)操作,如果對于每一個這樣小的通信都單獨通過一個TCP包發(fā)送的話,譬如說一個字節(jié)的數(shù)據(jù),這將產(chǎn)生一些41字節(jié)的分組:20字節(jié)的IP頭,20字節(jié)的TCP頭以及1字節(jié)的數(shù)據(jù)。如果在高速網(wǎng)絡(luò)上(例如局域網(wǎng)),這一些小分組通常不會引起麻煩,但是如果在GPRS這樣的網(wǎng)絡(luò)上(平均往返時間高達數(shù)百ms),則會增加擁塞出現(xiàn)的可能性,并將會使網(wǎng)絡(luò)的效率極其低。在通常的TCP/IP實現(xiàn)中,一般采用Nagle算法來解決這個問題。但是在Ubicom的協(xié)議棧中沒有這個功能,因此,必須自己實現(xiàn)這個算法。考慮到對下層硬件結(jié)構(gòu)的無依賴性,筆者將其放在橋接模塊中實現(xiàn),而不是放在網(wǎng)絡(luò)驅(qū)動模塊中實現(xiàn)。在算法實現(xiàn)中,當有串口數(shù)據(jù)到來時,對于小分組,并不立即就將其發(fā)出,而是等待一段時間(200s左右),如果在這段時間中再沒有小數(shù)據(jù)到來,那么將其發(fā)出,否則將數(shù)據(jù)進行累計后發(fā)出。當然有些系統(tǒng)要求立即發(fā)出,那么也可以通過配置取消這種功能。經(jīng)這樣實現(xiàn)后,效率有了很大的提高,具體的效果可以參考后面的實驗數(shù)據(jù)。

  2.2.4 輔助模塊

  在上面一些模塊的介紹中可以看到,其中有一些關(guān)鍵性的數(shù)據(jù)必須支持用戶自己配置,例如串口通信速度、停止位、網(wǎng)絡(luò)驅(qū)動模塊中GPRS所要連接的APN、賬戶、密碼、工作模式(是作為服務(wù)器運行還是客戶端運行)、靜態(tài)IP還是動態(tài)IP等。這一部分數(shù)據(jù)由配置模塊存儲在外部存儲器里,每次系統(tǒng)啟動的時候再由配置模塊載入。在輔助模塊中還包括一個重要的子模塊:遠程管理模塊,它實現(xiàn)對GPS終端的遠程管理,包括遠程跟蹤和遠程更新程序。系統(tǒng)的運行情況通過統(tǒng)計模塊進行統(tǒng)計,然后可以通過遠程管理模塊進行上報。

  2.2.5 系統(tǒng)監(jiān)控模塊

  對于放在遠程的一個無人看管的系統(tǒng)來說,最重要的一點就是容錯能力,必須能夠在任何錯誤的情況下自動恢復(fù)到正常運行狀態(tài),這一部分就是通過系統(tǒng)監(jiān)控模塊實現(xiàn)的。在GPS終端中,經(jīng)常出現(xiàn)的異常包括有TCP連接中斷和網(wǎng)絡(luò)連接中斷,這兩種錯誤是有區(qū)別的,解決的方法也不一樣。TCP連接中斷指的是TCP連接進入異常狀態(tài),不能在該連接上進行數(shù)據(jù)的收發(fā)工作。這種錯誤產(chǎn)生的原因是GPRS網(wǎng)絡(luò)有時會進入偽死狀態(tài),而導(dǎo)致雖然還在網(wǎng)絡(luò)上,但是數(shù)據(jù)的收發(fā)工作無法進行。通過在每個連接上設(shè)置一個收發(fā)超時計時器可以發(fā)現(xiàn)這種錯誤。當有數(shù)據(jù)傳輸時即復(fù)位計數(shù)器,如果計數(shù)器超時,則表明TCP連接中斷,此時應(yīng)該根據(jù)工作模式而采取不同的處理。如果是工作在客戶端模式,需要再次與服務(wù)器連接,如果工作在服務(wù)器模式,則只需要簡單的斷開連接即可。

  對于網(wǎng)絡(luò)連接中斷的情況探測起來比較困難,一般是通過監(jiān)測長時間沒有數(shù)據(jù)通信來判斷。如果一旦發(fā)生此類錯誤,則需要重新進行網(wǎng)絡(luò)的連接工作。

  由于軟件難免會有一些未曾發(fā)覺的錯誤,在發(fā)生此類錯誤的時候則由硬件看門電路復(fù)位系統(tǒng),并且在下次軟件啟動時將此類錯誤發(fā)生過的信息遠程傳送到服務(wù)器。

  3 服務(wù)器端軟件的設(shè)計

  GPS服務(wù)器程序可以采用兩種方式與遠程的GPS終端建立連接,一種是采用TCP方式,另外一種是采用串口通信方式。在采用串口通信方式時,需要編制一個虛擬串口驅(qū)動程序,將一個TCP連接模擬成為一個串口,這樣服務(wù)器就可以像操縱M12一樣對遠程的GPS終端進行操作了。

  GPS服務(wù)器和遠程GPS終端之間的通信協(xié)議采用了原始的M12通信命令,核心模塊在GPS服務(wù)器和M12之間進行了數(shù)據(jù)透明轉(zhuǎn)發(fā)的作用。M12支持有兩種通信數(shù)據(jù)格式: 一是Motorola二進制數(shù)據(jù)指令格式,在采用Motorola二進制格式時,通信速率可以保證在9600bps;另一種是NMEA-0183格式,其通信速率只有4800bps,同時在初始化GPS時還需要加入由Motorola二進制轉(zhuǎn)化為NMEA-0183的指令。因此建議使用Motorola二進制數(shù)據(jù)格式。

  在此設(shè)計當中,關(guān)鍵的環(huán)節(jié)在于兩個方面,一是連接的建立,二是M12的初始化。GPS終端返回的定位信息數(shù)據(jù)格式如下:

  @@Eamdyyhmsffffaaaaoooohhhhmmmmvvhhddtntimsd imsdimsdimsdimsdimsdimsdimsdsC。

  時間信息:m月,d日,yy年, h小時,m分,s秒。

  位置信息:aaaa緯度,oooo經(jīng)度,hhhh橢球高度。

  在所有信息終止的前的一個字節(jié)為校驗和,是所有信息字節(jié)的“異或”。

  收到數(shù)據(jù)后,只要對數(shù)據(jù)進行解碼,就可以獲得定位信息以及時間。

  4 服務(wù)器端的考慮

  在GPRS聯(lián)網(wǎng)中,必須注意的一個概念是APN。在登陸GPRS時,采用的APN不同,GPS終端和服務(wù)器之間所能采用的方式也有所不同。

  如果采用公網(wǎng)APN(cmnet),那么服務(wù)器端只要有一固定公網(wǎng)IP即可,此時Radius服務(wù)器由移動公司提供,GPS終端上網(wǎng)后的IP也是由移動公司的Radius服務(wù)器隨機分配的。GPS終端與服務(wù)器必須經(jīng)過NAT(Network Address Translation,網(wǎng)絡(luò)地址變換)后才能通信,而從我們數(shù)據(jù)服務(wù)器看過去的GPS終端的IP地址也不是它的真正地址。因此,GPS終端與數(shù)據(jù)服務(wù)器之間的連接只能由GPS終端發(fā)起,換言之,即GPS終端只能工作在客戶狀態(tài)。在采用公網(wǎng)時雖然可以節(jié)省開支,但需要考慮安全性問題,因為這時候是與Internet直接連通的,并且客戶之間也不可以直接訪問。

  與公網(wǎng)APN相對應(yīng)的一種方式是采用私有APN,即用戶向移動申請一個APN號。在采用這種方式時,所有登陸這個APN的用戶可以通過IP地址互相訪問,因此在數(shù)據(jù)量比較小的時候甚至可以采用一個也使用GPRS終端的用戶做服務(wù)器。Radius服務(wù)器的設(shè)置比較靈活,可以采用移動公司的Radius服務(wù)器,也可以自建一套Radius服務(wù)器。自建Radius服務(wù)器的最大好處就是GGSN會將驗證信息發(fā)送給我們,我們可以根據(jù)號碼或者其它信息為其分配一個靜態(tài)IP地址,非常適合GPS終端作為服務(wù)器運行。

  Radius服務(wù)器可以采用一些商用的服務(wù)器,但從實踐中看,自己編寫一套Radius服務(wù)器可能更加適合GPRS。

  5 結(jié) 論

  對系統(tǒng)進行了全面的測試,在傳輸效率上面,本系統(tǒng)表現(xiàn)的非常良好,連接上網(wǎng)絡(luò)的時間僅需要3s左右。在使用Class 12的GPRS模塊時,傳輸速率可以達到38kbps的上傳速度以及44kbps的下傳速度。對于一般的數(shù)據(jù)采集設(shè)備能夠保證數(shù)據(jù)的及時傳輸,在發(fā)生GPRS網(wǎng)絡(luò)短暫失效時,可以在網(wǎng)絡(luò)恢復(fù)后的10s內(nèi)重新在線,基本上保證了無間斷傳輸,因此可以滿足GPS用戶的需要。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉