新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 一種基于Sim卡座的GPRS無(wú)線通信模塊設(shè)計(jì)

一種基于Sim卡座的GPRS無(wú)線通信模塊設(shè)計(jì)

作者: 時(shí)間:2014-04-13 來(lái)源:網(wǎng)絡(luò) 收藏

無(wú)線數(shù)傳模塊

本文引用地址:http://butianyuan.cn/article/236430.htm

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

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

?

?

圖中,由AS2815將外部電壓轉(zhuǎn)換成3.3V工作電壓。系統(tǒng)中的啟動(dòng)電路由三極管和上電復(fù)位電路組成,模塊上電后,為使之正常工作,必須在15腳加至少100ms的低電平信號(hào),啟動(dòng)后,15腳信號(hào)應(yīng)保持高電平。

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

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

單片機(jī)通信程序設(shè)計(jì)

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

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

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

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

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

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

◇ 數(shù)據(jù)處理

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

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

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

上位機(jī)監(jiān)控中心的設(shè)計(jì)

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

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

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

CAsyncSocket使用DoCallBack函數(shù)來(lái)處理MFC消息,一個(gè)網(wǎng)絡(luò)事件發(fā)生時(shí),DoCallBack函數(shù)按照網(wǎng)絡(luò)時(shí)間類型FD_READ、FD_WRITE、FD_ACCEPT和FD_CON-NECT來(lái)分別調(diào)用OnReceive、OnSend、OnAccept和OnCon-nect函數(shù),以驅(qū)動(dòng)相應(yīng)的事件,從而完成網(wǎng)絡(luò)數(shù)據(jù)通信。

結(jié)束語(yǔ)

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

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

c++相關(guān)文章:c++教程


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


數(shù)字通信相關(guān)文章:數(shù)字通信原理


通信相關(guān)文章:通信原理


存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理


電能表相關(guān)文章:電能表原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: GPRS Sim

評(píng)論


相關(guān)推薦

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

關(guān)閉