2? 數(shù)據(jù)采集傳輸協(xié)議與AT命令
2. 1? GPS 數(shù)據(jù)采集及NMEA??0183 協(xié)議
GPS 模塊, GPS 信號(hào)接收機(jī)和設(shè)備軟件以及GPS 數(shù)據(jù)的后處理軟件包構(gòu)成完整的GPS 模塊。車載終端GPS定位模塊選擇了RoyalTek 公司的REB??1315LPX, 根據(jù)NMEA-0183 協(xié)議完成GPS 定位信息的采集。
NMEA-0183 協(xié)議, NMEA 即Nat iONal Mar ine Electronics Associat ion, 是美國(guó)國(guó)際海洋電子協(xié)會(huì)的縮寫(xiě)。
NMEA-0183 協(xié)議是該組織為海用電子設(shè)備制定的標(biāo)準(zhǔn)格式, NMEA??0183 協(xié)議語(yǔ)句采用ASCI I 碼, 串行通信默認(rèn)參數(shù)為, 波特率4 800 bps, 8 位數(shù)據(jù)位, 1 位開(kāi)始位, 1 位停止位, 無(wú)奇偶校驗(yàn)位。其包含的語(yǔ)句種類有: GPGGA,GPGSA, GPGSV, GPRMC, GPV TG.系統(tǒng)采用GPRMC格式, 可以完成所需定位信息的采集。
2. 2? GPRS數(shù)據(jù)傳輸模塊及AT 命令
GPRS 數(shù)據(jù)傳輸模塊選擇SIMComWirelESS SolutionLtd 開(kāi)發(fā)的一款緊湊型雙頻GSM/ GPRS 無(wú)線通信模塊SIM900A.工作頻率為GSM/ GPRS 900/ 1 800 MHz, 其在GPRS 無(wú)線網(wǎng)絡(luò)連接條件下, 可嵌入TCP/UDP 協(xié)議、FTP/ HTT P 等協(xié)議的數(shù)據(jù)通信, 數(shù)據(jù)下行速率最大可達(dá)到85. 6 kbps.
AT 指令集是從終端設(shè)備T E( terminal equipment) 或數(shù)據(jù)終端設(shè)備DTE( data terminal equipment) 向終端適配器TA( terminal adapter ) 或數(shù)據(jù)電路終端設(shè)備DCE( datacircuit terminal equipment) 發(fā)送的。通過(guò)T A, T E 發(fā)送AT 指令來(lái)控制移動(dòng)臺(tái)MS(mobile st ation) 的功能。系統(tǒng)網(wǎng)絡(luò)傳輸中用到的AT 命令有如下幾種:
AT + CMGF= 1 設(shè)置消息內(nèi)容為文本模式;
AT + CMGS = " 138xxxxxxxx"短消息發(fā)送目標(biāo)號(hào)碼;
AT + CIPST ART = "T CP/U DP", "120. 192. 209.83", "8030"
TCP/ UDP 方式連接服務(wù)器, 服務(wù)器IP 為120. 192.209. 83, 端口為8030;
AT + CIPSEN D , 發(fā)送數(shù)據(jù)指令;
數(shù)據(jù)內(nèi)容+ 0x0A , 輸入數(shù)據(jù)內(nèi)容并以0x0A 為數(shù)據(jù)結(jié)尾;
AT + CIPCLOSE, 關(guān)閉連接;
AT + CIPSHUT, 關(guān)閉移動(dòng)場(chǎng)景;
2. 3? 套接字Socket
socket, 用于描述IP 地址和端口, 是一個(gè)通信鏈的句柄。服務(wù)打開(kāi)一個(gè)Socket, 并綁定到一個(gè)端口上, 不同的端口對(duì)應(yīng)于不同的服務(wù)。一般Socket 有2 種: 流式Socket( SOCK _ STREAM ) 和數(shù)據(jù)報(bào)式Socket ( SOCK _DGRAM) .流式是一種面向連接的S ocket , 針對(duì)于面向連接的TCP 服務(wù)應(yīng)用; 數(shù)據(jù)報(bào)式Socket 是無(wú)連接的Socket, 用于UDP 服務(wù)應(yīng)用。
在車載終端和服務(wù)器程序中, 定義了不同協(xié)議格式的2 種Socket( SOCK_STREAM、SOCK_DGRAM) .Socket作為網(wǎng)絡(luò)節(jié)點(diǎn), 通過(guò)T CP/U DP 協(xié)議完成數(shù)據(jù)發(fā)送接收。
3? 車載模塊與服務(wù)器通訊模塊軟件設(shè)計(jì)
軟件部分設(shè)計(jì)主要包括車載模塊通訊軟件和服務(wù)器軟件通訊模塊設(shè)計(jì)。
3. 1? 車載模塊通訊軟件設(shè)計(jì)
1) 車載終端處理器芯片
車載模塊的處理器選擇芯唐M0516 處理器, 車載終端內(nèi)部通訊包括MCU 與GPS 模塊、GPRS 模塊、以及周邊模塊的數(shù)據(jù)傳輸。內(nèi)部數(shù)據(jù)傳輸都通過(guò)串口完成。以下代碼為初始化串口中斷, 并使能收發(fā)中斷, 中斷服務(wù)函數(shù):
Void init _ 1315 ( PFN _DRVU ART _CA LLBA CK GPS _
INT _HANDLE)
{
STR_U ART_T sParam;
UNLOCKREG( ) ;
SY SCLK??> PWRCON . XT L12M_EN= 1;
/ * 設(shè)置串口1 功能引腳* /
DrvGPIO_Init Funct ion( E_FUNC_UA RT 0) ;
/ * 串口通信設(shè)置* /
sParam. u32BaudRat e= 9 600;
sParam. u8cDataBits= DRV UART_DAT ABIT S_8;
sParam. u8cSt opBits= DRVU ART _ST OPBIT S_1;
sParam. u8cPar ity= DRVUART _PARIT Y_N ONE;
sParam. u8cRxTriggerLevel = DRVU ART _ FIFO _1BYTES;
while (DrvUART _ Open ( UART _ PORT 0,& sParam) ! = E_SUCCESS) ;
DrvU ART _EnableInt( U ART _PORT0, DRVU ART _RDAINT , GPS_IN T_HANDLE) ;
}
MCU 通過(guò)響應(yīng)串口的中斷, 完成車載終端內(nèi)部數(shù)據(jù)傳輸過(guò)程。
2) GPS 模塊接收數(shù)據(jù)
GPS 模塊采用REB??1315LPX 模塊, 其讀取定位信息流程如下圖2 所示。
?
圖2 REB-1315LPX 模塊數(shù)據(jù)的讀取方法
代碼較多, 具體實(shí)現(xiàn)函數(shù)不在此處詳述。
?。?)GPRS 模塊的通訊程序
GPRS 模塊與處理器的通信是通過(guò)串口完成的, 處理器向GPRS 模塊發(fā)送AT 指令以及數(shù)據(jù)。GPRS 模塊連接網(wǎng)絡(luò)后利用TCP/U DP 協(xié)議與調(diào)度中心服務(wù)器進(jìn)行無(wú)線通信。
評(píng)論
查看更多