<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 使用單片機(jī)實(shí)現(xiàn)GPRS通信小系統(tǒng)的研究

          使用單片機(jī)實(shí)現(xiàn)GPRS通信小系統(tǒng)的研究

          作者: 時間:2007-12-28 來源:網(wǎng)絡(luò) 收藏
          0引 言

          (通用分組無線電業(yè)務(wù))是利用包交換的概念發(fā)展的一套無線傳輸方式。網(wǎng)絡(luò)是基于現(xiàn)有的GSM(全球移動)網(wǎng)絡(luò)的。在現(xiàn)有的GSM網(wǎng)絡(luò)中需要增加一些節(jié)點(diǎn),如GGSN(網(wǎng)關(guān)支持節(jié)點(diǎn))和SGSN(GPRS服務(wù)支持節(jié)點(diǎn))。SGSN的主要作用是記錄移動終端的當(dāng)前位置信息,并且在移動終端與GGSN之間完成移動分組數(shù)據(jù)的發(fā)送和接收。GGSN主要起網(wǎng)關(guān)作用,可以與多種不同的數(shù)據(jù)網(wǎng)絡(luò)連接,如ISDN(綜合業(yè)務(wù)數(shù)字網(wǎng))、PSPDN(包交換公用數(shù)據(jù)網(wǎng))和LAN(局域網(wǎng))等。GGSN可以把GSM網(wǎng)中的GPRS分組數(shù)據(jù)包進(jìn)行協(xié)議轉(zhuǎn)換,從而把這些分組數(shù)據(jù)包傳送到遠(yuǎn)端的TCP/IP或X.25網(wǎng)絡(luò)。

          GPRS網(wǎng)不但具有覆蓋范圍廣、數(shù)據(jù)傳輸速度快、質(zhì)量高、永遠(yuǎn)在線和按流量計費(fèi)等優(yōu)點(diǎn),而且其本身就是一個分組型數(shù)據(jù)網(wǎng),支持TCP/IP協(xié)議,可以直接與Internet互通。因此,CPRS在無線上網(wǎng)、環(huán)境監(jiān)測便攜型、交通監(jiān)控、移動辦公等行業(yè)中具有無可比擬的性價比優(yōu)勢。

          1 GPRS硬件設(shè)計

          采用Sony Ericsson公司的內(nèi)部嵌有TCP/IP協(xié)議棧的GPRS通信模塊GR47和PIC18f6720,二者的串口均支持RS-232通信標(biāo)準(zhǔn)。

          核心設(shè)計在于與GR47的連接和軟件的編寫。PIC18f6720具有兩個USART(通用異步串行接口),其中一個與GR47模塊相連,進(jìn)行數(shù)據(jù)和AT命令的傳輸;另一個與終端芯片的串口相連,與終端進(jìn)行通信。GR47模塊外部需要安裝天線。如圖1所示。

          PIC18F6720單片機(jī)控制GR47模塊發(fā)送和接收數(shù)據(jù),在軟件中采用串行口的中斷來收發(fā)數(shù)據(jù)和轉(zhuǎn)發(fā)數(shù)據(jù)。

          1.1 PICl8F6720簡介

          PIC18F6720是Microchip公司生產(chǎn)的較為高檔的單片機(jī)。采用3.3 V供電,其大部分指令均為單周期指令,幾乎所有的相關(guān)硬件配置都映射成特殊寄存器,大大提高了運(yùn)行速度;具有A,B,C,D,E,F(xiàn),G這7個可編程的I/O口;內(nèi)部除了3840B的RAM外,還有1024B的EEPROM和128 kB的Flash存儲器;擁有4個定時器和多個中斷源及2個中斷優(yōu)先級,有2個USART,功能十分強(qiáng)大,是一款性價比很高的芯片。

          1.2 GR47簡介

          GR47是Sony Ericsson公司生產(chǎn)的一款雙頻段GSM900/GSM=1800的通信模塊。在此模塊基礎(chǔ)上,可進(jìn)行GPRS數(shù)據(jù)傳輸,具有支持短消息服務(wù)等功能。采用3.6 V電壓供電;對外可提供多種接口,如天線接口、模擬音頻接口、異步串行接口、SIM卡接口等,也支持I2C通信;內(nèi)部集成了TCP/IP協(xié)議棧,因此采用此芯片會大大降低微控制器編程工作的難度。

          本方案中用到的GR47的端口并不多,對幾個重點(diǎn)的連接點(diǎn)作如下說明:

          a)串行口TD:接單片機(jī)的RX2,RD接單片機(jī)的TX2。

          b)DSR引腳:即DataSetReady,說明模塊準(zhǔn)備好接收數(shù)據(jù),此引腳經(jīng)過三極管開關(guān)電路與單片機(jī)的RB0相連。DSR為高表示處在數(shù)據(jù)模式,為低表示處在命令模式。

          c)DTR引腳:即Data Terminal Ready,說明終端設(shè)備準(zhǔn)備好接收數(shù)據(jù),可以通過控制此引腳電平的高低時間來進(jìn)行GR47的數(shù)據(jù)態(tài)和命令態(tài)的切換。此引腳經(jīng)過三極管開關(guān)電路與單片機(jī)的RF2相連。

          2 GPRS通信系統(tǒng)軟件設(shè)計

          系統(tǒng)軟件采用C語言編寫,在MPLAB環(huán)境下編譯。由于本系統(tǒng)是遠(yuǎn)程管理終端的一個模塊,因此在程序的編寫中要遵守一定的協(xié)議,這樣才能保證正確通信。程序的主體是如何控制GR47的AT命令對GR47進(jìn)行初始設(shè)置和對信息數(shù)據(jù)的處理。程序總體上可以分為以下幾個塊:CPRS連接的初始設(shè)置、短消息的判斷處理、無數(shù)據(jù)傳輸時的心跳處理、數(shù)據(jù)判斷轉(zhuǎn)發(fā)等。主程序是把這些程序塊有機(jī)結(jié)合到一起,相互控制,無限循環(huán)。 2.1 連接的建立

          GPRS模塊連接到Internet和GPRS網(wǎng)絡(luò)的過程如下:

          a)單片機(jī)軟件控制GR47模塊開機(jī),等待此模塊正常啟動。

          b)通過單片機(jī)和GR47模塊連接的串口,向GR47模塊寫入相應(yīng)的AT設(shè)置命令,進(jìn)行初始化,使模塊成功粘附在GPRS網(wǎng)絡(luò)上,獲得網(wǎng)絡(luò)運(yùn)行商分配的動態(tài)IP地址,與目的終端建立連接。

          2.2 數(shù)據(jù)的處理

          數(shù)據(jù)包在數(shù)據(jù)中心服務(wù)器和GPRS服務(wù)器中的傳輸是基于IP數(shù)據(jù)包的,但明文傳送IP包不可取,因此大多選用PPP(點(diǎn)對點(diǎn)協(xié)議)進(jìn)行傳輸,實(shí)現(xiàn)通過GPRS模塊的數(shù)據(jù)和Internet網(wǎng)絡(luò)的透明傳輸。GR47內(nèi)部集成了TCP/IP協(xié)議棧,所以用戶對IP協(xié)議相關(guān)的程序就不必編寫,可以直接通過GR47傳遞數(shù)據(jù)。

          a)模塊與Internet上PC機(jī)的數(shù)據(jù)傳輸:要求PC機(jī)具有公網(wǎng)的IP地址和開放的端口以及監(jiān)視傳輸報文的運(yùn)行軟件。這樣,模塊與Intemet傳輸數(shù)據(jù)時,報文就會顯示。在模塊成功聯(lián)入網(wǎng)絡(luò)后,單片機(jī)只要將要發(fā)送的數(shù)據(jù)通過串口發(fā)給GR47,GR47就會把數(shù)據(jù)轉(zhuǎn)發(fā)給相應(yīng)的IP地址的PC機(jī)。

          b)短消息數(shù)據(jù)的處理:GR47具有GSM的功能,可以與手機(jī)發(fā)送和接收短消息。短消息采用PDU格式,在程序中需要判斷短消息的到來和讀取短信內(nèi)容,并根據(jù)內(nèi)容執(zhí)行相應(yīng)的功能,最后把結(jié)果構(gòu)造成PDU格式返回給相應(yīng)的發(fā)送者。

          c)GPRS通信心跳信息:網(wǎng)絡(luò)連接建立后,在設(shè)定周期內(nèi)無數(shù)據(jù)通信時,GPRS模塊向數(shù)據(jù)服務(wù)中心發(fā)送心跳信息,數(shù)據(jù)服務(wù)中心收到心跳信息后,回應(yīng)應(yīng)答信號。

          d)重要數(shù)據(jù)的存儲:程序中把一些重要的常用和易變的數(shù)據(jù)如計算機(jī)服務(wù)器的IP地址、端口號、終端地址、SIM卡號等存入單片機(jī)的EEPROM中。需要時從EEPROM中讀出或向EEPROM重新寫入數(shù)據(jù)進(jìn)行設(shè)置。

          2.3 主程序流程

          主程序由模塊函數(shù)組成,模塊函數(shù)由基本函數(shù)嵌套組成。主程序流程大致如下:首先進(jìn)行單片機(jī)設(shè)置變量的初始化,一般均為0;進(jìn)行單片機(jī)相應(yīng)配置單元的初始化,比如設(shè)定端口方向、沒置中斷優(yōu)先級、定時器初始化等;然后由單片機(jī)控制GR47的電源,以決定是否開機(jī);待開機(jī)成功后,查詢網(wǎng)絡(luò)是否注冊成功;成功后即可建立模塊與PC機(jī)服務(wù)器的連接,并進(jìn)行數(shù)據(jù)傳輸和短消息處理;根據(jù)需要發(fā)送一定格式的心跳信息。見圖2。

          3 結(jié)束語

          本文給出了一種基于單片機(jī)和GPRS模塊的嵌入式無線數(shù)據(jù)傳輸終端的實(shí)現(xiàn)方案。以單片機(jī)應(yīng)用系統(tǒng)為中心的小型GPRS通信系統(tǒng)成本低、設(shè)計周期短、便攜性好,尤其適用于遠(yuǎn)程控制和數(shù)據(jù)傳輸。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();