《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 微控制器的GPRS無線上網方法
微控制器的GPRS無線上網方法
互聯網
摘要: 介紹一種在微控制器上實現PPP協議,并使其控制GPRS模塊通過GPRS連入Internet的方法;介紹GPRS技術和GPRS模塊的使用方法;重點介紹微控制器軟件的層次結構和PPP協議的實現方法。
Abstract:
Key words :

引言

  微控制器" title="微控制器">微控制器以其體積小、功耗低、使用方便等特點,廣泛應用于各種工業、民用的嵌入式系統中;而隨著互聯網" title="互聯網">互聯網(Internet)的興起與普及,使微控制器通過互聯網傳送數據就變得非常有意義。目前使微控制器上網的解決方案一般有兩種:一種是采用微控制器驅動網卡,通過以太網連接Internet;另一種是使微控制器直接驅動調制解調器(MODEM)通過電話線向ISP撥號上網。這兩種方案的缺點在于都要使用有線的網絡,無法應用于在邊遠地區或可移動系統中。
針對這一問題,本文提出一種基于GPRS" title="GPRS">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模塊與網關的通信要符合點對點協議" title="點對點協議">點對點協議(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; // 完成連接的斷開
}

  這些底層的驅動函數將會使上層協議的編寫很方便,更重要的是,它為我們提供了一個驅動抽象層。當底層硬件做出改動的時候,只需要對底層的驅動函數進行改動,而上層函數的代碼不變。
此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区三区四区夜夜大片 | 久久婷婷av| 亚洲综合国产激情另类一区| 一本一道久久综合狠狠老精东影业 | 亚洲人成在线观看一区二区| 久久精品亚洲精品| 久久国产日本精品| 欧美在线精品一区| 欧美在线观看一区二区| 久久国产色av| 久久精品日韩欧美| 亚洲国产一区二区视频| 亚洲国产一二三| 亚洲三级影片| 亚洲精品女av网站| 夜夜爽www精品| 亚洲视频一区二区在线观看| 亚洲一区在线观看视频| 亚洲欧美欧美一区二区三区| 性xx色xx综合久久久xx| 午夜伦理片一区| 久久精品亚洲乱码伦伦中文| 久久人人爽爽爽人久久久| 噜噜噜躁狠狠躁狠狠精品视频| 麻豆av一区二区三区| 欧美国产精品一区| 欧美日韩中国免费专区在线看| 国产精品黄页免费高清在线观看| 国产精品夜色7777狼人| 国产午夜精品一区二区三区欧美| 国产一区清纯| 亚洲国产日韩欧美在线动漫| 99re8这里有精品热视频免费| 中文精品视频| 午夜久久久久久| 亚洲欧洲一区二区天堂久久 | 欧美日本二区| 国产精品久久午夜| 国产一区二区三区免费在线观看 | 久久这里有精品视频| 欧美成人精品在线观看| 欧美日产在线观看| 国产精品免费网站| 国产字幕视频一区二区| 91久久久久久| 亚洲一区三区视频在线观看| 久久精品人人做人人综合| 一本久道久久综合狠狠爱| 午夜伦欧美伦电影理论片| 久久婷婷国产综合国色天香| 欧美日产一区二区三区在线观看 | 久久精品首页| 欧美激情按摩| 国产老肥熟一区二区三区| 亚洲国产成人tv| 亚洲一区二区三区三| 久久国产精品久久w女人spa| 99精品国产在热久久下载| 欧美一区二区精品| 欧美激情视频一区二区三区免费| 国产精品久久久久久久久婷婷| 狠狠色狠色综合曰曰| 一区二区三区高清视频在线观看| 欧美在线关看| 亚洲一区成人| 蜜桃av久久久亚洲精品| 国产精品日韩在线观看| 在线观看亚洲a| 亚洲综合电影| 99视频精品全国免费| 久久精品人人做人人综合| 欧美日韩国产在线观看| 激情懂色av一区av二区av| 中国成人亚色综合网站| 亚洲国产婷婷| 欧美一级视频| 欧美久久一级| 伊大人香蕉综合8在线视| 亚洲在线观看免费视频| 一区二区三区精密机械公司 | 欧美成人69| 国产午夜精品美女视频明星a级| 亚洲美女少妇无套啪啪呻吟| 亚洲国产精品视频一区| 欧美一区二区国产| 欧美日韩精品福利| 亚洲高清色综合| 欧美一级午夜免费电影| 亚洲欧美在线播放| 欧美日韩国产在线看| 在线观看一区二区精品视频| 欧美一区二区三区久久精品茉莉花 | 一区二区三区高清在线| 美女精品视频一区| 国产亚洲欧美激情| 亚洲一区二三| 亚洲综合日本| 欧美日韩影院| 亚洲精品国产品国语在线app| 亚洲国产经典视频| 久久精品动漫| 国产日韩欧美91| 亚洲一区二区三区免费观看 | 欧美国产精品劲爆| 伊人激情综合| 久久精品国产91精品亚洲| 久久激情综合网| 国产欧美一区二区精品秋霞影院| 亚洲视频久久| 亚洲一区三区视频在线观看| 欧美日韩精品久久久| 亚洲三级国产| 亚洲美女91| 欧美区一区二| 亚洲毛片在线| 中文精品99久久国产香蕉| 欧美日产国产成人免费图片| 91久久在线视频| 亚洲精选在线| 欧美裸体一区二区三区| 亚洲国产影院| 夜夜嗨av一区二区三区| 欧美日韩国产不卡| 亚洲精品一区中文| 亚洲天堂av综合网| 欧美性猛交xxxx乱大交退制版| 一本色道久久综合亚洲二区三区| 亚洲深爱激情| 国产精品成人在线观看| 亚洲色图制服丝袜| 午夜在线电影亚洲一区| 国产裸体写真av一区二区| 亚洲欧美日韩在线高清直播| 欧美在线观看视频在线| 国内精品视频久久| 亚洲精品韩国| 欧美日韩国产精品成人| 在线一区二区三区四区五区| 欧美一区二区播放| 国产一区在线免费观看| 亚洲国产毛片完整版| 欧美精品一区二区久久婷婷| 99热精品在线| 欧美尤物一区| 一区二区三区在线免费播放| 亚洲毛片在线观看| 欧美午夜无遮挡| 亚洲欧美综合网| 久久这里只精品最新地址| 亚洲激情av在线| 亚洲免费在线视频一区 二区| 国产精品亚洲一区二区三区在线| 久久国产成人| 欧美连裤袜在线视频| 亚洲性线免费观看视频成熟| 久久久噜噜噜久久| 亚洲国内在线| 亚洲欧美三级伦理| 黄色日韩网站| 亚洲五月婷婷| 国模叶桐国产精品一区| 亚洲精品在线免费观看视频| 国产精品成人观看视频国产奇米| 欧美一级网站| 欧美美女bbbb| 香蕉久久久久久久av网站| 欧美成人激情在线| 亚洲无吗在线| 狂野欧美激情性xxxx| 99综合精品| 久久一区二区三区超碰国产精品| 亚洲激情社区| 欧美专区一区二区三区| 亚洲人成在线播放网站岛国| 亚欧成人精品| 亚洲精品黄色| 久久久久一区二区三区| 日韩午夜中文字幕| 久久视频在线看| 中国成人黄色视屏| 奶水喷射视频一区| 亚洲欧美成人一区二区在线电影| 免费在线成人av| 午夜精品久久久久久久蜜桃app | 欧美日韩成人综合在线一区二区| 午夜视频在线观看一区二区| 欧美精品国产| 欧美影视一区| 欧美亚洲第一区| 亚洲经典在线| 国产日韩精品在线播放| 中文成人激情娱乐网| 在线日韩av片| 久久精品99国产精品日本| 日韩一区二区精品葵司在线| 裸体素人女欧美日韩| 亚洲自拍偷拍一区| 欧美视频一区二区在线观看| 亚洲黄色免费电影| 国产一区二区三区网站|