基于LINUX的GPS的應用 基于LINUX的GPS的應用

基于LINUX的GPS的應用

  • 期刊名字:傳感器世界
  • 文件大?。?83kb
  • 論文作者:陳雪小
  • 作者單位:廈門(mén)大學(xué)物理與機電工程學(xué)院電子學(xué)實(shí)驗室
  • 更新時(shí)間:2020-06-12
  • 下載次數:次
論文簡(jiǎn)介

Technollogy Application被測與回用葚!N的GP齣應周摘要:基于凵-box公司的LEA-5S模塊,介紹了GPS在inux俄人式操作系統上的應用以及具體買(mǎi)現,并洋細分析了模塊的硬件實(shí)現以及軟件方面NEA數據的接收和解析的方法,最后在實(shí)際平臺進(jìn)行了調試與論證。結果表明,該模塊具有硬件簡(jiǎn)單、定位精度高,穩定性好的優(yōu)點(diǎn),相應的軟件有較好的可移植性,實(shí)際應用中效果良好關(guān)鍵詞:Lnux;GPs;NEMA;接收;解析中圖分類(lèi)號:TP3文獻標識碼:A文章編號:1006-883×(2012)020018-04收稿日期:2011-12-12陳雪小引言隨著(zhù)信息化、智能化、網(wǎng)絡(luò )化的發(fā)展,嵌入式系統技術(shù)已經(jīng)全面滲透到日常生活中的每個(gè)角落。嵌入式 linux操作系統由于它可以移植到多個(gè)不同的結構的CPU和硬件平臺上,具有很好的穩定性,各種性能的升級能力,并且其是開(kāi)放的,提供標準的API,能夠方便地與眾多第三方的軟硬件溝通,使其得到了廣泛的應用叫。GPS即全球定位系統,這個(gè)系統可以保證在任意時(shí)刻,地球上任意一點(diǎn)都可以同時(shí)觀(guān)測到4顆衛星,以保證用戶(hù)GPS模塊可以采集到各觀(guān)察點(diǎn)的經(jīng)緯度和高度,以便實(shí)現導航、定位、授時(shí)等功能。GPS模塊分為軟GPS和硬GPS。軟GPS一般需要主控芯片控制其運行狀態(tài),直接輸出衛星數據,利用應用處理器端進(jìn)行解析計算再轉換為標準NMEA(國際海洋電子協(xié)會(huì )),因此驅動(dòng)相對復雜。而硬GPS是功能獨立的模塊,上電就可以運行,直接輸出NMEA數據(。本文采用的是ubox公司生產(chǎn)的LEA-5S模塊介紹其硬件實(shí)現以及相應的軟件實(shí)現。二、GPS模塊硬件GPS RFIN走線(xiàn)按500阻抗匹配實(shí)現LEA-5s模塊B定位精度為25m,定位性能優(yōu)異準C:160803U60IT確,在防漫反射及數BHD OLT抗干擾能力方面十分強勁,并且其外圍電路十分簡(jiǎn)單TMIEPLLSE中國煤化工其電路圖如圖1所圖1LEA5S外圍電路圖CNMHG示H傳感器世界201202Technology Application如圖1所示,模塊采用33V供電,需要注意的是: options. c cc[VTIME]可以通過(guò)UART、USB以及SPI與應用和 options. c cc [Vmin對read函數影響處理器連接和通訊,本文采用UART接較大。VTME指定了等待的時(shí)間,VMIN口。圖中VANT引腳可以對有源天線(xiàn)的初始化指定了讀取字節的最小數量正常、開(kāi)路及短路進(jìn)行檢測,并可以自2、NMEA數據的接收動(dòng)在NMEA數據里輸出。接收NMEA數據本文在非阻塞的方式下采用o多路轉接 select對串口文件描述符的狀態(tài)三、GPS模塊軟件實(shí)現解析NMEA數據進(jìn)行監視。 select函數原型為:int由于LEA58通過(guò)UART直接與處elect( int nfds, fd set * readfds, fd set理器進(jìn)行通訊,因此對處理器而言,驅顯示NMEA數據.writefds, fd set*exceptfds, struct timeval動(dòng)主要為 linux標準的串口驅動(dòng),應用時(shí)"timeout);當串口句柄沒(méi)有變化時(shí),程序只要打開(kāi)相應串口即可。其程序的總體將阻塞,阻塞的時(shí)間取決于 select的第三框圖如圖2所示。圖2模塊總體程序流程圖個(gè)形參 struct timeval'" timeout 3.本文將1、模塊初始化timeout值設為NULL,程序將一直停留模塊初始化主要是對GPS相關(guān)GPo直到串口句柄發(fā)生變化,即只有串口接的設置和串口的設置。首先設置引腳NMEA數據收到數據時(shí)才不會(huì )阻塞。解析GPS ON為高電平,處理器發(fā)出一個(gè)脈當串口文件描述符發(fā)生變化后,調沖對引腳 GPS RST進(jìn)行復位,最后打開(kāi)利用“,·解析出各數據域井用read函數讀取一個(gè)字符到緩存 buffer;電源對其供電。然后打開(kāi)串口,設置波存于二維數據 Comma[(n]中由于本文串口設置為: options.c_cc特率,數據位,奇偶校驗位以及停止位[VTIME]=150; options. c cclVMIN]0等信息。 termios函數族提供了一個(gè)常規“GGA所以read調用讀到數據則立即返回,否的終端接口,用于控制非同步通信端口。則將為每個(gè)字符最多等待ⅤTIME時(shí)間。結構體為:為使程序有較好的規范性和可移植hh: mmstruct termio性,本文在程序設計中采用狀態(tài)機的設經(jīng)度 Comma12]了符型轉化為計方法。由于所接收到的NMEA數據unsigned short c_iag,/·輸入模式標整型“度分”格式首字符和次字符均為“$”和“G”,本文unsigned short c_onag;P·輸出模式標緯度comm4]字子符型轉化為將依此為狀態(tài)改變的觸發(fā)條件。程序首志整型“度分格式先定義一個(gè)緩存數組 recvbuf并初始化一unsigned short c cflag;/·控制模式標個(gè)起始狀態(tài),當緩存buer收到首字符卩星使用數景 Comma[門(mén)字符型轉化為整型$”時(shí),觸發(fā)了狀態(tài)改變?yōu)榈诙€(gè)狀態(tài),unsigned short c Iflag: / local modeags·若不是,則歸為無(wú)效數據,狀態(tài)機恢復unsigned char c_ line; / line discipline將 Comma(n全部顯示為起始狀態(tài),并清空 recvbuf緩存;當串口接收到下個(gè)字符并判斷是否為“G”字unsigned char c cc[NCC]; / control符,若是,則觸發(fā)第三種狀態(tài),若不是,characters則為無(wú)效數據,狀態(tài)機恢復為起始狀態(tài)。串口具體設置是首先定義了一個(gè)●●●其具體程序如下類(lèi)型的結構體通過(guò)#define STATE REC NULL O#define STATE REC FIRSt 1tcgetattr(fd,& options)來(lái)獲得設置,再對#define STATE REC SECOND 2options進(jìn)行設置,最后通過(guò) tcsetattr(fd,TCSANOW,&apin.來(lái)實(shí)現設置和同圖3NMEA數據解析流程圖H中國煤化工CNMHG9 2012.02 SengoNworldTechnology Application被測與畫(huà)用char recvbuf[150 ];據格式上分析,所有的報文以“$”為起始標志,“,”為switch(rec state)域分隔符,“·”為識別符,其后兩位為校驗值,字符回if(revbuf ="S)4車(chē)和換行為結束符?;谝陨戏治?本文采用逗號來(lái)分rec state= STATE REC SECOND;隔各個(gè)數據域,把各個(gè)數據域的需要的UTC,經(jīng)度,緯r(shí)ecvbufncount++]=buffer;度等信息提取出來(lái)并分別存到數組中。具體的程序框圖如圖3所示ase STATE REC SECON整個(gè)過(guò)程對一幀GPS報文進(jìn)行解析,有著(zhù)較高的解if( rebut=G”){析效率。我們利用C語(yǔ)言實(shí)現了該解析算法,因此代碼rec state STATE REC FULL:也具有很強的可移植性。recvbuf[ncount++]-buffer;3 elset表 I NMEA數據分析表ncount = 0144A APprintf("It received a unvalib character and the recvbuf序號數據域說(shuō)明is %sn"recvbuf)1 SGPGGA語(yǔ)句ID,GPS定位信息memset(recvbuf, 0, sizeof(recvbuf));UTC時(shí)間, hhmmss sss,時(shí)分秒格式rec stateSTATE REC FIRST;34250.5緯度 damm, mmmm,度分格式(前導位數不足則補0)s緯度N(北緯)或S(南緯case STATE REC FULL:514718.5084經(jīng)度 dddmm mmmm,度分格式(前導位數不足則補0)recvbuf[ncount++]=buffer經(jīng)度E(東經(jīng))或W(西經(jīng))GPS狀態(tài),0=未定位,1=非差分定位parse nmea datai( recvbuf;/對接收數據進(jìn)行解析2=差分定位,3=無(wú)效PPS,6=正在估memset(recvbuf, 0, sizeof(recvbuf));rec state STATE REC FIRST;正在使用的衛星數量(00-12)(前導位數不足則補0)breakHDOP水平精度因子00.5999)default:10海拔高度(99999999999printf("The data are not valid! n")19.7地球橢球面相對大地水準面的高度break12M差分時(shí)間(從最近一次接收到差分信號開(kāi)始的秒數,如果不是差分定位將3、NMEA數據解析為空)NMEA-0183是一套定義了接收機輸出的標準信息130000差分站ID號0000-1023(前導位數不標準的NMEA數據包括$ GPGGA、 SGPGSA、$ GPGSV、足則補0,如果不是差分定位將為空)校驗值SGPRMC、sGPⅤTG、 SGPGLL等。其中,GPGA定位信息, GPGSA—當前衛星信息, GPGSV.可見(jiàn)衛星信息, GPRMC—推薦定位信息數據格式, GPVTG地面四、小結速度信息, GPGLL一地理定位信息。本文基于 linux嵌入式操作系統設計了一種GPS接收例: SGPGGA,092204999,機,硬件方面介紹了U-blox的工作原理,軟件方面較詳細地介紹了如何接收和解析NMEA數據的過(guò)程,并基于4250.5589S,147185084,E,104,244,197,M,,0000*1FLF>linuκ操作系統OMAP3530處理器上用該模塊進(jìn)行連續運(注:NMEA數據分析見(jiàn)表1)行,發(fā)現沒(méi)有任何錯誤,我們將該程序用到實(shí)際應用中,U-blox接收一幀有6個(gè)語(yǔ)句,我們需要某個(gè)語(yǔ)句中效果良好中國煤化工的幾個(gè)字段,所以必須對接收到的數據進(jìn)行解析。從數CNMHG下轉30傳感器世界201202www.sensonwordcomcProduct Feature參考文獻working principle structure characteristics and the[]劉迎春傳感器原理設計與應用[M]北京:國防科技大學(xué)出版requirements to signal processing of Lvdt position sensor社198[2]譚尹耕.液壓試驗設備與測試技術(shù)M北京:北京理工大學(xué)are analyzed. ICL8038 signal generation chip is used to出版社,1997generate LVDT excitation voltage signal. AD630 chip is[3]童詩(shī)白.模擬電子技術(shù)基礎[M]北京清華大學(xué)出版2000applied to demodulate the signals from LVdt displacement[4]何光渝. Delphi常用數值算法集[M]北京:科學(xué)出版社,2001sensor and then the ac position signals from LVDt are[5]顧瑞龍,控制理論及電液控制系統[M,北京:機械工業(yè)出版transformed into adjustable DC signals社,1984[6]National Instrument Coporation, DAQCard-6062E UserKeywords: LVDT; demodulation; AD630; ICL8038:Manual [Z]differential transformer[7]Analog Devices, Inc, AD630 user manual [z作者簡(jiǎn)介L(cháng)VDT Displacement Sensor in the servo valve Test崔偉:中國人民解放軍駐航天二院二O六所代表室,研CUI Wei BIan You究方向:主要從事軍工產(chǎn)品的科研生產(chǎn)、檢驗驗收以及(Military representative office of pla accredited to no 206質(zhì)量控制工作institute of the second academy CASIC, Beijing, 100854通信地址:北京市142信箱208分箱郵編:100854China)郵箱; xYlose@126comAbstract: To overcome the equilibrium position shift of邊友:中國人民解放軍駐航天二院二O六所代表室,研dynamic cylinder in actual servo valve dynamic testing, a究方向:主要從事軍工產(chǎn)品的科研生產(chǎn)、檢驗驗收以及closed- loop position control method using LVDt sensor to質(zhì)量控制工作。detect the position of dynamic cylinder is introduced. The讀者服務(wù)卡編號007口∷沁沉河河沉沉河∷沉沉沉沉沉沉污六沉沉沉河沉沉河污河污沉沉污沉沉沉沉沉沉沉沉沉深沉沉沉沉沉沉沉沉沉上接20頁(yè))time, the hardware solution and the software design about參考文獻NMEA data reception and analysis are analyzed in details.[王苗嵌入式系統設計與實(shí)例開(kāi)發(fā)(第二版)[M].北京:清華And debugging and demonstration on the actual platform大學(xué)出版社are given at last. The results show that the module has some[2]韓超梁泉. Android系統原理及開(kāi)發(fā)要點(diǎn)詳解[M]北京:電子工業(yè)出版社.2010advantages of simple hardware, high positioning accuracy3]史蒂文斯拉戈UNTX環(huán)境高級編程M]北京:人民郵電出版 and good stability. Moreover the software has better社.2006portability. And the system are applied well in the practical[4]肖遠亮NMEA0183數據標準在GPS的應用[J物探裝備,2003,13(2):127-133[5]劉宏斌.采用狀態(tài)機和消息機制的串口接收程序[門(mén)單片機Keywords: Linux; GPS; NEMA; reception; analysis與嵌入式系統應用,2004,(10):72-73作者簡(jiǎn)介Applications of GPS based on Linux陳雪小:廈門(mén)大學(xué)物理與機電工程學(xué)院電子學(xué)實(shí)驗室CheN Xue-xiao碩士研究生,研究方向:電子學(xué)(E| ectronics Laboratory, Physics and electrical地址:福建省廈門(mén)市思明區廈門(mén)大學(xué)科學(xué)樓33室Engineering, Xiamen University, Xiamen 361005, China)郵編:361005Abstract: Based on the LEA-5s module of u-blox IncE-mail:410333457@qq.comapplications and concrete realization of GPs on Linux中國煤化工編號004□embedded operating system are introduced. At the sameCNMHG2012.02 Sensorworld

論文截圖
上一條:談大黃的應用
下一條:MSAN及其應用
版權:如無(wú)特殊注明,文章轉載自網(wǎng)絡(luò ),侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習使用,務(wù)必24小時(shí)內刪除。
欧美AAAAAA级午夜福利_国产福利写真片视频在线_91香蕉国产观看免费人人_莉莉精品国产免费手机影院