无码人妻精品一区二区三区9厂-国产精品人人做人人爽人人添-在线永久免费观看黄网站-国产精品久久久久一区二区三区

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
實現GPRS數據傳輸新方法的研究
中華工控網
收藏本文     查看收藏

  隨著網絡應用的普及和移動裝備的大量增加,GPRS技術以其低廉的價格和較快的速率已經越來越多地應用到各種各樣的場合中,通過操作系統自帶的網絡協議來控制GPRS的撥號過程已經很成熟,但是,并非所有的數據傳輸系統都擁有操作系統或網絡協議。相對干昂貴的嵌入式芯片,8051系列單片機更經濟,更具有實用性且如果僅僅為了實現GPRS數據傳輸而采用嵌入操作系統也顯得過于復雜這就要求能夠有一種簡潔有效的新方法來實現整個撥號過程及數據傳輸過程。因此有必要研究一種簡單經濟的新辦法來解決這種矛盾。本文正是基于上述原因而提出了相應的解決辦法.

  一、網絡體系結構分析

  文中研究UDP/IP協議而不是TCP/IP協議,這主要根據本研究背景課題的實際情況而定。UDP相對于TCP的優點在干:簡潔、方便迅速、經濟。缺點在于:傳輸過程中可能出現“丟包”現象但對于本研究所涉及的工程項目則影響不大。具體硬件結構如圖1所示。主要是通過GPRS模塊實現遠程傳輸從傳感器采樣的數據同時能夠通過GPRS網絡實現遠程管理。外圍電路還包括了看門狗、時鐘、閃存、AD轉換器等上位機軟件再通過具體算法實現對數據的分析,是實現農業現代化的必不可少的基礎工作,有很重要的實際意義。

  研究基干GPRS的無線通訊必須首先明了通訊過程的網絡系統結構,才能在實際解決問題的過程中不致誤入歧途。

  GPRS無線數據傳輸的最低層,即物理層是通過RS232串口及GPRS模塊組成的,然后是數據鏈路層,該層是分析的重點和難點,其中涉及到PPP協議實現過程數據鏈路層上面是網絡層,其后是傳輸層,就是我們通常所說的UDP/IP,TCP/IP其中IP協議屬于網絡層協議,而UDP.TCP都屬于傳輸層協議傳輸層上方的是包括會話層、表示層、應用層等,均不屬本文討論范圍內,這里不再詳述。

  另一方面,每層協議都是基于下方協議而實現的即如果使用數據鏈路層則必須有物理層的支持。如果沒有物理層,實施軟件的物理介質也就不存在。同理,IP則是基于PPP協議實現的數據鏈路層,而UDP是基于IP協議實現的網絡層,這也就是UDP/IP包要通過PPP協議封裝起來的原因.

  二、數據鏈路層的建立

  GPRS登陸網絡過程屬干數據鏈路層的建立,要通過PPP協議實現PPP協議(Point-to-Point Protocol)提供了在串行點對點鏈路上傳輸數據報的方法,支持異步8位數據及位導向的同步連接(如ISDN)它提供了一種管理兩點間會話的有效方法,正在取代SLIP(Serial Line Interface Protocol)協議成為點對點網絡的標準.

  1.通過PPP實現GPRS的上網認證過程

  在GPRS模塊上網的過程中,主要是經過PPP協議中的三種協議,分別為LCP(Link Control Protocol)協議,PAP(Pass-word Authentication Protocol)認證協議以及IPCP(Internet Protocol Control Protocol)協議LCP部分主要協商下一步的密碼認證協議,可選擇PAP方式或CHAP方式,我們根據ISP要求選擇PAP方式。PAP部分主要是向ISP發送密碼進行認證。密碼認證通過以后進入IPCP,完成客戶端請求IP及ISP端分發IP的過程。其實現過程圖如圖2所示

  在認證過程中,MCU、GPRS模塊及ISP都需要發送PPP格式的數據包來完成協商過程該數據包為16進制,多數情況下其對應ASCII碼并無實際意義PPP數據幀的結構如表1所示。

  對于表1所示的信息位包括了鏈路配置包標志,描述如下:

  以上3個表所示的內容是分析PPP協議各種類型數據包的基本概念。在解析PPP數據包中需要注意的另外一個事項是,如果字符中包括了Ox7D,則表示該字符后面的字符需要轉義。轉義方式是后一個字符與0x20進行異或運算得出的16進制數據作為真是數據比如一個數據包包括了......Ox7D0x23......,則真實表示的為Ox03a(為方便表示下文所示數據均為轉義后的數據)

  2.實際協商過程分析

  (1)LCP協商過程

  首先設置模塊的初始化參數及工作參數向模塊發送如下AT指令:

  1)AT+CGCLASS="B"置為“B”模式

  2)AT+CGDCONT=1,"IP";"CMNET"設置APN

  3)AT+CGATT=1,使GPRS模塊附著在網絡上

  然后發送指令"ATD*99***1#"建立撥號過程,模塊會返回16進制的一些數據。我們要據此與模塊進行協商。首先返回數據包(16進制):7EFF03CO2101010016010405DC020600000000070208020304CO2326B47E

  數據包含義:7E(PPP包頭)FF03CO21(LCP協議)01(代碼)01(標識符)0016(長度)01(類型)04(長度)05DC(協商內容Maximum-Receive-Unit)02(類型)06(長度)00000000(協商內容)07C類型協議壓縮協商)02(長度)08(類型,地址控制域壓縮協商)02C長度)03〔類型)04(長度)CO23(內容表示請求PAP認證)26B4(FCS,校驗和)7E(PPP包尾)。

  此模塊在進行LCP協商階段是比較友好的,主動提出了PAP認證方式,可直接返回對它請求的同意也可以提出些新的申請,實際操作中發送同意請求為:7EFF03CO2102010016010405DC020600000000070208020304CO23DO477E。

  至此LCP認證階段已經結束

  (2)PAP認證過程

  因為協商同意PAP密碼認證方式故進入PAP過程,需要發送用戶名和密碼至ISP.請求格式為7ECO230101000600003B3F7E

  該包在0006后的0000分別代表用戶名和密碼,都為空此時由于需要與ISP進行認證,需要等一段時間經過判斷,服務器通過密碼認證,返回:7ECO237D227D217D207D2D7D2857656C636F6D65214EBC7E

  其中的16進制字符"57656C636F6D6521"轉為ASCII碼為"Welcome!".同時服務器發送IPCP請求數據包:7E8021010100OA0306COA86F6FCID497E

  進入IPCP協商過程

  (3)IPCP協商過程

  客戶端部分此時需要請求ISP分發IP請求為:7E802101060016030600000000810600000000830600000000OACF7E

  "0306""8106""8306"后的四個00分別代表客戶端IP,第一DNS主機地址,第二DNS主機地址,這3個部分全部為00表示內容為空,是請求ISP分發IP到客戶端。

  服務器得到請求后分發IP數據包為:7E8021030600160306OA4A0C148106D38812AB8306D3887D34CB.6B6B7E

  OA4AOC14表示為十進制的10.74,12.20,由于中國移動通信規定GPRS撥號上網的用戶分發的IP均為內部IP,非外部IP,所以IP都是以10.***開頭的。8106后面的D38812AB表示211.136.18171,是第一DNS主機的IP地址。8306后面的D38814CB表示211.136.20.203,是第二DNS主機的IP地址此后我們需要對分發下的幾個IP辨認識別,然后再次請求請求中包含這3個分發IP,代表接受分發結果。數據包為7E8021010700160306OA4A4C838106038812ABe3o6D38e14CBF2C17E

  此后清求得到ISP認可,鏈路層PPP握手過程全部結束進入網絡階段。此后所有發往GGSN網紹的包含IP的數據包都會透明的傳給所對應的IP地址。以上既是對PPP協商過程的分析,只要注意上面所提及的每步的注意事項及含義,即可迅速快捷的建立數據鏈路層.

  三、網絡層及傳輸層的實現

  網絡層和傳輸層雖然屬于IP及UDP協議實現的功能但此兩者都是建立在數據鏈路層基礎上的,因此在發送PDP/IP包的時候仍然不能擺脫對PPP協議的依賴。由PPP封裝的UDP/IP數據包組成如下表所示:

  1.IP協議介紹

  IP包的組成形式如表5所示,其中8位協議處可選擇TCP方式或UDP方式,8位TTL為TimeToLive,只數據包在網絡中的存活時間。

  2.UDP協議介紹

  相對于舊數據包UDP數據包的組成比較簡草,主要包含所要發送的數據信息即數據段。結構如表6所示其中最后的UDP校驗與IP數據包中的IP校驗方式一樣,但與PPP協議中的FSC校驗方式不同。FSC校驗屬于CRC16位校驗方式的一種而舊校驗和UDP校驗是相對簡單的反碼求和的校驗機制。并且對于IP及UDP校驗而言需要將數據包需要校驗部分的16位轉換為32位進行校驗校驗好之后再轉換為16位.

  3.IP及UDP校驗和

  IP校驗和所要校驗的數據段包括了前面所提的IP數據包內的所有位段,而UDP校驗相對IP校驗復雜的地方在于,UDP校驗不僅僅要將UDP數據包內的內容包括進來,而且還要包括IP部分的一些信息UDP校驗位組成如下:

  對于最后一位的數據段而言由于校驗是32位所以如果數據段出現奇數個數據,需要加零補位。

  校驗程序如下所示:

  HdelineUSHORT

  unsignedshortUSHOPTchecksum(USHORT*buller,Intsize)

  {

  unsignedIongcksum=0;

  while(size>1)

  {

  cksum+=*buffer++;

  size-=sizeof(USHORT);

  }

  if(size)

  cksum+=*(UCHAR*)buller;

  cksum=(cksum>>16)+(cksum&oxnff);

  cksum+=(cksum>>16)return(USHORT)(Ccksum);

  }

  4.由PPP封裝形式封裝的UDP/IP數據包

  根據前面所介紹的方法,下面給出一個具體的實例進行分析:7E2145.00001D47F300DOBID11BOF60A4A30EDD350336C03E803F20000551B61A5DE7E

  7E21為PPP包頭,4表示舊版本號5表示首部長度,00表示服務類型,001D表示包的All長度47F3表示16位的標識,00表示3位的標志+13位的片偏移,80表示TTL,11表示協議(11表示UDP協議,TCP為06),B0F6是IP首部校驗和。接下來的"0A4A30E0"表示本地IP地址即剛才通過PPP協議獲得的動態IP而"D350336C"表示對方IP,即要發送的目的IP,"03E8"表示本地端口(這個可以隨便設定只要不與系統已用端口沖突即可,對于UDP而言這個沒有實際意義因為GPRS分配到的是內部IP,即使對方知道你的IP及端口也可能通過UDP方式傳輸數據,而如果是TCP協議則用GPRS作為Client清求Server建立通道后Server端可根據端口發送數據)"03F2"表示目的端口"0009",表示UDP包的長度(本地端口2字節+目的端口2字節+數據長度2字節+數據端n字節十UDP校驗2字節),“55”表示數據,轉換為ASCII碼應為"a","1B61"為UDP校驗和"A5DE"為PPP包的FSC校驗和。此段代碼的含義是“向IP為211.80.51.108,端口為1010的目的地發送字符a".

  四、結束語

  GPRS的應用不僅僅局限于嵌入式或PC機領域,更能擴大到簡單的8051微控制器,從而更深入地擴大GPRS技術的使用。同時針對GPRS上網方式裁減PPP和UDP/IP協議,軟件部分用C語言編寫可壓縮至4K,不僅簡化認證過程更節省程序運行時間,正常情況下從撥號到登陸網絡只需要3秒鐘而且該程序可方便的移植到各種硬件系統中。目前該系統已穩定運行于南京試驗田農田墑情檢測系統。


 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 中華工控網
聯 系 人: 客服中心
電  話: 0755-26546361
傳  真: 0755-26585268
地  址: 深圳市南山區創業路現代城華庭1棟6A
郵  編: 518054
主  頁:
 
該廠商相關技術文摘:
智能儀器儀表的發展特點與前景分析
電動機性能虛擬儀器測試系統設計與實現
視頻監控護航高鐵安全運營
基于PLC,觸摸屏及變頻器對吹膜機的改造
永宏PLC應用于自助圖書借還終端機
基于永宏PLC的GSM通訊原理及其應用
改善汽車生態學、安全性和舒適性,四大測試分析是關鍵
改善汽車生態學、安全性和舒適性,四大測試分析是關鍵
數控技術的發展趨勢及產業化
數控技術發展戰略與發展途徑的思考
用Energid 的軟件進行機器人的抓取和操作
如何借助RFID技術升級企業信息管理水平
更多文摘...
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved