国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

微控制器的GPRS無線上網

發布時間:2010-4-2 06:55    發布者:蹦蹦
關鍵詞: GPRS , 控制器 , 無線上網
引言

微控制器以其體積小、功耗低、使用方便等特點,廣泛應用于各種工業、民用的嵌入式系統中;而隨著互聯網(Internet)的興起與普及,使微控制器通過互聯網傳送數據就變得非常有意義。目前使微控制器上網的解決方案一般有兩種:一種是采用微控制器驅動網卡,通過以太網連接Internet;另一種是使微控制器直接驅動調制解調器(MODEM)通過電話線向ISP撥號上網。這兩種方案的缺點在于都要使用有線的網絡,無法應用于在邊遠地區或可移動系統中。

針對這一問題,本文提出一種基于GPRS的微控制器上網的解決方案,即在微控制器中實現PPP協議,并通過驅動GPRS模塊經過GPRS無線網連接到Internet實現上網。這種方案的優點在于:① 覆蓋面廣,適用于廣大偏遠地區;② 無線上網,適用于可移動目標;③使用廉價的微控制器實現簡單、成本低;④ 安裝簡便,維護方便。

1  GPRS技術及其特點

GPRS(General Packet Radio Service)是通用分組無線業務的簡稱,是在GSM基礎上發展起來的一種分組交換的數據承載和傳輸方式。與原有的GSM比較,GPRS在數據業務的承載和支持上具有非常明顯的優勢:通過多個GSM時隙的復用,支持的數據傳輸速率更高,理論峰值達115kb/s;不同的網絡用戶共享同一組GPRS信道, 但只有當某一個用戶需要發送或接收數據時才會占用信道資源。這樣,通過多用戶的業務復用,更有效地利用無線網絡信道資源,特別適合突發性、頻繁的小流量數據傳輸,很好地適應數據業務的突發性特點;GPRS計費方式更加靈活,可以支持按數據流量來進行計費;與無線應用協議(WAP)技術不同,GPRS能夠隨時為用戶提供透明的IP通道,可直接訪問Internet中的所有站點和資源;采用信道復用技術,每一個GPRS用戶都能夠實現永遠在線;另外,GPRS 還能支持在進行數據傳輸的同時進行語音通話等等,而且相對于短消息等其它無線數據通信業務,GPRS的價格優勢比較明顯。目前,我國移動推出的GPRS上網業務最高每千字節也只有3分錢,而且用戶可以根據自己的需要,以月租、包月等多種形式進一步降低GPRS通信的費用。

因此使用 GPRS實現遠程數據的傳送是非常經濟實用的,特別是對于不易架設有線網絡的邊遠地區和可移動裝置。

2  硬件連接和GPRS模塊設置

通過GPRS網進行數據傳輸一般需要使用GPRS模塊。目前,GPRS模塊一般是指帶有GPRS功能的GSM模塊,可以利用GPRS網進行數據通信。其中比較流行的有法國Wave公司的WISMO系列和西門子公司的S系列等等。 WAVECOM的WISMO模塊接口簡單、使用方便且功能非常強大,它與微控制器、SIM卡、電源之間的連接如圖1所示。


圖1  GPRS模塊的硬件連接圖

其中GPRS模塊與微控制器間是通過串行口進行通信的,通信速率最快可以達到115 200b/s。模塊與控制器間的通信協議是AT命令集,其中大部分命令是符合協議“AT command set for GSM Mobile Equipment (ME) (GSM 07.07 version 6.4.0 Release 1997)”的,但也有一些是Wavecom自己定義的AT命令。除了串口發送(TX)、串口接收(RX)之外,微控制器與GPRS模塊之間還有一些硬件握手信號,如DTR、CTS、DCD等。為了簡化微控制器的控制,硬件設計時沒有使用全部的硬件握手信號,而只使用數據載波檢測(Data Carrier Detect, DCD)和終端準備(Data Terminal Ready, DTR)信號。DCD信號可以檢測GPRS模塊是處于數據傳送狀態還是處于AT命令傳送狀態。DTR信號用來通知GPRS模塊傳送工作已經結束。

硬件連接完成后,在進行GPRS上網操作之前,首先要對GPRS模塊進行一定的設置。主要的設置工作有:① 設置通信波特率,可以使用AT+IPR=38400命令,把波特率設為38 400b/s或其它合適的波特率,默認的通信速度為9600b/s。② 設置接入網關,通過AT+ CGD CONT=1, “IP”, “CMNET”命令設置GPRS接入網關為移動夢網。③設置移動終端的類別,通過AT+CGCLASS=“B”設置移動終端的類別為B類,即同時監控多種業務;但只能運行一種業務,即在同一時間只能使用GPRS上網,或者使用GSM的語音通信。④ 測試GPRS服務是否開通,使用AT+CGACT=1,1命令激活GPRS功能。如果返回OK,則GPRS連接成功;如果返回ERROR,則意味著 GPRS失敗。這時應檢查一下SIM卡的GPRS業務是否已經開通,GPRS模塊天線是否安裝正確等問題。(其它相關的AT命令請參閱文獻3。)

中國移動在GPRS與Internet網中間建立了許多相當于ISP的網關支持節點(GGSN),以連接GPRS網與外部的 Internet網。GPRS模塊可以通過撥“*99***1#”登錄到GGSN上動態分配到Internet網的IP地址。其間GPRS模塊與網關的通信要符合點對點協議(Point to Point Protocol, PPP),其中身份驗證時用戶名、密碼都為空。使用PPP協議登錄上之后,就可以通過GGSN接上Internet了。

3  軟件整體結構

3.1  軟件層次結構

程序中的所有代碼都是由C語言編寫的,并采用分層的結構,從底到上分別為:串口驅動層、GPRS模塊驅動層、PPP協議層、IP協議層、UDP協議層與應用層。上層函數的實現需要應用到底層函數,而底層函數的任務就是為上層函數提供服務,最終完成應用層任務——傳送數據。各層的主要函數如圖2所示。


圖2  軟件層次結構

3.2  驅動程序編寫

首先是串行口驅動層。它實現打開串口(OpenComm)、關閉串口(CloseComm)、讀串口數據(ReadComm)、寫串口數據(WriteComm)等函數。例如 WriteComm函數向串口發送一個字節的數據,而transmit函數向串口發送一個字符串的數據:
void WriteComm(char c){
  ES = 0;
  SBUF = c;
  while(TI==0);
   TI=0;
  ES = 1;
}
void transmit (char *data) {
  Delay (250);
  while (*data) {
    WriteComm (*data++);
  }
}

然后,在這些串口函數的基礎上編寫GPRS模塊的驅動函數。微控制器通過串行口控制GPRS模塊,進行撥號、設置等操作?刂频姆椒ㄊ遣捎 AT命令。在控制GPRS模塊撥打移動夢網GGSN的登錄號碼“*99***1#”之后,GPRS模塊就轉入在線模式(On-Line)。此時微控制器向串行口發送的所有數據都透明地傳送給了GGSN,同樣GGSN的回答也傳回單片機的串行口。當數據傳送完成后,微控制器需要通知GPRS模塊結束會話,并從在線模式轉回普通的命令模式,這可以通過置高DTR線完成。同時,如果線路由于異常斷開,CD線會回復到平常的低電平,所以處于在線模式下也要不斷檢測 CD線是否處于高電平。根據這些操作,可以編寫GPRS驅動函數:初始化GPRS模塊函數(GPRSInit)、撥號函數(GPRSDial)、斷開連接函數(GPRSHangup)、檢測是否處于在線狀態函數(GPRSOnline)。其中,GPRS的撥號和掛斷代碼如下:

BYTE GPRSDial (void) {
  signed char delayCount = 80;
  transmit ("ATV0\r"); // 要求返回數字表示的回答
  if (!Waitfor ("0", 30)) { // 等待 OK 回答
    return -1;
  }
  DTR_ON;
  transmit ("ATD*99***1#\r"); // 撥GGSN的號碼
  GPRSBuffFlush (); // 清空buffer
  // 等待回答
  while ((!GPRSBuffNotEmpty()) && (--delayCount > 0)) {
    Delay (250);
  }
  if (delayCount) {
    return GPRSGetch (); // 返回回答的數字
  }
  return -1; // 沒有返回,錯誤
}
void GPRSHangup (void) {
  DTR_ON; // 置高DTR
  Delay (40); // 保持一定時間
  DTR_OFF; // 完成連接的斷開
}

這些底層的驅動函數將會使上層協議的編寫很方便,更重要的是,它為我們提供了一個驅動抽象層。當底層硬件做出改動的時候,只需要對底層的驅動函數進行改動,而上層函數的代碼不變。

4  PPP協議的實現

由于移動夢網的GGSN與GPRS模塊通信時遵循PPP協議,所以要在微控制器中也實現一部分PPP協議才能與之對話。GPRS模塊在撥號后首先要與GPRS網關進行通信鏈路的協商,即協商點到點的各種鏈路參數配置。協商過程遵守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網傳送到微控制器上,從而完成微控制器與遠程主機通過互聯網的數據傳輸。

注:PPP報文解析程序和協商過程程序見本刊網站www.dpj.com.cn。

6  小結

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

參考文獻

   1. Wavecom公司 GPRS User Guide 2001
   2. Wavecom公司 WISMO2C Hardware Specifications 2000
   3. Wavecom公司 AT Commands Interface 2000
   4. SIMPSON W The Point-to-Point Protocol(PPP) 1994
   5. PPP in HDLC-Like Framing 1994

作 者:清華大學 黃承安 張躍  
來 源:單片機與嵌入式系統應用 2003(12)
本文地址:http://m.qingdxww.cn/thread-10106-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品亚洲专区在线电影不卡| 特级毛片免费视频观看| 亚欧成人中文字幕一区| 天天干天天狠| 亚洲第一页视频| 真实男女xx00动态视频120秒| 国产69精品9999XXXX| 母狗黄淑珍| 中文人妻熟妇精品乱又伦| 亚洲精品一| 四虎永久免费在线| 香蕉成人999视频| 538prom国产在线视频一区| 久久亚洲网站| 四虎2020| 视频一区中文字幕| 涩涩五月天| 香蕉在线视频播放| 孕交vitafusion孕妇| 国产乱国产乱老熟300部视频| 囚禁固定在调教椅上扩张H| 日韩精品小视频| 日本a黄色片| 四虎免费在线视频| 中国人xxxxx18| 男女生爽爽爽视频免费观看| 青青草久久伊人| 欧美在线区| 色综合色综合色综合| 欲孽横流(np高h)最新章节| 久久亚洲免费视频| 日韩欧美亚洲一区二区综合| 日本韩国高清| 王淑兰与铁柱全文免费阅读| 1819sextub欧美中国| 欧美大片免费观看| 日韩黄色小视频| 特级一级毛片免费看| 午夜dj在线观看神马| 99九九精品国产高清自在线| 男男被强bl高h文|