<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > MSC1210的GPRS無(wú)線(xiàn)通信系統設計

MSC1210的GPRS無(wú)線(xiàn)通信系統設計

——
作者:?jiǎn)纹瑱C與嵌入式系統應用 時(shí)間:2006-10-31 來(lái)源:武漢大學(xué) 周靜 舒乃秋 裴春明 收藏
引言

近年來(lái),通信技術(shù)和技術(shù)的迅速發(fā)展,特別是通信技術(shù)的發(fā)展,使得電力系統的自動(dòng)化程度進(jìn)一步提高。GSM出現后,技術(shù)人員很快把GSM模塊嵌入到各種儀表儀器中,如多功能電能表、故障測錄儀、抄表系統和用電負荷監控等,從而使這些儀表儀器具有遠程通信功能。

是在現有GSM系統上發(fā)展出來(lái)的一種新的數據承載業(yè)務(wù),支持TCP/IP協(xié)議,可以與分組數據網(wǎng)(Internet等)直接互通。傳輸系統的應用范圍非常廣泛,幾乎可以涵蓋所有的中低業(yè)務(wù)和低速率的數據傳輸,尤其適合突發(fā)的小流量數據傳輸業(yè)務(wù)。

本文設計的通信模塊,內嵌了TCP/IP協(xié)議,采用工業(yè)級的GPRS模塊,適用于單片機數據采集傳輸系統沒(méi)有TCP/IP協(xié)議棧,但使用串口通信的情況。

1 GPRS通信原理及應用特點(diǎn)

1.1 GPRS簡(jiǎn)介

GPRS是通用無(wú)線(xiàn)分組業(yè)務(wù)(General Packet Radio System)的縮寫(xiě),是介于第二代和第三代之間的一種技術(shù),通常稱(chēng)為2.5G。GPRS采用與GSM相同的頻段、頻帶寬度、突發(fā)結構、無(wú)線(xiàn)調制標準、跳頻規則以及相同的TD-MA幀結構。因此,在GSM系統的基礎上構建GPRS系統時(shí),GSM系統中的絕大部分部件都不需要作硬件改動(dòng),只需作軟件升級。有了GPRS,用戶(hù)的呼叫建立時(shí)間大大縮短,幾乎可以做到“永遠在線(xiàn)”。此外,GPRS是以營(yíng)運商傳輸的數據量而不是連接時(shí)間為基準來(lái)計費,從而令每個(gè)用戶(hù)的服務(wù)成本更低。

1.2基本工作原理

GPRS是在原有的基于電路交換(CSD)方式的GSM上引入兩個(gè)新的網(wǎng)絡(luò )節點(diǎn):GPRS服務(wù)支持節點(diǎn)(SG-SN)和支持節點(diǎn)(GGSN)。SGSN和MSC在同一等級水平,并跟蹤單個(gè)MS的存儲單元實(shí)現安全功能和接入控制,并通過(guò)幀中繼連接到基站系統。GGSN支持與外部分組交換網(wǎng)的互通,并經(jīng)由基于IP的GPRS骨干網(wǎng)和SGSN連通。圖1給出了GPRS與Internet連接原理框圖。

GPRS終端通過(guò)接口從客戶(hù)系統取得數據,處理后的GPRS分組數據發(fā)送到GSM基站。分組數據經(jīng)SGSN封裝后,SGSN通過(guò)GPRS骨干網(wǎng)與支持接點(diǎn)GGSN進(jìn)行通信。GGSN對分組數據進(jìn)行相應的處理,再發(fā)送到目的網(wǎng)絡(luò ),如Internet或X.25網(wǎng)絡(luò )。

若分組數據是發(fā)送到另一個(gè)GPRS終端,則數據由GPRS骨干網(wǎng)發(fā)送到SGSN,再經(jīng)BSS發(fā)送到GPRS終端。

2 嵌入式GPRS通信系統的實(shí)現

2.1 GPRS模塊的硬件設計

嵌入式GPRS無(wú)線(xiàn)通信模塊主要由嵌入TCP/IP的單片機(Y5)、GPRS模塊、SIM卡座、外部接口和擴展數據存儲器等部分組成。圖2是系統的硬件框圖。

控制GPRS模塊接收和發(fā)送信息,通過(guò)標準RS232串口和外部控制器(比如數據采集端)進(jìn)行數據通信。用軟件實(shí)現中斷,完成數據的轉發(fā)。

2.1.1 單片機模塊

單片機采用美國德州儀器公司最新推出的基于8051內核的Y5。該芯片具有很強的數據處理能力,時(shí)鐘頻率為33MHz,指令運行速度實(shí)際上與運行在99MHz時(shí)鐘頻率下的標準8051內核相當。32KB Flash程序存儲器,256 B內部RAM和1024 B片上SRAM,2 KB啟動(dòng)ROM,支持串行和并行的在系統編程。雙數據指針DPTR0和DPTRl可加快數據塊的移動(dòng)速度。

其主要實(shí)現過(guò)程如下:

①通過(guò)AT指令初始化GPRS無(wú)線(xiàn)模塊,使之附著(zhù)在GPSR網(wǎng)絡(luò )上,獲得網(wǎng)絡(luò )運營(yíng)商動(dòng)態(tài)分配的GPRS終端IP地址,并與目的終端建立連接。

②通過(guò)串口0擴展MAX232標準串口和外部控制器(例如數據采集端)連接,外部控制器端接出標準串口,按照約好的協(xié)議可很容易利用本設計的控制器進(jìn)行通信。

③復用P1.2和P1.3,也就是串口1分別和GPRS模塊的TXD0和RXD0連接,P1口的其他6個(gè)端口分別接到GPRS模塊對應的剩余RS232通信口,通過(guò)軟件置位完成對MC35的初始化和控制GPRS模塊的收發(fā)數據。

2.1.2 擴展數據存儲器部分

MSC1210的Flash存儲器可全部作為Flash程序存儲器,也可以全部作為數據Flash程序。因為要嵌入實(shí)時(shí)操作系統和網(wǎng)絡(luò )協(xié)議,需要一定的空間,因此將其全部用作程序存儲器,而通過(guò)74HC573作為地址鎖存器,擴展6264作為外部數據存儲器,8KB的數據存儲空間足夠程序正常運行。

圖3給出了MSC12lO與數據存儲器之間的硬件連接圖。

2.1.3 GPRS無(wú)線(xiàn)數傳模塊

GPRS無(wú)線(xiàn)模塊作為終端的無(wú)線(xiàn)收發(fā)模塊,把從單片機發(fā)送過(guò)來(lái)的IP包或基站傳來(lái)的分組數據進(jìn)行相應的處理后再轉發(fā)。

GPRS模塊采用德國Simens公司生產(chǎn)的MC35模塊。MC35模塊主要由射頻天線(xiàn)、內部Flash、SRAM、GSM基帶處理器、匹配電源和一個(gè)40腳的ZIF插座組成。GSM基帶處理器是核心部件,其作用相當于一個(gè)協(xié)議處理器.用來(lái)處理外部系統通過(guò)串口發(fā)送AT指令。射頻天線(xiàn)部分主要實(shí)現信號的調制和解調,以及外部射頻信號與內部基帶處理器之間的信號轉換。匹配電源為處理器基射頻部分提供所需的電源。MC35外圍電路如圖4所示。

AS2815將外部電壓轉換成3.3V工作電壓。

啟動(dòng)電路由三極管和上電復位電路組成,模塊上電后,為使之正常工作,必須在15腳加至少為100 ms的低電平信號。啟動(dòng)后,15腳信號應保持高電平。

MC35在ZIF連接器上為SIM卡接口預留的引腳數為6個(gè),要注意的是,CCIN引腳用來(lái)檢測SIM卡座是否插有SIM卡。當插入SIM卡,該引腳置為高電平時(shí),系統方可進(jìn)入正常工作。

SYNC引腳有兩種工作模式:一種是指示發(fā)射狀態(tài)時(shí)的功率增長(cháng)情況,另一種是指示MC35的工組狀態(tài)。本設計中使用后一種模式,LED熄滅時(shí),表明MC35處于關(guān)閉或睡眠狀態(tài);當LED為600 ms亮/600 ms熄時(shí),表明SIM卡沒(méi)有插入或MC35正在進(jìn)行網(wǎng)絡(luò )登陸;當LED為75 ms亮/3 s熄時(shí),表明MC35已登陸進(jìn)網(wǎng)絡(luò ),處于待機狀態(tài)。

2.2 單片機通信程序設計

軟件中的所有代碼都用C語(yǔ)言編寫(xiě),在Keil環(huán)境中編譯。Keil是Keil Software公司為8051及其兼容產(chǎn)品提供的專(zhuān)門(mén)開(kāi)發(fā)工具,它支持在系統調試。Keil中C51編譯器很好地集成了RTX多任務(wù)實(shí)時(shí)操作系統,編寫(xiě)程序時(shí),需在源代碼頭加入“#incluede rtx51.h”。所有代碼調試通過(guò)后經(jīng)由TI Downloader下載到存儲器中。

目前,絕大多數基于GPRS網(wǎng)絡(luò )應用系統所使用的GPRS模塊不支持TCP/IP協(xié)議。也就是說(shuō),要想工作在相同的網(wǎng)絡(luò )層面上,其內部傳輸的數據必須都要采用相同的協(xié)議,所以除了利用GPRS模塊的功能外,必須在單片機系統中嵌入按TCP/IP和PPP協(xié)議標準編寫(xiě)的程序,從而使設計的終端設備能夠方便的應用GPRS數據分組業(yè)務(wù)。

2.2.1 TCP/IP協(xié)議的嵌入

有很多種方法可以完成協(xié)議轉換,本設計利用在嵌入式實(shí)時(shí)操作系統RTX51中移值部分IP和PPP協(xié)議來(lái)增強系統的可擴展性和產(chǎn)品開(kāi)發(fā)的可延續性。

TCP/IP協(xié)議是一個(gè)標準協(xié)議套件,可以用分層模型來(lái)描述。數據打包處理數據時(shí),每一層把自己的信息添加到一個(gè)數據頭中,而這個(gè)數據頭又被下一層中的協(xié)議包裝到數據體中。數據解包處理程序接收到GPRS數據時(shí),把相應的數據頭剝離,并把數據包的其余部分當作數據體對待。

考慮到嵌入式系統的特點(diǎn),本設計采用了系統開(kāi)銷(xiāo)較小的IP+UDP協(xié)議來(lái)實(shí)現GPRS通信。主機發(fā)送的UDP數據報文經(jīng)GPRS通道傳送給GPRS通信模塊,GPRS通信模塊負責對數據報進(jìn)行解析,解析后的數據按照一定的波特率串行傳送給用戶(hù)終端。

2.2.2 數據處理

數據包在主機和GPRS服務(wù)器群中傳輸使用的是基于IP的分組,即所有的數據報文都要基于IP包。但明文傳送IP包不可取,故一般使用PPP協(xié)議進(jìn)行傳輸。模塊向發(fā)送PPP報文都會(huì )傳送到Internet網(wǎng)中相應的地址,而從Internet傳送過(guò)來(lái)的應答幀也同樣會(huì )根據IP地址傳送到GPSR模塊,從而實(shí)現采集數據和Internet網(wǎng)絡(luò )通過(guò)GPRS模塊的透明傳輸。

要注意的是,GSM網(wǎng)絡(luò )無(wú)靜態(tài)IP地址,故其他通信設備不能向它提出建立連接請求,監控中心必須擁有一個(gè)固定的IP,以便監測終端可以在登陸GSM網(wǎng)絡(luò )后通過(guò)該IP找到監控中心。關(guān)于這一點(diǎn),很容易解決,只需在電信申請相應的服務(wù)就可以了。

GPRS模塊登陸上GSM網(wǎng)絡(luò )后,自動(dòng)連接到數據中心,向數據中心報告其IP地址,并保持和維護數據鏈路的連接。GPRS監測鏈路的連接情況,一旦發(fā)生異常,GPRS模塊自動(dòng)重新建立鏈路,數據中心和GPRS模塊之間就可以通過(guò)I地址通過(guò)UDP/IP協(xié)議進(jìn)行雙向通信,實(shí)現透明的可靠數據傳輸。

3 上位機監控中心的設計

監控中心的功能是實(shí)現GPRS信息的接收和保存。設計語(yǔ)言采用Microsoft公司的Visual C++編程語(yǔ)言,C++語(yǔ)言應用靈活,功能強大,并對網(wǎng)絡(luò )編程和數據庫有強大的支持。

由于通過(guò)GPRS.中心監控部分可以直接訪(fǎng)問(wèn)互聯(lián)網(wǎng),所以監控部分并不需要再設置GPRS模塊。中心只需通過(guò)中心軟件幀聽(tīng)網(wǎng)絡(luò ),接收GPRS無(wú)線(xiàn)模塊傳來(lái)的UDP協(xié)議的IP包和發(fā)送上位機控制信息,以實(shí)現與GPRS終端的IP協(xié)議通信。接收到的信息要保存到中心的數據庫中,以備查歷史記錄。數據庫采用Access,VC編制的界面窗口通過(guò)AD()訪(fǎng)問(wèn)Access中的數據。需要說(shuō)明的是,筆者是通過(guò)Socket接收網(wǎng)絡(luò )終端信息的。

Socket接口是TCP/IP網(wǎng)絡(luò )的API,Socket接口定義了許多函數和例程,程序員可以利用它來(lái)開(kāi)發(fā)TCP/IP網(wǎng)絡(luò )上的應用程序。VC中的MFC類(lèi)提供了CAsyncSocket這樣一個(gè)套接字類(lèi),用它來(lái)實(shí)現Socket編程非常方便。本設計中采用數據報文式的Socket,它是一種無(wú)連接的
Socket,對應于無(wú)連接的UDP服務(wù)應用。

CAsyncSocket:類(lèi)用DoCallBack函數處理MFC消息,當一個(gè)網(wǎng)絡(luò )事件發(fā)生時(shí),DoCallBack函數按照網(wǎng)絡(luò )事件類(lèi)型:FD_READ、FD_WRITE、FD_ACCEPT和FD_CON-NECT分別調用OnReceive、OnSend、OnAccept和OnCon-nect函數,驅動(dòng)相應的事件,完成網(wǎng)絡(luò )數據通信過(guò)程。

4 結論

本文采用嵌入式TCP/IP協(xié)議,通過(guò)高速8位單片機實(shí)現GPRS業(yè)務(wù)的數據傳輸功能,具有外圍電路少,電路簡(jiǎn)單,系統成本低等優(yōu)點(diǎn)。通過(guò)標準RS232串口和外部控制器連接,只需按照預先規定的協(xié)議就可互相通信,通用性較強。系統軟件均使用C語(yǔ)言編寫(xiě),稍加改動(dòng)就可以在各種控制器上實(shí)現,可移植性也較強。

基于GPRS的系統也有一定的缺點(diǎn),例如,現在的GPRS網(wǎng)還不夠穩定,有丟包的現象;主控制器要實(shí)現IP協(xié)議,使用起來(lái)比較復雜;上位機基于互聯(lián)網(wǎng)的解決方案保密性較差等。上述問(wèn)題經(jīng)過(guò)精細設計是可以避免和解決的,所以基于GPRS的設計仍具有無(wú)可比擬的優(yōu)勢。

tcp/ip相關(guān)文章:tcp/ip是什么




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>