新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 微控制器的GPRS無線上網方案

        微控制器的GPRS無線上網方案

        作者: 時間:2009-07-17 來源:網絡 收藏

        4 PPP協議的實現

          由于移動夢網的GGSN與模塊通信時遵循PPP協議,所以要在微中也實現一部分PPP協議才能與之對話。模塊在撥號后首先要與網關進行通信鏈路的協商,即協商點到點的各種鏈路參數配置。協商過程遵守LCP(Link Control Protocol)、PAP(Password Authentication Protocol)和IPCP(Internet Protocol Control Protocol)等協議。其中LCP協議用于建立、構造、測試鏈路連接;PAP協議用于處理密碼驗證部分;IPCP協議用于設置網絡協議環境,并分配IP地址。協商機制用有限狀態機的模型來實現。一旦協商完成,鏈路已經創建,IP地址已經分配就可以按照協商的標準進行IP報文的傳輸了。根據應用的不同,IP報文中可以攜帶UDP報文,也可以是TCP或ICMP報文。本系統正是采用UDP報文傳送數據信息的。數據傳輸完成之后,微會向GGSN發送LCP的斷開連接報文,以終止網絡連接。

          PPP協議的幀結構如圖3(左)所示。微的串口中斷接收程序首先以包起始和結束符來判斷是否有完整的PPP包,并對PPP包的內容進行校驗,以確定數據包的完整性和正確性。然后,在主循環中進入PPP報文解析模塊,解析過程如圖3(右)所示。

        圖3 PPP報文解析


        5 登錄GGSN的過程

          系統的一個難點是微控制器登陸GPRS網關(GGSN)并與網關通過LCP、PAP、IPCP協議進行協商的過程。LCP、PAP與IPCP協議的幀結構大同小異,最常用的為請求(REQ)、同意(ACK)和拒絕(NAK)三種幀。微控制器與GGSN各為一方進行協商,任何一方都可以發送REQ幀請求某方面的配制,另一方覺得配置不能接受會回應NAK幀,如果可以則回應ACK幀。為了節省資源,我們只處理這三種數據幀,其它鏈路問題都由微控制器在程序控制下自己重新撥號解決。

          協商過程大致描述如下:在撥號成功連接后,GGSN首先會返回一個PAP REQ數據幀。我們發送一個空LCP REQ幀,以強迫進行協議協商階段。隨后,GGSN發送LCP設置幀,我們拒絕所有的設置并請求驗證模式。GGSN選擇CHAP或PAP方式驗證,我們只接受PAP方式。然后,進行PAP驗證用戶名和密碼過程,在GPRS中用戶名與密碼都為空,如果成功,GGSN會返回IPCP報文分配動態IP地址。此時,就完成了與GGSN的協商過程。協商過程的狀態轉換如圖4所示。


        圖4 協商過程流程


          協商完成后進入IP數據報通信階段。此時,微控制器向GGSN發送的所有包含IP報文的PPP報文都會被傳送給Internet網中相應的IP地址;而遠端所有向微控制器IP地址發送的報文也都會經GPRS網傳送到微控制器上,從而完成微控制器與遠程主機通過互聯網的數據傳輸。

        6 小結

          經過優化,本系統的軟件代碼可以精簡到6K字節左右,共使用不到300字節的RAM。并且由于程序使用C語言編寫,稍加改動就可以在各種系列的微控制器上實現。微控制器通過GPRS的技術可以廣泛應用于需要遠程傳送數據的系統中,特別適合于遠程抄表、遠程監控等領域。我們目前正把這項技術應用于車輛監控調度系統,在試驗階段取得了比較好的效果。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岳池县| 廉江市| 涞源县| 罗源县| 安庆市| 榆林市| 富蕴县| 呼和浩特市| 电白县| 乌鲁木齐市| 汕尾市| 青龙| 城市| 清水县| 钟山县| 郴州市| 光山县| 三门峡市| 铅山县| 和林格尔县| 乌兰浩特市| 北京市| 曲靖市| 金坛市| 华亭县| 阳山县| 德惠市| 信宜市| 林西县| 东兰县| 若羌县| 如皋市| 炎陵县| 革吉县| 邮箱| 湾仔区| 鹿泉市| 黄骅市| 股票| 健康| 宜兰市|