本文以华测CHC® CGI-610组合导航为例

主机安装方法




在实际安装时,主机的GNSS1、GNSS2、4G接口分别通过数据线连接两个GNSS天线、4G天线,最后一个COM接口连接数据线,用于连接工控机以及外接电源。

数据线接口定义


19PIN 数据线主要包括 3 个 RS232,1 个 RS422,1 个 CAN,一个电源口,其中C_RS232:可通过网页配置选择输出组合导航融合数据(包括 GPCHC、GPGGA、GPRMC),最高输出频率 100HZ,默认波特率 230400,其与工控机连接。

数据协议

主机与工控机通过GPCHC 数据协议进行GPS信息传输,可通过 RS232 C 口以及 RS422 口输出,默认波特率 230400。具体定义可参考说明书。

$GPCHC,GPSWeek,GPSTime,Heading,Pitch,Roll,gyro x,gyro y,gyro z,accx,accy,accz,Lattitude,
Longitude,Altitude,Ve,Vn,Vu,Baseline,NSV1,NSV2,Status,Age,Warming,Cs<CR><LF>

GPS驱动

利用ROS自带的串口包,从串口中读取GPCHC 数据协议的GPS数据,将其解析并发布至相关话题。

基本知识

1.串行通讯

串行通信技术,是指通信双方按位进行,遵守时序的一种通信方式。串行通信中,将数据按位依次传输, 每位数据占据固定的时间长度,即可使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。串行通信多用于系统间通信(多主控制系统)、设备间(主控设备与附属设备)、器件间(主控CPU与功能芯片)之间数据的串行传送,实现 数据的传输与共享。
串行总线通信过程的显著特点是:通信线路少,布线简便易行,施工方便,结构灵活,系统间协商协议,自由度及灵活度较高,因此在电子电路设计、信息传递等诸多方面的应用越来越多。 [2]
串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
分类编辑

串口

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

接口划分标准

串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485。RS-232-C、RS-422、RS485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。

RS-232

也称标准串口,最常用的一种串行通讯接口。其特点有:

信号线少

其使用9芯D型插座(DB9)

其中发挥主要作用的是2,3,5号引脚,起作用分别是数据输入,数据输出和信号接地。

采用负逻辑传送

规定逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15 V。RS -232的噪声容限为2V,接收器将能识别高至+3V的信号作为逻辑“0”,将低到-3 V的信号作为逻辑“1”。

传送距离较远

其传送距离一般可达30 m

灵活的波特率选择

RS-232规定的标准传送速率有50b/s、75b/s、110b/s、150b/s、300b/s、600b/s、1200b/s、2400b/s、4800b/s、9600b/s、19200b/s,可以灵活地适应不同速率的设备。对于慢速外设,可以选择较低的传送速率:反之,可以选择较高的传送速率。

2.GPS协议

简介

GPS协议一般指:NMEA-0183协议。NMEA-0183协议是GPS接收机应当遵守的标准协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。
它是一套定义接收机输出的标准信息,有几种不同的格式,每种都是独立相关的ASCII格式,逗点隔开数据流,数据流长度从30-100字符不等,通常以每秒间隔选择输出。最常用的格式为"GGA",它包含了定位时间,纬度,经度,高度,定位所用的卫星数,DOP值,差分状态和校正时段等,其他的有速度,跟踪,日期等。NMEA-0183实际上已成为所有的GPS接收机和最通用的数据输出格式,同时它也被用于与GPS接收机接口的大多数的软件包里。

语句

NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA$GPGSA$GPGSV$GPRMC$GPVTG$GPGLL等,各个语句定义可参考这里。
NMEA通讯协议所规定的通讯语句都已是以ASCII码为基础的,NMEA-0183协议语句的数据格式如下:
“$”为语句起始标志;“,”为域分隔符;“ *”为校验和识别符,其后面的两位数为校验和,代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符);“/”为终止符,所有的语句必须以回车换行来结束,也就是ASCII 字符的“回车”(十六进制的0D)和“换行”(十六进制的0A)。
在读取输出语句时数据之间最好用“,”区分,不要按位读取,以保证应用程序的兼容性。
例:$GPGSA,A,3,01,20,19,13,40.4,24.4,32.2*0A

补充:ASCII码

简介

ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,到目前为止共定义了128个字符。

产生原因

在计算机中,所有的数据在存储和运算时都要使用二进制数表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示

表达方式

ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。十进制 (0 - 127),十六进制 (0 - 7F)。

  • 0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)等,它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
  • 32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字,65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1

常用工具

ASCII码在线转换计算器及转换表

实际使用感受

  • 导航设备在室内或靠近楼房时信号较差,需要到室外才可以正常接收GPS信号
  • 导航设备使用前需要进行配置,具体配置方法可参考设备说明书
  • 导航设备通过串口与工控机通信

参考资料

百度百科、华测CHC® CGI-610组合导航说明书

Apollo详解之定位模块———导航设备硬件基础相关推荐

  1. Apollo详解之定位模块——RTK定位

    前言 Apollo的定位模块提供了三种定位方法,分别是RTK.NDT.MSF. 所谓RTK定位,可参考百度百科 RTK(Real Time Kinematic)实时动态测量技术,是以载波相位观测为根据 ...

  2. 微服务 分布式配置中心Apollo详解

    微服务 分布式配置中心Apollo详解 1. 配置中心概述 1.1 配置中心简介 1.2 配置中心特点 1.3 配置中心对比 2. Apollo概述 2.1 Apollo简介 2.2 Apollo特点 ...

  3. java访问修饰符详解——学java,零基础不怕,不只要理论,更要实践+项目,a href=http://www.bjweixin.com太原维信科技提供 /a...

    java访问修饰符详解--学java,零基础不怕,不只要理论,更要实践+项目 <a href=http://www.bjweixin.com>太原维信科技提供 </a> pub ...

  4. 神经网络算法详解 01:人工神经网络基础

    本文介绍了人工智能的发展历史,基本概念,应用领域:神经元模型,神经元的学习规则以及神经网络工作原理.本系列文章来自阿里云大学人工智能学习路线中的<神经网络概览及神经网络算法详解>课程. 系 ...

  5. Git详解之二:Git基础

    Git详解之二:Git基础 2012/08/24 | 分类: IT技术, 书籍与教程 | 0 条评论 | 来源: <PRO GIT>     | 标签: GIT, PRO GIT, 版本控 ...

  6. 详解PCB线路板覆铜基础知识

    所谓覆铜,就是将PCB上闲置的空间作为基准面,然后用固体铜填充,这些铜区又称为灌铜.覆铜又分为大面积覆铜和网格覆铜.下面,就详解PCB线路板覆铜基础知识: 一.覆铜需要注意的问题: 1.不同地的单点连 ...

  7. Git详解(2)——Git基础

    文章转载自:http://www.open-open.com/lib/view/open1328069733264.html 版权归原作者. 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的 ...

  8. fgets()函数的详解-使用技巧-C语言基础

    这篇文章要探讨的是"fgets()函数的详解以及使用时需要注意的一些细节".涉及fgets()函数的应用和需要注意的问题.属于C语言基础篇(持续更新). fgets()(函数原型: ...

  9. 注解详解和Spring注解增强(基础内功)

    本文内容 什么是注解? 如何定义注解 如何使用注解 如何获取注解信息 Spring 中对注解做了什么增强? 什么是注解? 什么是代码中写的注释?那是给开发者看的,但是编译之后的字节码文件中是没有注释信 ...

最新文章

  1. 在Scrapy中使用Chrome中的cookie
  2. POI导入大excel文件
  3. mybatis的执行流程
  4. ACM模板--邻接矩阵 无向图 搜索算法
  5. Oracle TO_YMINTERVAL 函数简介
  6. 鸿蒙系统能否推广,鸿蒙系统凭实力占市场,无需通过禁止安卓系统来推广
  7. linux代码_Sonar代码走查的配置(linux)
  8. 学习NA,Dynamips实验环境(工大瑞普)下载地址
  9. 虚拟机安装win10专业版
  10. 【深度学习】Numpy实现简单神经网络
  11. Threejs实现宇宙中地球动态展示和卫星绕地运动
  12. Linux服务器搭建----Web服务器(apache)
  13. 《我是一只IT小小鸟》推荐序
  14. phpcustom数据库录入
  15. 小米android n 分屏,小米官方确认这几款手机都支持分屏功能
  16. 高效工具-Google云盘上传方案
  17. spring bootJWT/JJWT JSON WEB TOKEN
  18. Java中的CAS操作
  19. MyEclipse创作酒店管理系统
  20. Java编程思想第四版第九章练习

热门文章

  1. 中断函数实现按键控制LED灯亮灭
  2. 一文搞定贷款利息计算
  3. HTML+CSS_第四部分(Sass与Less、PostCSS、CSS架构与文件组织、CSS新特征)
  4. 导出音乐软件歌单为txt文本
  5. Web应用——驾培管理系统之个人管理(作者:小圣)
  6. win10 C盘突然少了许多空间解决办法
  7. cad是计算机辅助设计什么,“什么是cad软件“cad是什么
  8. Windows11输入法第一个候选词不显示。
  9. android 简易我的积分页面、答题页面的设计
  10. java题型_java一些经典题型