北斗二代導航接收機的衛星導航系統設計
2.2 無(wú)線(xiàn)數據傳輸模塊
華為GTM900-C是一款兩頻段GSM/GPRS無(wú)線(xiàn)模塊。它支持標準的AT命令及增強AT命令,提供豐富的語(yǔ)音和數據業(yè)務(wù)等功能,是高速數據傳輸等各種應用的理想解決方案。S3C2440作為一種32位高性能、低成本、低功耗的嵌入式RISC微處理器,廣泛應用于通信系統、消費類(lèi)電子產(chǎn)品、工業(yè)控制等產(chǎn)品中。S3C2440通過(guò)RS232控制GTM900-C,對于那些需要將遠程數據通過(guò)已有的GSM網(wǎng)絡(luò )發(fā)送到網(wǎng)路中去,實(shí)現網(wǎng)絡(luò )化功能。GTM-900C邏輯框圖如圖3所示。本文引用地址:http://dyxdggzs.com/article/201610/306068.htm
3 系統的軟件實(shí)現
3.1 系統的軟件平臺
嵌入式操作系統是嵌入式系統的重要組成部分,它為應用程序的開(kāi)發(fā)提供了一個(gè)軟件平臺。實(shí)現嵌入式系統的第一步就是進(jìn)行系統移植,其中包括操作系統內核、文件系統和各設備驅動(dòng)程序的移植。
本系統中采用Linux-2.6.30.4內核,只需要對各功能模塊進(jìn)行裁剪即可。嵌入式系統一般采用Flash作為存儲介質(zhì),Flash具有獨特的物理特性,必須使用專(zhuān)門(mén)的嵌入式文件系統,本系統采用yaffs2文件系統。圖4是系統總體框圖。
3.2 軟件體系結構
在本系統中,需要解算北斗數據、數據存儲、傳送等。整個(gè)系統的軟件由主控模塊、北斗定位模塊、GPRS通信模塊、LCD顯示模塊和串口操作模塊5部分組成,如圖5所示。
主控模塊完成硬件的初始化、調用北斗定位模塊和GPRS通信模塊提供的函數、調用LCD顯示模塊以顯示運行狀態(tài)信息。
3.3 北斗定位模塊程序設計
UM220模塊輸出的定位信息符合NMEA-0183通信標準格式,其輸出數據采用的是ASCII字符組成的字符串,包含了經(jīng)度、緯度、速度、時(shí)間、日期及衛星狀況等信息。消息的基本格式為:
$MSGNAME,datal,data2,data3,…\r\n
NMEA—0183協(xié)議中最常見(jiàn)的幾種格式有GGA、RMC、GSV、VTG。用戶(hù)可根據需要選用某種數據句型。本系統將采用BDRMC數據格式。
北斗定位模塊程序的設計首先判斷所收到的數據是否為RMC記錄,如果是則對BDRMC字段進(jìn)行解析并保存數據,即只接收該語(yǔ)句即可。
$BDRMC數據格式如下所示:
$BDRMC,1>,2>,3>,4>,5>,6>,7>,8>,9>,10>,11>,12>*13>CR>LF>
其中1>~12>字段分別表示固定位置的UTC時(shí)間、是否有效、緯度、緯度半球、經(jīng)度、經(jīng)度半球、地面速度、地面方位、固定位置UTC日期、磁偏角、磁偏角方向、模式指示。
接收數據前,要先對串口進(jìn)行配置,Linux下串口的配置信息大部分都保存在termios結構體中,可以直接使用Linux API提供的接口或通過(guò)掩碼設置相關(guān)數據位進(jìn)行串口的配置操作,具體操作在這里不再一一贅述。
開(kāi)始接收數據時(shí),若從串口讀入的不是“$”,則說(shuō)明接收錯誤,重新接收數據;若等于“$”,則接收正確。開(kāi)始接收,再次判斷緩存,若接收的是“$BDRMC”語(yǔ)句,則開(kāi)始將北斗數據存入Beidou_data[]數組中,最后仍判斷串口接收緩存。接收到“A”說(shuō)明此次定位是有效的,若接收到“N”則釋放緩存,重新接收。由于北斗定位數據以“*”為分隔符,接收到字符“*”,即當緩存等于“*”的時(shí)候,說(shuō)明北斗定位信息接收完畢。其程序流程圖如圖6所示。
3.4 GPRS/GSM模塊設計
GPRS/GSM模塊負責接收遠程信息并且傳送定位信息。對短消息的控制共有3種實(shí)現途徑:Block Mode、基于A(yíng)T命令的Text Mode和基于A(yíng)T命令的PDU Mode。使用Block Mode需要廠(chǎng)家提供的驅動(dòng)支持。Text Mode比較簡(jiǎn)單,但這種模式只能發(fā)送ASCII碼,不能發(fā)送中文的Unicode碼。PDU模式是發(fā)送接收短信息的一種方法,短信息正文經(jīng)過(guò)十六進(jìn)制編碼后被傳送。目前PDU已取代Block Mode,因此本文主要討論PDU模式。
在PDU模式中,有三種編碼方式來(lái)對發(fā)送的內容進(jìn)行編碼,它們是7位、8位和UCS2編碼。7位編碼用于發(fā)送普通的ASCII字符,8位用于發(fā)送數據信息,UCS2編碼用來(lái)發(fā)送Unicode字符。所以當發(fā)送含有中文的信息時(shí),只能使用Unicode編碼。GPRS/GSM模塊程序設計流程圖如圖7所示。
4 測試結果
系統各模塊正確連接后,LCD能夠正確顯示定位信息,圖8為北斗模塊輸出的ASCII信息。圖9為L(cháng)CD顯示的經(jīng)緯度信息。
結語(yǔ)
衛星導航定位系統被廣泛應用于國防、通信等各領(lǐng)域。本系統將嵌入式技術(shù)、衛星導航系統、GPRS無(wú)線(xiàn)通信技術(shù)相結合,成功實(shí)現了北斗定位與GPRS通信為一體的嵌入式定位設備。在項目設計中,以嵌入式系統開(kāi)發(fā)流程為依據,通過(guò)進(jìn)行需求分析,制定了合理的系統軟硬件功能劃分,分析了軟件系統和硬件系統設計,完成了設備的研制。
評論