siemens x
傳感器

基于ATmega16的GPS經(jīng)緯度數(shù)據(jù)接收系統(tǒng)

2025China.cn   2009年12月28日
    0 引 言
     GPS(全球定位系統(tǒng))是為海上、陸地和空中各種運(yùn)輸工具和移動(dòng)設(shè)備的導(dǎo)航和定位而開(kāi)發(fā)的,具有高精度、全天候、全球性和點(diǎn)間無(wú)需通視等優(yōu)點(diǎn),使測(cè)量技術(shù)發(fā)生了質(zhì)的飛躍。GPS技術(shù)引入我國(guó)后,特別是美國(guó)取消SA政策后的這幾年發(fā)展十分迅速。目前,GPS已被廣泛應(yīng)用在工程測(cè)量、地理測(cè)繪、交通運(yùn)輸和軍事等諸多領(lǐng)域,取得了明顯的社會(huì)和經(jīng)濟(jì)效益,發(fā)展前景十分廣闊。在GPS的行業(yè)應(yīng)用中,數(shù)據(jù)接收系統(tǒng)是最基本的設(shè)備。目前的數(shù)據(jù)接收系統(tǒng)具有智能化和可擴(kuò)展性不斷增強(qiáng)的發(fā)展趨勢(shì),表現(xiàn)為內(nèi)嵌的MCU性能越來(lái)越強(qiáng)大,外圍接口越來(lái)越豐富,但軟硬件成本不斷上升,減緩了GPS接收系統(tǒng)平民化的趨勢(shì)。本文介紹一種基于AVR單片機(jī)ATmega16和Motorola M12 Oncore模塊的GPS數(shù)據(jù)接收系統(tǒng)。


1 系統(tǒng)的硬件設(shè)計(jì)
     系統(tǒng)由ATmega16、M12模塊、LCD顯示器和一些外圍電路組成,系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。ATmega16具有1個(gè)功能完整的異步串行通信接口(UART),在直流5V供電時(shí),其I/O操作電壓范圍約為0~5V;M12模塊提供一個(gè)用于輸入控制信息和輸出定位與狀態(tài)信息串行通信接口,在直流3V供電時(shí),其I/O電平符合TTL電平范圍,為0~3V。因此,可以將ATmega16串行接口經(jīng)電平轉(zhuǎn)換電路轉(zhuǎn)接后與M12模塊的串行口相連,進(jìn)行異步串行數(shù)據(jù)交換。系統(tǒng)采用一塊16×2字符型LCD顯示經(jīng)緯度信息。系統(tǒng)中的ATmega16和LCD采用直流5V供電,5V電源經(jīng)過(guò)由三端穩(wěn)壓芯片LM317組成的穩(wěn)壓電路將電壓轉(zhuǎn)換成3V后給M12模塊供電。



1.1 ATmega16與M12模塊的硬件接口
     由于ATmega16和M12模塊的I/O操作電壓范圍不相同,所以兩者的串行口之間需經(jīng)過(guò)電平轉(zhuǎn)換才能確保穩(wěn)定通信,其電平轉(zhuǎn)換電路如圖2所示。



     這里采用光電耦合器件TLP521進(jìn)行5V和3V之間的電平轉(zhuǎn)換,以增強(qiáng)抗干擾能力。ATmega16的I/O驅(qū)動(dòng)能力較強(qiáng)(最大輸出40mA電流),可以直接驅(qū)動(dòng)TLP521。M12模塊的I/O驅(qū)動(dòng)能力較弱,需加一級(jí)驅(qū)動(dòng)緩沖器才能驅(qū)動(dòng)TLP521,這里使用7406反相驅(qū)動(dòng)緩沖器。
1.2 ATmega16與LCD的硬件接口
     系統(tǒng)中采用基于HD44780液晶控制芯片的16×2字符型LCD,該器件內(nèi)置了字符產(chǎn)生器,能顯示192個(gè)常用字符(包括阿拉伯?dāng)?shù)字和大小寫(xiě)英文字母)和16個(gè)用戶自定義字符,它與ATmega16的接口如圖3所示。



     HD44780的數(shù)據(jù)總線DB7~DB0與ATmega16的PA7~PA0相接,RS、R/W和EN分別與單片機(jī)的PD3、PD4和PD5相連。利用ATmega16的I/O口控制LCD進(jìn)行指令和數(shù)據(jù)輸入,正確地顯示出經(jīng)緯度數(shù)據(jù)。


2 ATmega16與M12模塊的接口程序設(shè)計(jì)
     系統(tǒng)使用ATmega16的串行口向M12模塊發(fā)出控制指令和接收定位信息。M12模塊支持。Motorola二進(jìn)制格式和NMEA0183格式兩種數(shù)據(jù)輸出模式。在Motorola二進(jìn)制模式下,M12以9600bps的速率輸出數(shù)據(jù)和接收指令;在NMEA0183,M12以4800bps的速率輸出數(shù)據(jù)和接收指令。默認(rèn)狀態(tài)下,M12模塊工作在Motorola二進(jìn)制模式下。為了獲取更高的數(shù)據(jù)傳輸速度,這里使用M12模塊默認(rèn)的工作模式,即Motorola二進(jìn)制模式。在該模式下,串行數(shù)據(jù)傳輸格式為:8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn)和硬件流控制。
     ATmega16以通過(guò)向M12發(fā)送AT指令的方式對(duì)其進(jìn)行控制。Motorola的AT I/O指令一共有69條,其中M12模塊所支持的指令有51條。利用這些指令可以很方便的對(duì)M12模塊進(jìn)行日期時(shí)間設(shè)定、自定義坐標(biāo)設(shè)定和定位信息讀取等操作。在本系統(tǒng)中,只需要讀取M12模塊的定位信息,因此程序中只用到51條指令中的1條指令:
     @@EqmC<CR><LF>
     該指令用于控制M12模塊輸出定位信息。其中“@@”是I/O指令的前綴;“Eq”是指令的關(guān)鍵字;“m”是M12模塊輸出(響應(yīng))信息模式選擇,其數(shù)值可以是0~255之間的整數(shù),當(dāng)“m”為0時(shí),響應(yīng)信息只輸出一次,當(dāng)“m”為1時(shí),響應(yīng)信息每秒鐘輸出一次,當(dāng)“m”為2時(shí),響應(yīng)信息每2 s輸出一次,如此類推,當(dāng)“m”為255時(shí),響應(yīng)信息每255 s輸出一次;“C”是指令的校驗(yàn)和(Checksum)數(shù)據(jù);“<CR>”是回車符;“<LF>”是換行符。為了便于采集定位數(shù)據(jù),將“m”的數(shù)值設(shè)置為0,使M12模塊每接收一次指令就回復(fù)一次定位數(shù)據(jù)。
     M12模塊在默認(rèn)狀態(tài)下只能接受以Motorola二進(jìn)制形式輸入的指令。所謂的Motorola二進(jìn)制形式是指將指令的前綴、關(guān)鍵字和后綴(回車和換行)變換成相應(yīng)的ASCII碼后,加上模式“m”與校驗(yàn)和“C”組合成的二進(jìn)制指令代碼。系統(tǒng)中所用到的



     ATmega16首先請(qǐng)求M12模塊輸出定位數(shù)據(jù)(向M12模塊發(fā)出指令“@@EqmC”),然后等待M12模塊回送數(shù)據(jù)。當(dāng)M12模塊回送數(shù)據(jù)時(shí),ATmega16首先做出判斷,確認(rèn)其收到的是預(yù)期的定位信息,然后將定位信息(經(jīng)緯度數(shù)據(jù))截取下來(lái),整理成可供顯示數(shù)據(jù)信息后在LCD上顯示經(jīng)緯度數(shù)據(jù),最后將串口的接收緩沖區(qū)清空,以免下次接收信息時(shí)出錯(cuò)。由于M12模塊在1 s之內(nèi)只能響應(yīng)一條指令,所以接收機(jī)的數(shù)據(jù)信息最快1 s更新一次。



3 定位精度測(cè)試
     為了測(cè)試M12模塊的定位精度,在華南農(nóng)業(yè)大學(xué)工程學(xué)院土槽實(shí)驗(yàn)室的GPS基準(zhǔn)點(diǎn)(坐標(biāo)為:東經(jīng)113°20.538541',北緯23°09.581834')進(jìn)行試驗(yàn),用PC機(jī)連接M12開(kāi)發(fā)板進(jìn)行經(jīng)緯度數(shù)據(jù)采集,持續(xù)運(yùn)行約50 min,采集到3125組經(jīng)緯度數(shù)據(jù)。通過(guò)對(duì)實(shí)測(cè)數(shù)據(jù)進(jìn)行分析,M12模塊的單機(jī)靜態(tài)定位誤差≤7.81 m,符合其用戶手冊(cè)上所標(biāo)的無(wú)SA政策下<25 m的精度范圍。



4 結(jié)束語(yǔ)
     從降低成本的角度出發(fā),基于ATmega 16的GPS經(jīng)緯度數(shù)據(jù)系統(tǒng)采用單機(jī)靜態(tài)定位技術(shù)進(jìn)行地理定位,這種定位技術(shù)精度不高,但易于推廣普及,可用于普通民用地理定位領(lǐng)域。該系統(tǒng)也通過(guò)更換精度更高的GPS模塊或采用差分定位技術(shù)提高定位精度后用于專業(yè)定位導(dǎo)航領(lǐng)域。

(轉(zhuǎn)載)

標(biāo)簽:數(shù)據(jù)接收 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道