《電子技術(shù)應用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應用 > 基于CDMA業(yè)務(wù)的GPS定位信息傳送
基于CDMA業(yè)務(wù)的GPS定位信息傳送
電子發(fā)燒友
摘要: 本文討論的就是利用CDMA業(yè)務(wù)傳送GPS定位信息的實例,。當然,GPS定位信息只是整個信息傳輸管理系統(tǒng)的一個應用,,通過更換不同的數(shù)據(jù)源模塊可實現(xiàn)不同的信息傳輸,,從而構(gòu)成不同的信息傳輸管理系統(tǒng),,如遠程抄表系統(tǒng),、水文數(shù)據(jù)采集系統(tǒng)等等,。
Abstract:
Key words :

本文討論的就是利用CDMA業(yè)務(wù)傳送GPS定位信息的實例,。當然,,GPS定位信息只是整個信息傳輸管理系統(tǒng)的一個應用,,通過更換不同的數(shù)據(jù)源模塊可實現(xiàn)不同的信息傳輸,從而構(gòu)成不同的信息傳輸管理系統(tǒng),,如遠程抄表系統(tǒng),、水文數(shù)據(jù)采集系統(tǒng)等等。

1 系統(tǒng)構(gòu)成

如圖1所示,,整個信息傳輸管理系統(tǒng)由移動終端,、CDMA網(wǎng)絡(luò)、Internet網(wǎng),、信息管理中心服務(wù)器組成,。

移動終端將GPS數(shù)據(jù)組成CDMA數(shù)據(jù)分組,通過CDMA網(wǎng)絡(luò)和Internet網(wǎng),,上傳到信息管理中心服務(wù)器,。服務(wù)器應當具備IP地址和電子地圖。

信息管理中心也可以通過Internet網(wǎng)和CDMA網(wǎng)絡(luò)向移動終端發(fā)出各種指令,。

圖1基于CDMA的無線移動數(shù)據(jù)傳輸系統(tǒng)

2 移動終端硬件組成

移動終端的硬件部分主要有CDMA Modem模塊,、GPS模塊、MCU及電源四部分,,連接關(guān)系如圖2所示,。

圖2 移動終端硬件組成

其中的CDMA模塊為Wavcom公司的ME45。這是一個具有完整功能的CDMA移動通信模塊,,通過串口可以實現(xiàn)對此模塊的控制和數(shù)據(jù)傳輸,,包括短信和無線上網(wǎng)等。另外加上模擬部分電路,,可實現(xiàn)話音通信功能,。對ME45的控制用的是AT命令方式。

GPS模塊是臺灣Holux公司的GM82 OEM板,。它通過外接天線接收GPS信號,,計算出所處位置的地理信息,通過串口將此信息傳送給MCU,。

MCU采用新華龍公司代理的C8051F020八位微控制器,。選擇此MCU是基于諸多考慮的:首先,是功能強大,,幾乎在單片中包容了所有常用的功能;其次,,與普通的8051有相同的內(nèi)核,,開發(fā)容易,而且支持C語言源程序調(diào)試,。

在此移動終端中,,采用了如下一些必需的功能部件:

首先是它的兩個硬件串口。這兩個串口的波特率產(chǎn)生是獨立的,,而且不占用芯片的定時器,,使用起來相當靈活。這兩個串口分別對GPS模塊和CDMA模塊通信,。GPS模塊把位置信息以固定的格式從串口發(fā)出,,MCU接收GPS模塊送來的數(shù)據(jù),解析出其中有用的數(shù)據(jù)進行封裝,,然后以規(guī)定的格式通過第2個串口交給CDMA模塊,,將數(shù)據(jù)送上Internet網(wǎng)。

其次,,128字節(jié)的Flash可用于存放一些可設(shè)置的參數(shù),,如移動終端的識別號或IP地址、信息管理中心服務(wù)器的IP地址等,。

再次,,4 KB的SRAM相對其他的8位機來講是相當大了,可以滿足組幀,、數(shù)據(jù)緩沖的要求,。

64 KB的Flash可以滿足較大程序量的要求。

64 KB的Flash和4 KB RAM的組合可以完成對信息數(shù)據(jù)的加解密工作,,可提供某些特定場合使用。

引出了某些I/O口,,通過光電耦合器隔離后引至其他監(jiān)測點,,可以擴展相應的功能。

另外,,留出了總線擴展口,,可擴展64 KB的SRAM,一方面可以用于嵌入實時操作系統(tǒng),,另一方面可以用于使用C8051F020的在線自我編程功能來遠程更新程序,。

由于用于移動設(shè)備,需要低功耗器件,,而C8051F020工作電壓為3.3 V,,功耗很小。

設(shè)計時考慮該移動終端主要作為車載應用,,所以實際電路中設(shè)計了從點煙器取電的電源電路,。

移動終端利用C8051F020芯片控制實現(xiàn),,不用另行擴展串口、ROM以及RAM,。此硬件結(jié)構(gòu)并不僅僅局限在定位功能上,,對于很多數(shù)據(jù)采集/控制應用也可以滿足要求,只需改變程序結(jié)構(gòu),。正是由于C8051F020的功能強大,,使得硬件的組成和結(jié)構(gòu)都變得非常簡單。

3 移動終端軟件設(shè)計

由于采用了C8051F020作控制器,,使得硬件的工作相對簡單和通用,,所以該系統(tǒng)實現(xiàn)的主要工作集中在軟件的實現(xiàn)上。

利用GPRS上網(wǎng)主要的問題是,,在系統(tǒng)接入無線Internet網(wǎng)時進行初始化和對鏈路的控制,。若對通信過程和協(xié)議不熟悉,則做起來很麻煩;現(xiàn)在已有許多MCU或GPRS Modem已將這些功能嵌入到操作系統(tǒng)中,。對CDMA上網(wǎng),,則比較簡單,通過撥通服務(wù)商的特定號碼即可,。

利用CDMA模塊進行數(shù)據(jù)傳輸,,既可以采用上網(wǎng)傳輸,也可以采用短消息的方法,。下面就短消息方式的數(shù)據(jù)傳輸軟件流程作一介紹,。

對于數(shù)據(jù)源,GPS模塊不斷發(fā)送固定格式的串行數(shù)據(jù),,MCU利用一串口與之相連,。一般MCU對串口數(shù)據(jù)的接收處理方式有查詢和中斷兩種。這里采用的方法既不是查詢也不是中斷,,而是命令的方式,,MCU根據(jù)接收到的不同命令,執(zhí)行不同的功能,。移動終端的軟件流程如圖3所示,。

圖3 移動終端軟件流程

(1) MCU的初始化

單片機的初始化很重要,它關(guān)系到程序能否正確運行,。這里主要功能是分配串口引腳,,設(shè)置系統(tǒng)時鐘,確定波特率,。

這里需要重點注意的問題是MCU的初始化,。C8051 MCU硬件資源相當豐富,但有一些不是能同時使用的,,需要在初始化時進行設(shè)定,,所以它的交叉開關(guān)譯碼表的正確使用非常重要,。資料中提供的優(yōu)先權(quán)交叉開關(guān)分配是有區(qū)別的,關(guān)鍵看XBR2特殊功能寄存器中的EMIFLE位的值,。串口分配時只用到4個引腳,,沒有用到外部存儲器,所以 P0.7,、P0.6,、P0.5 的功能由交叉開關(guān)或端口鎖存器決定,而且EMIFLE的值為“0”,,這樣可以保證串口分配不出現(xiàn)錯位,。

(2) 刪除短消息子程序

刪除短消息子程序的作用是清空SIM卡里存入的所有讀過的短消息,但未讀取的短消息不會刪除,,使每個新來的短消息的標號都為“0”,。

(3) 讀短消息子程序

讀短消息子程序的作用是讀取新消息并將短信的內(nèi)容存儲在內(nèi)部RAM中,為程序的跳轉(zhuǎn)提供判斷的依據(jù),。例如,,如果短信的內(nèi)容是“###13520479697*”,表示設(shè)定短消息發(fā)送號碼;如果需要查詢車輛狀況,,MCU就會向卡號為“13520479697”的用戶發(fā)定位信號,。

指令“AT+CMGR=0”表示讀取SIM卡里的標號為0的短信。先把該指令轉(zhuǎn)換為ASCII碼,,然后再串行發(fā)送出去,。CDMA模塊就會執(zhí)行相應的命令,并將短信內(nèi)容通過串行口傳遞給單片機,。單片機的串口0的接收標志位RI置位,,表示接收到一個完整的字符,可以從串口寄存器中取走內(nèi)容,。該標志位不能自動清零,,需要軟件復位,然后進行下一個字節(jié)的接收,。

短信的內(nèi)容是有長度的,通過設(shè)定短信內(nèi)容的最后一個字符是否為“*”號來決定接收停止位,。接收時,,判斷串口寄存器。如果接收到的字符為“*”,表示停止接收,,則后面接收的信息無效,,將SBUF0的內(nèi)容存入RAM區(qū)。

(4) 短消息命令的執(zhí)行

通過刪除舊短信,,讀新短信,,存儲新短信的內(nèi)容,,MCU對存入內(nèi)容檢索、判斷是什么功能命令,,然后跳轉(zhuǎn)到相應的功能程序入口,,實現(xiàn)用戶所要求的服務(wù)。

這里舉兩個命令說明:如“###13520479697*”和“PLACE*”,。

接收到第1個命令時,,先檢測“###”,如果符合,,則表示后面的數(shù)據(jù)是要存入Flash中的卡號,,需要掉電保存的內(nèi)容,將其存入128B的非易失性存儲扇區(qū)中,。掉電后,,該號碼不會丟失。如有語音命令和查詢定位信息的命令時,,都會呼叫這個存入Flash中的號碼,。

第2個命令表示接收定位信息。它是以第1個命令為基礎(chǔ)的,,只有第1個命令執(zhí)行后,,存有了卡號,才能將定位信息發(fā)送出去,。當單片機檢測到新短信的內(nèi)容為“PLACE*”時,,啟動定時器4,通過串口1,,接收GPS定位信號,。這時,接收的信號還不是發(fā)到信息中心,,要通過對導航電文的檢索,、提取,最后將有用的時間,、經(jīng)度,、緯度信息發(fā)送給設(shè)定的號碼。

兩個不同命令短信的執(zhí)行,,功能子程序是分開的,,但前端的判斷跳轉(zhuǎn)程序是關(guān)聯(lián)的,所以將兩個程序合在一起討論,。該程序包含對兩個串口同時操作,,先讀新消息。如果內(nèi)容有“PLACE*”,則進入定位信號的提取,。判斷是否有“###”,,有則進入存儲號碼的功能。

當檢測到“PLACE*”時,,首先啟動定時器4,,接收串口1的定位信息。由于GPS信號的定位信息里有些是用不到的,,所以接收的信息要加以判斷,。如果數(shù)據(jù)頭是“$GPRMC”,才開始接收,。接收以A開頭,,E結(jié)尾。存放在0800開始的地址空間中,,最后把這些內(nèi)容整合到0900開始的地址空間內(nèi),,串行發(fā)送給CDMA模塊,這樣就完成了定位信息以短消息發(fā)送的目的,。

如果需要更強大的網(wǎng)絡(luò)功能支持,,可以嵌入RTOS內(nèi)核。現(xiàn)在有不少操作系統(tǒng)支持C8051F MCU,。

結(jié)語

隨著科學技術(shù)的發(fā)展,,在工業(yè)、商業(yè)和軍事領(lǐng)域中實時信息傳送的應用越來越廣泛,,需求量與日俱增,。CDMA業(yè)務(wù)的推出,更加推動了這一方向的迅猛發(fā)展,,無線移動數(shù)據(jù)傳輸技術(shù)的應用有著越來越廣闊的前景,。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。