基于LINUX的GPS的应用 基于LINUX的GPS的应用

基于LINUX的GPS的应用

  • 期刊名字:传感器世界
  • 文件大小:583kb
  • 论文作者:陈雪小
  • 作者单位:厦门大学物理与机电工程学院电子学实验室
  • 更新时间:2020-06-12
  • 下载次数:
论文简介

Technollogy Application被测与回用葚!N的GP齣应周摘要:基于凵-box公司的LEA-5S模块,介绍了GPS在inux俄人式操作系统上的应用以及具体买现,并洋细分析了模块的硬件实现以及软件方面NEA数据的接收和解析的方法,最后在实际平台进行了调试与论证。结果表明,该模块具有硬件简单、定位精度高,稳定性好的优点,相应的软件有较好的可移植性,实际应用中效果良好关键词:Lnux;GPs;NEMA;接收;解析中图分类号:TP3文献标识码:A文章编号:1006-883×(2012)020018-04收稿日期:2011-12-12陈雪小引言随着信息化、智能化、网络化的发展,嵌入式系统技术已经全面渗透到日常生活中的每个角落。嵌入式 linux操作系统由于它可以移植到多个不同的结构的CPU和硬件平台上,具有很好的稳定性,各种性能的升级能力,并且其是开放的,提供标准的API,能够方便地与众多第三方的软硬件沟通,使其得到了广泛的应用叫。GPS即全球定位系统,这个系统可以保证在任意时刻,地球上任意一点都可以同时观测到4颗卫星,以保证用户GPS模块可以采集到各观察点的经纬度和高度,以便实现导航、定位、授时等功能。GPS模块分为软GPS和硬GPS。软GPS一般需要主控芯片控制其运行状态,直接输出卫星数据,利用应用处理器端进行解析计算再转换为标准NMEA(国际海洋电子协会),因此驱动相对复杂。而硬GPS是功能独立的模块,上电就可以运行,直接输出NMEA数据(。本文采用的是ubox公司生产的LEA-5S模块介绍其硬件实现以及相应的软件实现。二、GPS模块硬件GPS RFIN走线按500阻抗匹配实现LEA-5s模块B定位精度为25m,定位性能优异准C:160803U60IT确,在防漫反射及数BHD OLT抗干扰能力方面十分强劲,并且其外围电路十分简单TMIEPLLSE中国煤化工其电路图如图1所图1LEA5S外围电路图CNMHG示H传感器世界201202Technology Application如图1所示,模块采用33V供电,需要注意的是: options. c cc[VTIME]可以通过UART、USB以及SPI与应用和 options. c cc [Vmin对read函数影响处理器连接和通讯,本文采用UART接较大。VTME指定了等待的时间,VMIN口。图中VANT引脚可以对有源天线的初始化指定了读取字节的最小数量正常、开路及短路进行检测,并可以自2、NMEA数据的接收动在NMEA数据里输出。接收NMEA数据本文在非阻塞的方式下采用o多路转接 select对串口文件描述符的状态三、GPS模块软件实现解析NMEA数据进行监视。 select函数原型为:int由于LEA58通过UART直接与处elect( int nfds, fd set * readfds, fd set理器进行通讯,因此对处理器而言,驱显示NMEA数据.writefds, fd set*exceptfds, struct timeval动主要为 linux标准的串口驱动,应用时"timeout);当串口句柄没有变化时,程序只要打开相应串口即可。其程序的总体将阻塞,阻塞的时间取决于 select的第三框图如图2所示。图2模块总体程序流程图个形参 struct timeval'" timeout 3.本文将1、模块初始化timeout值设为NULL,程序将一直停留模块初始化主要是对GPS相关GPo直到串口句柄发生变化,即只有串口接的设置和串口的设置。首先设置引脚NMEA数据收到数据时才不会阻塞。解析GPS ON为高电平,处理器发出一个脉当串口文件描述符发生变化后,调冲对引脚 GPS RST进行复位,最后打开利用“,·解析出各数据域井用read函数读取一个字符到缓存 buffer;电源对其供电。然后打开串口,设置波存于二维数据 Comma[(n]中由于本文串口设置为: options.c_cc特率,数据位,奇偶校验位以及停止位[VTIME]=150; options. c cclVMIN]0等信息。 termios函数族提供了一个常规“GGA所以read调用读到数据则立即返回,否的终端接口,用于控制非同步通信端口。则将为每个字符最多等待ⅤTIME时间。结构体为:为使程序有较好的规范性和可移植hh: mmstruct termio性,本文在程序设计中采用状态机的设经度 Comma12]了符型转化为计方法。由于所接收到的NMEA数据unsigned short c_iag,/·输入模式标整型“度分”格式首字符和次字符均为“$”和“G”,本文unsigned short c_onag;P·输出模式标纬度comm4]字子符型转化为将依此为状态改变的触发条件。程序首志整型“度分格式先定义一个缓存数组 recvbuf并初始化一unsigned short c cflag;/·控制模式标个起始状态,当缓存buer收到首字符卩星使用数景 Comma[门字符型转化为整型$”时,触发了状态改变为第二个状态,unsigned short c Iflag: / local modeags·若不是,则归为无效数据,状态机恢复unsigned char c_ line; / line discipline将 Comma(n全部显示为起始状态,并清空 recvbuf缓存;当串口接收到下个字符并判断是否为“G”字unsigned char c cc[NCC]; / control符,若是,则触发第三种状态,若不是,characters则为无效数据,状态机恢复为起始状态。串口具体设置是首先定义了一个●●●其具体程序如下类型的结构体通过#define STATE REC NULL O#define STATE REC FIRSt 1tcgetattr(fd,& options)来获得设置,再对#define STATE REC SECOND 2options进行设置,最后通过 tcsetattr(fd,TCSANOW,&apin.来实现设置和同图3NMEA数据解析流程图H中国煤化工CNMHG9 2012.02 SengoNworldTechnology Application被测与画用char recvbuf[150 ];据格式上分析,所有的报文以“$”为起始标志,“,”为switch(rec state)域分隔符,“·”为识别符,其后两位为校验值,字符回if(revbuf ="S)4车和换行为结束符。基于以上分析,本文采用逗号来分rec state= STATE REC SECOND;隔各个数据域,把各个数据域的需要的UTC,经度,纬recvbufncount++]=buffer;度等信息提取出来并分别存到数组中。具体的程序框图如图3所示ase STATE REC SECON整个过程对一帧GPS报文进行解析,有着较高的解if( rebut=G”){析效率。我们利用C语言实现了该解析算法,因此代码rec state STATE REC FULL:也具有很强的可移植性。recvbuf[ncount++]-buffer;3 elset表 I NMEA数据分析表ncount = 0144A APprintf("It received a unvalib character and the recvbuf序号数据域说明is %sn"recvbuf)1 SGPGGA语句ID,GPS定位信息memset(recvbuf, 0, sizeof(recvbuf));UTC时间, hhmmss sss,时分秒格式rec stateSTATE REC FIRST;34250.5纬度 damm, mmmm,度分格式(前导位数不足则补0)s纬度N(北纬)或S(南纬case STATE REC FULL:514718.5084经度 dddmm mmmm,度分格式(前导位数不足则补0)recvbuf[ncount++]=buffer经度E(东经)或W(西经)GPS状态,0=未定位,1=非差分定位parse nmea datai( recvbuf;/对接收数据进行解析2=差分定位,3=无效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差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将3、NMEA数据解析为空)NMEA-0183是一套定义了接收机输出的标准信息130000差分站ID号0000-1023(前导位数不标准的NMEA数据包括$ GPGGA、 SGPGSA、$ GPGSV、足则补0,如果不是差分定位将为空)校验值SGPRMC、sGPⅤTG、 SGPGLL等。其中,GPGA定位信息, GPGSA—当前卫星信息, GPGSV.可见卫星信息, GPRMC—推荐定位信息数据格式, GPVTG地面四、小结速度信息, GPGLL一地理定位信息。本文基于 linux嵌入式操作系统设计了一种GPS接收例: SGPGGA,092204999,机,硬件方面介绍了U-blox的工作原理,软件方面较详细地介绍了如何接收和解析NMEA数据的过程,并基于4250.5589S,147185084,E,104,244,197,M,,0000*1FLF>linuκ操作系统OMAP3530处理器上用该模块进行连续运(注:NMEA数据分析见表1)行,发现没有任何错误,我们将该程序用到实际应用中,U-blox接收一帧有6个语句,我们需要某个语句中效果良好中国煤化工的几个字段,所以必须对接收到的数据进行解析。从数CNMHG下转30传感器世界201202www.sensonwordcomcProduct Feature参考文献working principle structure characteristics and the[]刘迎春传感器原理设计与应用[M]北京:国防科技大学出版requirements to signal processing of Lvdt position sensor社198[2]谭尹耕.液压试验设备与测试技术M北京:北京理工大学are analyzed. ICL8038 signal generation chip is used to出版社,1997generate LVDT excitation voltage signal. AD630 chip is[3]童诗白.模拟电子技术基础[M]北京清华大学出版2000applied to demodulate the signals from LVdt displacement[4]何光渝. Delphi常用数值算法集[M]北京:科学出版社,2001sensor and then the ac position signals from LVDt are[5]顾瑞龙,控制理论及电液控制系统[M,北京:机械工业出版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作者简介LVDT Displacement Sensor in the servo valve Test崔伟:中国人民解放军驻航天二院二O六所代表室,研CUI Wei BIan You究方向:主要从事军工产品的科研生产、检验验收以及(Military representative office of pla accredited to no 206质量控制工作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究方向:主要从事军工产品的科研生产、检验验收以及closed- loop position control method using LVDt sensor to质量控制工作。detect the position of dynamic cylinder is introduced. The读者服务卡编号007口∷沁沉河河沉沉河∷沉沉沉沉沉沉污六沉沉沉河沉沉河污河污沉沉污沉沉沉沉沉沉沉沉沉深沉沉沉沉沉沉沉沉沉上接20页)time, the hardware solution and the software design about参考文献NMEA data reception and analysis are analyzed in details.[王苗嵌入式系统设计与实例开发(第二版)[M].北京:清华And debugging and demonstration on the actual platform大学出版社are given at last. The results show that the module has some[2]韩超梁泉. Android系统原理及开发要点详解[M]北京:电子工业出版社.2010advantages of simple hardware, high positioning accuracy3]史蒂文斯拉戈UNTX环境高级编程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]刘宏斌.采用状态机和消息机制的串口接收程序[门单片机Keywords: Linux; GPS; NEMA; reception; analysis与嵌入式系统应用,2004,(10):72-73作者简介Applications of GPS based on Linux陈雪小:厦门大学物理与机电工程学院电子学实验室CheN Xue-xiao硕士研究生,研究方向:电子学(E| ectronics Laboratory, Physics and electrical地址:福建省厦门市思明区厦门大学科学楼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及其应用
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。