基于GPRS的無線數(shù)據(jù)采集與傳輸終端
無線數(shù)據(jù)采集與傳輸?shù)膽?yīng)用范圍非常廣,涉及行業(yè)有電力、水利、公安、交通、石油、安防和金融等。中國移動公司在2002年5月正式開通了通用分組無線業(yè)務(wù)GPRS網(wǎng)絡(luò)。GPRS網(wǎng)絡(luò)支持TCP/IP協(xié)議并且覆蓋面廣,比起使用短消息和超短波無線數(shù)傳電臺進行無線數(shù)據(jù)傳輸,GPRS無論在費用、可靠性和可實施性等方面都具有很大的優(yōu)勢。
終端的系統(tǒng)組成
無線數(shù)據(jù)采集與傳輸終端的設(shè)計可以有兩套方案:第一套為“單片機+GPRS調(diào)制解調(diào)器”,此方案雖然硬件成本較低,但功能比較有限,在協(xié)議的開發(fā)和支持上都有一定難度;第二套方案為“嵌入式CPU+GPRS 模塊”,此方案雖然硬件成本稍高,需要嵌入式CPU芯片來支持嵌入式操作系統(tǒng),但可以實現(xiàn)豐富協(xié)議接口,便于移植和向高端系統(tǒng)應(yīng)用升級,更加便于數(shù)據(jù)采集與傳輸?shù)膶崿F(xiàn)。
圖1給出了一個無線數(shù)據(jù)采集和傳輸終端組成的原理參考圖,采用Motorola半導(dǎo)體(編者注,現(xiàn)更名為:Freescale)嵌入式CPU MPC8xx加GPRS模塊CMS91的第二套實現(xiàn)方案。
圖1 終端組成原理參考圖
終端工作原理為通過RS232/485口接收到用戶數(shù)據(jù),然后將數(shù)據(jù)打成IP包,通過GPRS模塊接入GPRS網(wǎng)絡(luò),再通過各種網(wǎng)關(guān)和路由將數(shù)據(jù)發(fā)送到數(shù)據(jù)處理中心。
下面對圖1中的組成原理進行詳細介紹:
嵌入式CPU芯片是整個數(shù)據(jù)采集終端的核心,可以很好地支持嵌入式操作系統(tǒng);考慮到嵌入式操作系統(tǒng)的移植方便性和性能要求,采用了當(dāng)前成熟的Motorola MPC8xx嵌入式CPU。許多操作系統(tǒng)廠家都針對這種類型的CPU開發(fā)微碼和套件(BSP),以方便用戶移植。
GPRS模塊主要完成無線上網(wǎng)的功能。在市場上有一些成熟的產(chǎn)品,譬如說Sony/Ericsson的GM47;Simens的MC35等。在這里選用Cellon公司的CMS91。它是一種雙頻段GSM/GPRS 10級模塊,主要優(yōu)點有:低功耗、接口簡單、AT指令功能完善、可支持GPRS CLASS 10、開發(fā)多媒體應(yīng)用、價格較低等。同時,它也提供SMS(短消息服務(wù))和語音功能。GPRS模塊提供RS232接口,可以通過它來完成對模塊的控制,譬如撥號和切換模式等。一旦通過模塊連接上Internet,采集到的數(shù)據(jù)就可以用TCP/IP傳輸方式發(fā)送到任意一個具有公網(wǎng)IP地址的主機上去,從而實現(xiàn)采集數(shù)據(jù)的無線傳輸。
數(shù)據(jù)采集一般采用標(biāo)準(zhǔn)RS232或RS485接口,采集壓力、溫度等傳感器數(shù)據(jù)。由CPU負責(zé)對采集到的數(shù)據(jù)進行運算和處理,然后交給GPRS模塊將其發(fā)送給遠程數(shù)據(jù)中心。
Watchdog主要用來防止終端系統(tǒng)死機。通過軟件定時寫數(shù)據(jù)到WD硬件,一旦系統(tǒng)死機,軟件工作不正常,WD硬件由于接收不到數(shù)據(jù)而產(chǎn)生硬件中斷,從而系統(tǒng)自動重啟。
ROM主要用于保存嵌入式操作系統(tǒng)、應(yīng)用程序及相關(guān)配置參數(shù),通過內(nèi)部總線直接與CPU通信。在這里選用了Intel公司的28F320-J3,32M字節(jié)。可以在ROM上完成文件系統(tǒng),但需要在操作系統(tǒng)中加入文件系統(tǒng)處理模塊。
LCD是可選模塊,用來顯示狀態(tài)信息等。10Base-T也是可選模塊,方便調(diào)試。也可以利用NAT技術(shù)和10Base-T端口將終端作為連接Internet的網(wǎng)關(guān)。
實施中的技術(shù)難點
CPU通信端口的配置
在此設(shè)計中選用MPC850微處理器, 它是一個多用途的通用芯片,內(nèi)部集成了微處理器和常用外圍組件,可用于各種控制領(lǐng)域。它是MPC860應(yīng)用于通信系統(tǒng)的低成本實現(xiàn),提供了更高的性價比,并在通信方面有所增強,比如通用串行總線(USB)的支持。MPC850集成了嵌入式PowerPC 核和一個為通信使用的專門的RISC通信處理器模塊(CPM)。MPC850 的 CPM 支持6個串行通道:一個串行通信控制器(SCC),一個USB,兩個串行管理控制器(SMS),一個I2C接口,和一個串行外圍接口電路SPI。通常可將一個SCC和兩個SMS配置成為通用串口UART,用以控制不同的模塊且速率可調(diào)。
ROM上文件系統(tǒng)的實現(xiàn)
普通的ROM操作只能以模塊操作,維護起來很不方便,而且由于在讀寫的時候沒有緩沖操作,數(shù)據(jù)很容易丟失和出錯。在ROM上實現(xiàn)的文件系統(tǒng) 可以合理的分配和使用每一個區(qū)塊,減少了區(qū)塊遷移和區(qū)塊過度使用。本設(shè)計中采用Intel J3系列(28F320J3)閃存做為存儲設(shè)備, 實現(xiàn)了TrueFFS。首先在系統(tǒng)啟動配置文件中配置TFFS的三層結(jié)構(gòu),修改MTD。系統(tǒng)啟動時初始化文件系統(tǒng)和缺省路徑。如果成功,就生成了可操作的文件設(shè)備符。自此,用戶就可以使用一般的文件操作方式了(生成、讀、寫和刪除)。要注意的是在讀寫完文件后,要顯示關(guān)閉文件,以避免數(shù)據(jù)丟失。
設(shè)備作為網(wǎng)關(guān)時的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)實現(xiàn)
采用NAT接入Internet改變了原來使用代理軟件接入Internet的方式,可采用兩種NAT的設(shè)置(動態(tài)NAT和靜態(tài)NAT)實現(xiàn)Internet的接入。動態(tài)NAT實現(xiàn)所有主機對Internet的訪問。由于NAT具有隱藏網(wǎng)絡(luò)內(nèi)部拓撲結(jié)構(gòu)的功能,外部主機不能直接訪問內(nèi)部網(wǎng)站或主機。但通過動、靜態(tài)NAT的聯(lián)合使用,既可以實現(xiàn)內(nèi)外部互訪,又可以隱藏網(wǎng)絡(luò)內(nèi)部拓撲結(jié)構(gòu),確保網(wǎng)絡(luò)安全。在具體實現(xiàn)中,首先要通過PPP撥號上GPRS網(wǎng)絡(luò),得到分配地址。如果得到CPU通信端口上分配的網(wǎng)絡(luò)通信內(nèi)部IP地址,然后配置NAT參數(shù),將其中的兩個端口參數(shù)配置為GPRS網(wǎng)絡(luò)地址和內(nèi)部通訊地址。最后用配置好的NAT參數(shù)將NAT初始化。
GPRS模塊工作模式的使用
利用CMS91進行數(shù)據(jù)傳輸?shù)闹饕椒ㄓ?種:
1.SMS Messages —可以用來傳輸字符或者二進制數(shù)據(jù),一般情況下每條SMS的字節(jié)長度是140字節(jié),SMS適合數(shù)據(jù)量小的對實時性要求不高的場合。
2.Data Calls—在數(shù)據(jù)鏈路建立以后可以進行透明或者非透明的數(shù)據(jù)傳輸。主要適合數(shù)據(jù)量比較大而傳輸次數(shù)較少的場合。
3.GPRS數(shù)據(jù)傳輸—適合所有情況下的數(shù)據(jù)傳輸,是未來的發(fā)展趨勢。
利用CMS91 GPRS模塊進行基于Internet的數(shù)據(jù)通信SMS和Data Call應(yīng)用有很大的不同,無論是SMS還是Data Call都是有相應(yīng)的AT指令支持的,使用都是比較簡單的、無需了解實際的運作流程,但是對于GPRS的數(shù)據(jù)應(yīng)用,牽涉的網(wǎng)絡(luò)協(xié)議方面的知識要相對較多。
在這種應(yīng)用中,CMS91 GPRS模塊相當(dāng)于一個無線調(diào)制解調(diào)器用戶的應(yīng)用系統(tǒng),需要通過PPP(LCP/PAP/IPCP)先和運營商的Internet接入服務(wù)器連接,然后才能應(yīng)用TCP/IP、UDP或者更高一層的應(yīng)用層程序http、FTP等進行通信。在目前的GPRS應(yīng)用中,如果應(yīng)用系統(tǒng)是基于操作系統(tǒng)的,由于系統(tǒng)功能比較強,可以采用完整的PPP協(xié)議,但是如果應(yīng)用系統(tǒng)是采用MCU的,那么一般采用簡化的PPP協(xié)議,將一些不兼容的信息拒絕掉。
利用GPRS進行數(shù)據(jù)傳輸?shù)慕Y(jié)構(gòu)有兩種,主要區(qū)別在于服務(wù)器端的位置: 服務(wù)器端采用普通Internet上的主機方式,或者服務(wù)器通過DDN(或其它高速連接的方式如ASDL)直接與中間移動網(wǎng)CMNET連接的方式。 根據(jù)以上介紹的設(shè)計實施技術(shù),不難寫出一個完整的利用GPRS模塊基于Internet的數(shù)據(jù)通信流程。
結(jié)語
本文從系統(tǒng)結(jié)構(gòu)和實現(xiàn)方式上介紹了一個基于GPRS的無線數(shù)據(jù)采集和傳輸終端的實現(xiàn)方法,尤其著重描述了如何利用GPRS進行數(shù)據(jù)通信。一般無線數(shù)據(jù)采集終端都用在專用系統(tǒng)中,如電力、水利等,特別適合小數(shù)據(jù)量低速數(shù)據(jù)傳輸要求,對工作穩(wěn)定性的要求一般較高。在這里再提出一些成本和兼容性方面的設(shè)想:1.嵌入式CPU芯片由MPC8xx轉(zhuǎn)換為ARM芯片。2.網(wǎng)絡(luò)支持從GPRS升級到CDMA,可以通過更換無線通信模塊來實現(xiàn)。
參考文獻:
1.陳凱旋、謝海滔,‘GPRS原理及其應(yīng)用,鐵道通信信號’,2003年7月,Vol.39,No.7