基于CDMA的移動(dòng)無線數(shù)據(jù)傳輸系統(tǒng)
摘要:介紹一種以C8051F020 MCU為控制核心、結(jié)合CDMA業(yè)務(wù)和GPS系統(tǒng)開發(fā)的移動(dòng)無線數(shù)據(jù)傳輸系統(tǒng),整個(gè)系統(tǒng)由移動(dòng)終端、CDMA網(wǎng)絡(luò)、Internet網(wǎng)絡(luò)、信息管理中心服務(wù)器四部分組成;重點(diǎn)描述移動(dòng)終端的硬件組成、軟件設(shè)計(jì)。系統(tǒng)可用于移動(dòng)狀態(tài)下無線數(shù)據(jù)傳輸,例如車輛調(diào)度管理,停車場(chǎng)所和交通監(jiān)測(cè)數(shù)據(jù)的傳輸,金融系統(tǒng)POS聯(lián)網(wǎng),氣象站數(shù)據(jù)采集,各種分布式遙測(cè)遙控系統(tǒng)等。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)應(yīng)用于各種移動(dòng)場(chǎng)合的數(shù)據(jù)傳輸是目前最好的選擇。
關(guān)鍵詞:CDMA GPS 數(shù)據(jù)業(yè)務(wù) C8051F020 ME45
引 言
目前,移動(dòng)無線傳輸數(shù)據(jù)的方式主要有3種:GSM短消息、GPRS和CDMA。它們的特點(diǎn)比較如下:
?、?移動(dòng)通信網(wǎng)GSM短消息方式。短消息是GSM網(wǎng)所具有的電信業(yè)務(wù)之一。所謂的短消息是指長度不超過160個(gè)字符的文本消息。由于短消息傳輸用的是信令信道,采用存儲(chǔ)轉(zhuǎn)發(fā)的方式,因此短消息服務(wù)費(fèi)用低,傳輸延時(shí)不固定,根據(jù)當(dāng)前的短消息業(yè)務(wù)使用情況而定。短消息方式的缺點(diǎn)是數(shù)據(jù)傳輸速率低、具有延遲性且時(shí)間不定。
② GPRS(General Packet Radio Service),即通用分組無線業(yè)務(wù),是在現(xiàn)有GSM系統(tǒng)上發(fā)展出來的一種新的數(shù)據(jù)承載業(yè)務(wù)。GPRS采用分組交換技術(shù),按流量計(jì)費(fèi),高效傳輸高速或低速數(shù)據(jù)和信令。GPRS理論傳輸速率可達(dá)171.2 kbps,實(shí)際傳輸速率大約在40 kbps。中國移動(dòng)2002年5月18日開始正式商用GPRS網(wǎng)絡(luò)。
?、?CDMA 1X原意是指CDMA 2000的第一階段,可支持308 kbps的數(shù)據(jù)傳輸、網(wǎng)絡(luò)部分引入分組交換,可支持移動(dòng)IP業(yè)務(wù);CDMA 1X是在CDMA IS95系統(tǒng)上發(fā)展出來的一種新的承載業(yè)務(wù),目的是為CDMA用戶提供分組形式的數(shù)據(jù)業(yè)務(wù);CDMA 1X理論傳輸速率可達(dá)300 kbps,目前的實(shí)際傳輸速率大約在100 kbps左右,可以用于Internet連接、數(shù)據(jù)傳輸?shù)葢?yīng)用。CDMA 1X無線數(shù)據(jù)通信系統(tǒng)的特點(diǎn)是按流量計(jì)費(fèi),即一直在線,按照接收和發(fā)送數(shù)據(jù)包的數(shù)量來收取費(fèi)用,沒有數(shù)據(jù)流量的傳遞時(shí)不收費(fèi)用。
第1代移動(dòng)通信系統(tǒng)是模擬式的,已淘汰。第2代移動(dòng)通信系統(tǒng)是數(shù)字蜂窩式的,如TDMA的GSM和CDMA的IS95。GPRS和CDMA 1X都是2.5代的移動(dòng)通信系統(tǒng)。中國聯(lián)通公司已經(jīng)擁有了一個(gè)覆蓋全國的CDMA2000 1X網(wǎng)絡(luò),用于提供1X數(shù)據(jù)分組業(yè)務(wù)。
CDMA 1X與GPRS雖然都是2.5代的移動(dòng)通信系統(tǒng),但1X網(wǎng)絡(luò)通信速度遠(yuǎn)高于GPRS網(wǎng)絡(luò),而且易于平滑過渡到3G移動(dòng)通信系統(tǒng)。未來的第3代移動(dòng)通信系統(tǒng)雖然有幾種模式,但毫無例外地都是CDMA碼分多址的。
CDMA無線DDN(Digital Data Network)特別適合應(yīng)用于工業(yè)、商業(yè)和其他諸多領(lǐng)域的移動(dòng)數(shù)據(jù)傳輸、多點(diǎn)分散的數(shù)據(jù)傳輸,例如,物流系統(tǒng)的車輛調(diào)度管理,停車場(chǎng)所和交通監(jiān)測(cè)數(shù)據(jù)的傳輸,金融系統(tǒng)POS聯(lián)網(wǎng),氣象站數(shù)據(jù)采集,電力、水文、供暖、供氣、供水的分布式遙測(cè)遙控系統(tǒng)等。
本文討論的就是利用CDMA業(yè)務(wù)傳送GPS定位信息的實(shí)例。當(dāng)然,GPS定位信息只是整個(gè)信息傳輸管理系統(tǒng)的一個(gè)應(yīng)用,通過更換不同的數(shù)據(jù)源模塊可實(shí)現(xiàn)不同的信息傳輸,從而構(gòu)成不同的信息傳輸管理系統(tǒng),如遠(yuǎn)程抄表系統(tǒng)、水文數(shù)據(jù)采集系統(tǒng)等等。
1 系統(tǒng)構(gòu)成
如圖1所示,整個(gè)信息傳輸管理系統(tǒng)由移動(dòng)終端、CDMA網(wǎng)絡(luò)、Internet網(wǎng)、信息管理中心服務(wù)器組成。
移動(dòng)終端將GPS數(shù)據(jù)組成CDMA數(shù)據(jù)分組,通過CDMA網(wǎng)絡(luò)和Internet網(wǎng),上傳到信息管理中心服務(wù)器。服務(wù)器應(yīng)當(dāng)具備IP地址和電子地圖。
信息管理中心也可以通過Internet網(wǎng)和CDMA網(wǎng)絡(luò)向移動(dòng)終端發(fā)出各種指令。
2 移動(dòng)終端硬件組成
移動(dòng)終端的硬件部分主要有CDMA Modem模塊、GPS模塊、MCU及電源四部分,連接關(guān)系如圖2所示。
其中的CDMA模塊為Wavcom公司的ME45。這是一個(gè)具有完整功能的CDMA移動(dòng)通信模塊,通過串口可以實(shí)現(xiàn)對(duì)此模塊的控制和數(shù)據(jù)傳輸,包括短信和無線上網(wǎng)等。另外加上模擬部分電路,可實(shí)現(xiàn)話音通信功能。對(duì)ME45的控制用的是AT命令方式。
GPS模塊是臺(tái)灣Holux公司的GM82 OEM板。它通過外接天線接收GPS信號(hào),計(jì)算出所處位置的地理信息,通過串口將此信息傳送給MCU。
MCU采用新華龍公司代理的C8051F020八位微控制器。選擇此MCU是基于諸多考慮的:首先,是功能強(qiáng)大,幾乎在單片中包容了所有常用的功能;其次,與普通的8051有相同的內(nèi)核,開發(fā)容易,而且支持C語言源程序調(diào)試。
在此移動(dòng)終端中,采用了如下一些必需的功能部件:
首先是它的兩個(gè)硬件串口。這兩個(gè)串口的波特率產(chǎn)生是獨(dú)立的,而且不占用芯片的定時(shí)器,使用起來相當(dāng)靈活。這兩個(gè)串口分別對(duì)GPS模塊和CDMA模塊通信。GPS模塊把位置信息以固定的格式從串口發(fā)出,MCU接收GPS模塊送來的數(shù)據(jù),解析出其中有用的數(shù)據(jù)進(jìn)行封裝,然后以規(guī)定的格式通過第2個(gè)串口交給CDMA模塊,將數(shù)據(jù)送上Internet網(wǎng)。
其次,128字節(jié)的Flash可用于存放一些可設(shè)置的參數(shù),如移動(dòng)終端的識(shí)別號(hào)或IP地址、信息管理中心服務(wù)器的IP地址等。
再次,4 KB的SRAM相對(duì)其他的8位機(jī)來講是相當(dāng)大了,可以滿足組幀、數(shù)據(jù)緩沖的要求。
64 KB的Flash可以滿足較大程序量的要求。
64 KB的Flash和4 KB RAM的組合可以完成對(duì)信息數(shù)據(jù)的加解密工作,可提供某些特定場(chǎng)合使用。
引出了某些I/O口,通過光電耦合器隔離后引至其他監(jiān)測(cè)點(diǎn),可以擴(kuò)展相應(yīng)的功能。
另外,留出了總線擴(kuò)展口,可擴(kuò)展64 KB的SRAM,一方面可以用于嵌入實(shí)時(shí)操作系統(tǒng),另一方面可以用于使用C8051F020的在線自我編程功能來遠(yuǎn)程更新程序。
由于用于移動(dòng)設(shè)備,需要低功耗器件,而C8051F020工作電壓為3.3 V,功耗很小。
設(shè)計(jì)時(shí)考慮該移動(dòng)終端主要作為車載應(yīng)用,所以實(shí)際電路中設(shè)計(jì)了從點(diǎn)煙器取電的電源電路。
移動(dòng)終端利用C8051F020芯片控制實(shí)現(xiàn),不用另行擴(kuò)展串口、ROM以及RAM。此硬件結(jié)構(gòu)并不僅僅局限在定位功能上,對(duì)于很多數(shù)據(jù)采集/控制應(yīng)用也可以滿足要求,只需改變程序結(jié)構(gòu)。正是由于C8051F020的功能強(qiáng)大,使得硬件的組成和結(jié)構(gòu)都變得非常簡單。
3 移動(dòng)終端軟件設(shè)計(jì)
由于采用了C8051F020作控制器,使得硬件的工作相對(duì)簡單和通用,所以該系統(tǒng)實(shí)現(xiàn)的主要工作集中在軟件的實(shí)現(xiàn)上。
利用GPRS上網(wǎng)主要的問題是,在系統(tǒng)接入無線Internet網(wǎng)時(shí)進(jìn)行初始化和對(duì)鏈路的控制。若對(duì)通信過程和協(xié)議不熟悉,則做起來很麻煩;現(xiàn)在已有許多MCU或GPRS Modem已將這些功能嵌入到操作系統(tǒng)中。對(duì)CDMA上網(wǎng),則比較簡單,通過撥通服務(wù)商的特定號(hào)碼即可。
利用CDMA模塊進(jìn)行數(shù)據(jù)傳輸,既可以采用上網(wǎng)傳輸,也可以采用短消息的方法。下面就短消息方式的數(shù)據(jù)傳輸軟件流程作一介紹。
對(duì)于數(shù)據(jù)源,GPS模塊不斷發(fā)送固定格式的串行數(shù)據(jù),MCU利用一串口與之相連。一般MCU對(duì)串口數(shù)據(jù)的接收處理方式有查詢和中斷兩種。這里采用的方法既不是查詢也不是中斷,而是命令的方式,MCU根據(jù)接收到的不同命令,執(zhí)行不同的功能。移動(dòng)終端的軟件流程如圖3所示。
(1) MCU的初始化
單片機(jī)的初始化很重要,它關(guān)系到程序能否正確運(yùn)行。這里主要功能是分配串口引腳,設(shè)置系統(tǒng)時(shí)鐘,確定波特率。
這里需要重點(diǎn)注意的問題是MCU的初始化。C8051 MCU硬件資源相當(dāng)豐富,但有一些不是能同時(shí)使用的,需要在初始化時(shí)進(jìn)行設(shè)定,所以它的交叉開關(guān)譯碼表的正確使用非常重要。資料中提供的優(yōu)先權(quán)交叉開關(guān)分配是有區(qū)別的,關(guān)鍵看XBR2特殊功能寄存器中的EMIFLE位的值。串口分配時(shí)只用到4個(gè)引腳,沒有用到外部存儲(chǔ)器,所以 P0.7、P0.6、P0.5 的功能由交叉開關(guān)或端口鎖存器決定,而且EMIFLE的值為“0”,這樣可以保證串口分配不出現(xiàn)錯(cuò)位。
(2) 刪除短消息子程序
刪除短消息子程序的作用是清空SIM卡里存入的所有讀過的短消息,但未讀取的短消息不會(huì)刪除,使每個(gè)新來的短消息的標(biāo)號(hào)都為“0”。
(3) 讀短消息子程序
讀短消息子程序的作用是讀取新消息并將短信的內(nèi)容存儲(chǔ)在內(nèi)部RAM中,為程序的跳轉(zhuǎn)提供判斷的依據(jù)。例如,如果短信的內(nèi)容是“###13520479697*”,表示設(shè)定短消息發(fā)送號(hào)碼;如果需要查詢車輛狀況,MCU就會(huì)向卡號(hào)為“13520479697”的用戶發(fā)定位信號(hào)。
指令“AT+CMGR=0”表示讀取SIM卡里的標(biāo)號(hào)為0的短信。先把該指令轉(zhuǎn)換為ASCII碼,然后再串行發(fā)送出去。CDMA模塊就會(huì)執(zhí)行相應(yīng)的命令,并將短信內(nèi)容通過串行口傳遞給單片機(jī)。單片機(jī)的串口0的接收標(biāo)志位RI置位,表示接收到一個(gè)完整的字符,可以從串口寄存器中取走內(nèi)容。該標(biāo)志位不能自動(dòng)清零,需要軟件復(fù)位,然后進(jìn)行下一個(gè)字節(jié)的接收。
短信的內(nèi)容是有長度的,通過設(shè)定短信內(nèi)容的最后一個(gè)字符是否為“*”號(hào)來決定接收停止位。接收時(shí),判斷串口寄存器。如果接收到的字符為“*”,表示停止接收,則后面接收的信息無效,將SBUF0的內(nèi)容存入RAM區(qū)。
(4) 短消息命令的執(zhí)行
通過刪除舊短信,讀新短信,存儲(chǔ)新短信的內(nèi)容,MCU對(duì)存入內(nèi)容檢索、判斷是什么功能命令,然后跳轉(zhuǎn)到相應(yīng)的功能程序入口,實(shí)現(xiàn)用戶所要求的服務(wù)。
這里舉兩個(gè)命令說明:如“###13520479697*”和“PLACE*”。
接收到第1個(gè)命令時(shí),先檢測(cè)“###”,如果符合,則表示后面的數(shù)據(jù)是要存入Flash中的卡號(hào),需要掉電保存的內(nèi)容,將其存入128B的非易失性存儲(chǔ)扇區(qū)中。掉電后,該號(hào)碼不會(huì)丟失。如有語音命令和查詢定位信息的命令時(shí),都會(huì)呼叫這個(gè)存入Flash中的號(hào)碼。
第2個(gè)命令表示接收定位信息。它是以第1個(gè)命令為基礎(chǔ)的,只有第1個(gè)命令執(zhí)行后,存有了卡號(hào),才能將定位信息發(fā)送出去。當(dāng)單片機(jī)檢測(cè)到新短信的內(nèi)容為“PLACE*”時(shí),啟動(dòng)定時(shí)器4,通過串口1,接收GPS定位信號(hào)。這時(shí),接收的信號(hào)還不是發(fā)到信息中心,要通過對(duì)導(dǎo)航電文的檢索、提取,最后將有用的時(shí)間、經(jīng)度、緯度信息發(fā)送給設(shè)定的號(hào)碼。
兩個(gè)不同命令短信的執(zhí)行,功能子程序是分開的,但前端的判斷跳轉(zhuǎn)程序是關(guān)聯(lián)的,所以將兩個(gè)程序合在一起討論。該程序包含對(duì)兩個(gè)串口同時(shí)操作,先讀新消息。如果內(nèi)容有“PLACE*”,則進(jìn)入定位信號(hào)的提取。判斷是否有“###”,有則進(jìn)入存儲(chǔ)號(hào)碼的功能。
當(dāng)檢測(cè)到“PLACE*”時(shí),首先啟動(dòng)定時(shí)器4,接收串口1的定位信息。由于GPS信號(hào)的定位信息里有些是用不到的,所以接收的信息要加以判斷。如果數(shù)據(jù)頭是“$GPRMC”,才開始接收。接收以A開頭,E結(jié)尾。存放在0800開始的地址空間中,最后把這些內(nèi)容整合到0900開始的地址空間內(nèi),串行發(fā)送給CDMA模塊,這樣就完成了定位信息以短消息發(fā)送的目的。
如果需要更強(qiáng)大的網(wǎng)絡(luò)功能支持,可以嵌入RTOS內(nèi)核?,F(xiàn)在有不少操作系統(tǒng)支持C8051F MCU。
結(jié)語
隨著科學(xué)技術(shù)的發(fā)展,在工業(yè)、商業(yè)和軍事領(lǐng)域中實(shí)時(shí)信息傳送的應(yīng)用越來越廣泛,需求量與日俱增。CDMA業(yè)務(wù)的推出,更加推動(dòng)了這一方向的迅猛發(fā)展,無線移動(dòng)數(shù)據(jù)傳輸技術(shù)的應(yīng)用有著越來越廣闊的前景。
參考文獻(xiàn)
1 祁玉生,邵世祥. 現(xiàn)代移動(dòng)通信. 北京:人民郵電出版社,2000
2 潘琢金,等. C8051FXXX高速SOC單片及原理及應(yīng)用. 北京:北京航空航天大學(xué)出版社,2002
3 GM82 GPS Receiver用戶指南
4 ME45用戶指南
5 C8051FXXX用戶手冊(cè)
宋鵬:教授,研究方向?yàn)橐苿?dòng)數(shù)據(jù)傳輸,軟件無線電,射頻識(shí)別,載波通信。
嚴(yán)峰斌:碩士研究生,主要研究方向?yàn)楣饫w通信。
cdma相關(guān)文章:cdma原理
評(píng)論