APP下载

基于NEO-M8P的RTK定位系统设计与实现

2018-04-19刘炼军黄继伟

网络安全与数据管理 2018年3期
关键词:原理图串口基站

刘炼军,黄继伟

(福州大学 物理与信息工程学院,福建 福州 350002)

0 引言

随着定位和导航的广泛应用,对精度的要求也越来越高,RTK[1]定位技术是基于载波相位[1-5]观测值的实时动态定位技术,能够实时得到厘米级的定位精度。NEO-M8P是ublox公司为提供物联网解决方案的最新GNSS[6]定位的模块,结合了高性能的u-blox M8定位引擎与u-blox的实时动态(RTK)技术,实现了高精度的定位导航。NEO-M8P对快速移动的无人机、无人驾驶车辆等应用来说是非常理想的,精度高、操作效率高并且自动返回数据到基站平台。它集成了能够访问完整的端到端RTK解决方案系统,包括基站的“survey-in”功能,这个功能能够减少设置时间和增加应用的灵活性。通过硬件的设计可以使得该系统兼容许多不同的通信技术,比如WiFi、蓝牙、移动电话等。相比于现在的高精度定位,该设计实现的定位更加精确,定位所需时间更短,成本相对较低。

该设计中移动站电路部分采用NEO-M8P-0,基站电路部分采用NEO-M8P-2,基站电路部分通过通信链表发送rtcm3协议格式的数据给移动站,经过移动站中的算法进行数据处理,输出精度为厘米级别的定位数据。该设计中MCU采用内核为Cortex-M3的STM32F103芯片,该单片机主要有性价比高、配置丰富灵活、低功耗等优点;MCU通过接收移动站输出的数据来实现定位数据的解析,并且在该设计中移动站和基站能够直接通过USB连接到计算机进行配置和测试。

1 系统的硬件设计

该系统主要由两部分组成:以STM32F103芯片为MCU的主控制器单元和以NEO-M8P为核心的移动站和基站单元。在硬件设计部分采用模块形式进行设计,主控制器STM32及其外部电路属于一个模块,移动站和基站电路属于一个模块,两个模块通过相应的接口进行连接。系统框图如图1所示。

图1 系统框图

1.1 主控制器STM32F103相关电路

该电路中主控制器采用的是STM32F103ZET6增强型系列芯片,其使用高性能的Cortex-M3 32位RISC内核,拥有丰富的增强I/O端口和两条APB总线。在功能上主要用到了单片机的3个UART,通过串口与移动站进行通信。USART1和USART2直接输出的是TTL电平,USART3通过SP3232芯片进行电路转换输出232电平。图2为主要的接口电路原理图。

主要的接口电路如图2所示。

图2 接口电路原理图

1.2 基站和移动站部分电路

基站和移动站的电路基本一致,只是其中采用不同的NEO-M8P芯片,基站采用的是NEO-M8P-2,而移动站采用的是NEO-M8P-0。该电路中主要涉及NEO-M8P部分、天线部分、电源部分、LED显示部分。

1.2.1NEO-M8P电路

NEO-M8P电路原理图如图3所示。NEO-M8P中由于SPI和UART接口公用,因此在设置D_SEL为悬空或者高电平的时候,公用接口为UART,如图1的GPS_TX和GPS_RX。电路中的USB接口USB_P和USB_N也能够用于串口通信。RTK_STAT、GEO_STAT、TIME_PLUSE都是输出端口,电路都外接有LED灯。RTK_STAT提供了RTK定位状态的指示,当接收到RTCM3格式的数据后就会以一定频率(默认是1 Hz)切换输出高低电平; GEO_STAT表示地理围栏的状态;TIME_PULSE表示NEO-M8P内部的时间脉冲信号(默认是每秒一次),该时间脉冲信号可以通过软件进行配置。

图3 NEO-M8P原理图

1.2.2天线部分

天线部分原理图如图4所示。电路中和NEO-M8P相连的信号线有VCC_RF、RF_IN、ANT_ON和GND。NEO_M8P中VCC_RF为输出端口,为低噪声放大器提供电源,确保LNA有足够的带宽去放大卫星信号;NEO_M8P中ANT_ON为输出信号线,在节能模式下,为了优化功耗,系统会通过该信号线关闭可选择的外部低噪声放大器[7](LNA)。

图4 天线部分原理图

1.2.3电源部分

整个电路中可以通过USB和串口进行供电,图5为VDD_IN供电原理图。由于NEO-M8P中需要3.3 V左右的电压,故需要将VDD_IN转换为3.3 V的电压,该电路中采用的是TPS73633电压转换芯片(图6为电压转换原理图),该芯片也具有反向电流保护作用。在NEO-M8P还涉及V_BCKP输入端口,当NEO-M8P供电失败后,备用电源通过该端口供电,用来为实时时钟(RTC)和BBR供电。

图5 VDD_IN供电原理图

图6 电压转换原理图

2 系统软件设计

2.1 通信协议介绍

该系统设计中主要涉及NMEA、UBLOX、RTCM3这三种协议。在基站和移动站之间传输的数据是RTCM3协议的数据。单片机接收移动站发送的数据有NMEA和UBLOX两种协议的数据,NMEA协议格式如图7所示。在该系统中单片机只需要解析NMEA中GPGGA、GPGSA、GPGSV、GPRMC和GPVTG,因此这里只详细介绍这五种数据格式。

图7 NMEA协议格式

GPGGA数据协议格式CFG-MSG为 0xF0 0x00,包含的数据域有17个,具体GPGGA数据协议格式如图8所示。

图8 GPGGA数据协议格式

例如:MYMGPGGA,092725.00,4717.11399,N,00833.91590,E,1,08,1.01,499.6,M,48.0,M,,*5B

GPGSA数据格式CFG-MSG为 0xF0 0x02,包含的数据域有21个,具体GPGSA数据协议格式如图9所示。

图9 GPGSA数据协议格式

GPGSV数据格式CFG-MSG为 0xF0 0x03,包含的数据域有8到16个不定,具体GPGSV数据协议格式如图10所示。

图10 GPGSV数据协议格式注:由于数据的长度不确定,5..16代表数字5到16都有可能。

GPRMC数据格式CFG-MSG为 0xF0 0x04,包含的数据域有16个,具体GPRMC数据协议格式如图11所示。

图11 GPRMC数据协议格式

GPVTG数据格式CFG-MSG为 0xF0 0x05,包含的数据域有12个,具体GPVTG数据协议格式如图12所示。

图12 GPVTG数据协议格式

2.2 NEO-M8P软件配置部分

在软件配置中需要用到ublox公司的u-center软件, 该软件对于分析和评估u-blox GNSS接收器具有独特的灵活性。u-blox GNSS接收器也能够通过u-center软件对其进行配置和固件更新。

图13为其主要的配置流程图。

图13 配置流程图

该系统首先通过串口或者USB接入PC端,在u-center中就会自动连接,然后就可以进行设置。第一步是DGNSS模式的设置,这里是配置为RTK Fix模式;第二步是GNSS配置,即选择全球导航卫星系统,根据多次测试,选择GPS和 Beidou两种卫星系统的信号最好,这里配置选择GPS和Beidou; 第三步是MSG(Messages)输出信息的选择,RTCM协议的数据输出1005、1077、1127、4072,ublox协议的数据主要输出RAWX, NMEA协议的数据输出GPGGA、GPGSA、GPGSV、GPRMC和GPVTG;第四步是 PRT(Ports)端口的配置,串口1和USB的输入输出都配置为UBX+NMEA+RTCM3,串口1的波特率设置为115 200 b/s;第五步是Time Mode 3的设置,设置为1-Survey-in模式;第六步是CFG(Configuration)配置,就是将前面的配置保存到内部存储中,防止掉电丢失。

2.3 单片机主要的解析程序

gpsx为解析后输出的数据,buf为输入的nema-0183原始信息:

NMEA_GPGGA_Analysis(gpsx,buf);

NMEA_GPGSA_Analysis(gpsx,buf);

NMEA_GPGSV_Analysis(gpsx,buf);

NMEA_GPRMC_Analysis(gpsx,buf);

NMEA_GPVTG_Analysis(gpsx,buf);

上面分为解析GPGGA、GPGSA、GPGSV、GPRMC和GPVTG五种类型的数据函数,这里详细介绍GPGGA相关的数据,具体程序设计流程图如图14所示。

图14 程序设计流程图

结合该程序和2.1节中GPGGA协议的介绍可知,获取数据的第6个数据段为GPS状态,第7个数据段为定位的卫星数目,第8个数据段为定位的高度。

3 系统的测试结果分析

本设计中采用u-center软件对系统进行测试,测试中主要分析如图15所示的基本数据视图,其中经度:119.211、纬度:26.046、高度:121.700 m、Fix模式:FIXED、PDOP:1.5、HDOP:0.8。在进行普通定位测试时,PDOP三维位置精度因子(数值越小精度越高)为1.9~2.2,HDOP水平分量精度因子(数值越小精度越高)为1.8~2.0。相对于该系统中的PDOP=1.5、HDOP=0.8而言,该系统的精度相对更高。Fix模式进入FIXED状态表示定位完成(计算出定位的位置)。通过多次的软件配置和天线的选择,在卫星类型选择GPS+北斗的时候,卫星信号最强。测试中将天线的增益从28 dB增加到 38 dB后,卫星信号基本都能达到40 dB以上,随着信号强度的增加,系统中Fix模式进入FIXED状态的时间缩短,也就是定位时间缩短,定位精度也有所提高。

图15 基本数据视图

4 结论

本文利用高性能的NEO-M8P实现实时差分定位(RTK)并通过串口输出相应格式的数据,对于设计的移动站和基站,可以通过u-center软件进行测试和配置,在最后数据通过串口输出后经过STM32单片机对其进行数据解析。电路中的uart端口也能够很好地与PX4、APM等开源飞控进行通信。u-center软件配置环境提供很友好的图形交互界面,使得在实际应用中可根据需求更加方便与准确地进行配置。该系统的高精度定位也完全符合精确导航的商用无人机、机器人导航系统等应用的设计需求。

[1] 孙步阳,程新文,吕献林. 实时动态RTK技术精度研究[J]. 工程地球物理学报, 2008(2): 232-236.

[2] 吴北平. GPS网络RTK定位原理与数学模型研究[D].武汉: 中国地质大学,2003.

[3] 谷润平,黄磊,赵向领. QAR数据的数据融合算法[J]. 计算机系统应用,2016,25(1):136-140.

[4] POURKHAK B, MIREEI S A, SADEGHI M. Multi-sensor data fusion in the nondestructive measurement of kiwifruit texture[J]. Measurement, 2017,101:157-165.

[5] 郝万亮,孙付平,刘帅.基于载波相位DGNSS/INS紧组合的平滑后处理算法[J]. 大地测量与地球动力学, 2015, 35(6):1031-1035.

[6] 刘硕,张磊,李健. GNSS系统间钟差辅助定位研究[J]. 武汉大学学报, 2017,42(7):1015-1020.

[7] 曾毅. 低噪音放大器(LNA)多层板设计[J]. 电子工艺技术, 2008(2):84-86,101.

猜你喜欢

原理图串口基站
浅谈AB PLC串口跟RFID传感器的通讯应用
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
基于移动通信基站建设自动化探讨
可恶的“伪基站”
基于GSM基站ID的高速公路路径识别系统
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
维修电工线路板的接线技巧分析