卞嘉睿
【摘要】 在GPS系統(tǒng)中,GPS-OEM板是核心部分,其串行通信有一定的特點(diǎn)?;谶@種認(rèn)識(shí),本文對(duì)MCS-51單片機(jī)與GPSOEM板的串行通信問(wèn)題展開了分析,并結(jié)合問(wèn)題完成了系統(tǒng)的軟硬件配置,從而提出了系統(tǒng)通信信息的讀取方法,進(jìn)而為關(guān)注這一話題的人們提供參考。
【關(guān)鍵詞】 MCS-51單片機(jī) GPS-OEM板 串行通信
引言:就目前來(lái)看,GPS系統(tǒng)已經(jīng)在工業(yè)生產(chǎn)、軍事和交通等行業(yè)得到了應(yīng)用,用戶只需要一臺(tái)接收機(jī),就能完成免費(fèi)信息的獲取。而加強(qiáng)對(duì)MCS-51單片機(jī)與GPS-OEM板的串行通信問(wèn)題的研究,則能為GPS系統(tǒng)應(yīng)用提供科學(xué)指導(dǎo)。
一、GPS-OEM板的串行通信分析
GPS-OEM板是GPS接收機(jī)的核心組成部分,能夠?qū)崿F(xiàn)對(duì)接收機(jī)的數(shù)據(jù)接收控制。從結(jié)構(gòu)上來(lái)看,其包含中央處理器、變頻器、信號(hào)通道和存儲(chǔ)器等多個(gè)部分,能夠?qū)πl(wèi)星信號(hào)進(jìn)行接收,并且能夠?qū)π盘?hào)進(jìn)行變頻、放大和濾波等處理,進(jìn)而完成對(duì)衛(wèi)星的跟蹤、測(cè)量和鎖定。利用獲得的衛(wèi)星位置信息,GPS-OEM板也能完成信號(hào)傳播時(shí)間的測(cè)算,并對(duì)天線的位置進(jìn)行計(jì)算。由于GPS-OEM板擁有特殊的數(shù)據(jù)輸出格式,所以還要對(duì)其與單片機(jī)的串行通信問(wèn)題進(jìn)行考慮。以GPS25LP為例,其擁有典型的GPS-OEM板結(jié)構(gòu)。用戶在與GPS-OEM板進(jìn)行連接時(shí),需要利用輸入輸出接口完成信息輸入,然后利用異步串行通信方式完成信息交換。在這一過(guò)程中,用戶可以編制輸入語(yǔ)言,并設(shè)定輸出數(shù)據(jù)格式和導(dǎo)航模式,從而順利解讀GPS-OEM板提供的維度、速度和經(jīng)度等定位信息。對(duì)于最終用戶來(lái)講,則無(wú)需進(jìn)行輸入語(yǔ)句的設(shè)置,可以直接使用設(shè)備的出廠默認(rèn)狀態(tài)。但是用戶如果想要獲得信息,還要進(jìn)行輸出語(yǔ)句的讀取。
二、MCS-51單片機(jī)與GPS-OEM板串行通信的實(shí)現(xiàn)
1、兩種接口的比較。比較TTL接口和RS232C接口可以發(fā)現(xiàn),二者在通信標(biāo)準(zhǔn)上有一定的差異。對(duì)于TTL接口來(lái)講,邏輯“0”和“1”分別與0V和系統(tǒng)操作電壓對(duì)應(yīng)。對(duì)于RS232C接口來(lái)講,邏輯“0”和“1”分別與正電壓和負(fù)電壓對(duì)應(yīng)。所以在進(jìn)行兩個(gè)接口連接的過(guò)程中,還要實(shí)現(xiàn)接口的有效轉(zhuǎn)換。值得注意的是,GPS-OEM板采用的是異步串行通信方式,將進(jìn)行NMEA-0183格式的數(shù)據(jù)輸出,所以還要根據(jù)其接口數(shù)據(jù)輸出情況進(jìn)行轉(zhuǎn)換。目前,GPS-OEM板擁有是多種輸出語(yǔ)句,包含定位數(shù)據(jù)語(yǔ)句、衛(wèi)星狀態(tài)語(yǔ)句和歷書數(shù)據(jù)語(yǔ)句。在這些語(yǔ)句中,常用的主要是定位數(shù)據(jù)語(yǔ)句,結(jié)構(gòu)如下圖1所示。在該結(jié)構(gòu)中,不同符號(hào)有不同的意義,如<1>為位置固定時(shí)的世界協(xié)調(diào)時(shí)時(shí)間,<2>為緯度值,<3>為緯度半球,<4>為經(jīng)度值,<5>為經(jīng)度半徑等,并且各自擁有對(duì)應(yīng)的格式[1]。在實(shí)際應(yīng)用的過(guò)程中,只需進(jìn)行位置信息和時(shí)間的提取,即需要獲取<1>、<2>、<4>的信息,以驗(yàn)證定位數(shù)據(jù)的有效性。
2、接口電平的轉(zhuǎn)換。在進(jìn)行兩個(gè)接口電平轉(zhuǎn)換的過(guò)程中,可以使用MAX202芯片。在GPS25LP中,串行口共有2個(gè),其中一個(gè)可用于進(jìn)行差分修正信息的輸入,并完成衛(wèi)星原始信息的輸出。而另一個(gè)端口則可以進(jìn)行輸入語(yǔ)句的設(shè)定,并完成定位語(yǔ)句的輸出。所以,可以將GPS25LP串行口與MSC-51單片機(jī)的串行口連接起來(lái),從而實(shí)現(xiàn)二者的通信連接。在上電后,GPS系統(tǒng)會(huì)在自檢合格后進(jìn)入衛(wèi)星測(cè)量狀態(tài),然后進(jìn)行測(cè)量信息的輸出。
3、系統(tǒng)個(gè)性化配置。在實(shí)際應(yīng)用GPS25LP時(shí),由于其擁有4800的波特率,所以還要先將該數(shù)值設(shè)置為單片機(jī)串行口波特率。使用的51單片機(jī)的外接晶體則為11.0592,所以還要將定時(shí)器1設(shè)置為在8位自動(dòng)重裝,然后根據(jù)波特率完成定時(shí)器時(shí)長(zhǎng)的設(shè)置。完成這些內(nèi)容設(shè)置后,單片機(jī)則可以進(jìn)行計(jì)數(shù),而串行口應(yīng)設(shè)置為8位UART,以進(jìn)行該種格式的數(shù)據(jù)接收[2]。此外,還應(yīng)允許串行口中斷。完成正確設(shè)置后,可以利用$GPGGA語(yǔ)句完成定位數(shù)據(jù)接收。在系統(tǒng)有特殊要求的條件下,則要完成初始化配置,并做好數(shù)出語(yǔ)句選擇。在初始化中,應(yīng)利用<1>-<4>完成地理位置的設(shè)置,其余格式則可以保持原來(lái)的語(yǔ)句格式。此外,還要利用該語(yǔ)句完成OEM板的配置,利用<10>進(jìn)行波特率的選擇,利用<12>進(jìn)行PPS的輸出控制。
4、通信信息的讀取。利用該系統(tǒng)進(jìn)行定位信息讀取時(shí),由于$GPGGA語(yǔ)句中包含基本定位信息,所以能夠使用戶的一般需求得到滿足。利用該語(yǔ)句,能夠完成81個(gè)字符的輸出。為使接收程序得到簡(jiǎn)化,還應(yīng)利用MCS-51的80H內(nèi)存進(jìn)行接收到的ASCII碼的存放,其中不包含語(yǔ)句名。在對(duì)于輸出的語(yǔ)句進(jìn)行讀取時(shí),還應(yīng)先完成語(yǔ)句類型的判斷,然后進(jìn)行數(shù)據(jù)存放。在此基礎(chǔ)上,則要對(duì)語(yǔ)句的結(jié)束標(biāo)志進(jìn)行確定。由于單片機(jī)可以采用中斷方式進(jìn)行語(yǔ)句接收,所以在系統(tǒng)收到中斷后,可以進(jìn)行有用消息的挑選。在這一過(guò)程中,還應(yīng)先完成消息頭的識(shí)別,而不同的消息頭對(duì)應(yīng)不同的消息,因此能夠幫助用戶完成消息的選擇[3]。在接收前,還應(yīng)先判斷消息頭是否正確,然后選擇是否接收信息。
結(jié)論:通過(guò)分析可以發(fā)現(xiàn),在解決MCS-51和GPSOEM板的串行通信問(wèn)題時(shí),還要結(jié)合各自硬件特點(diǎn)確定系統(tǒng)硬件組成,并完成系統(tǒng)關(guān)鍵軟件的設(shè)計(jì),從而通過(guò)完成系統(tǒng)個(gè)性化配置順利進(jìn)行定位信息的讀取。因此,相信本對(duì)MCS-51和GPS-OEM板串行通信問(wèn)題展開的分析,能夠?yàn)橄到y(tǒng)的應(yīng)用提供指導(dǎo)。
參 考 文 獻(xiàn)
[1]魏釗. 基于GPS-OEM板和單片機(jī)的定位終端開發(fā)[J]. 電子制作,2013,06:5-6.
[2]高學(xué)群. 基于GPS-OEM板的液晶GPS定位信息顯示器的設(shè)計(jì)[J]. 企業(yè)導(dǎo)報(bào),2010,12:294.
[3]徐小濤. 基于MCS-51單片機(jī)的串行通信實(shí)現(xiàn)[J]. 計(jì)算機(jī)與網(wǎng)絡(luò),2010,19:51-54.