本文以华测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
常用工具
实际使用感受
- 导航设备在室内或靠近楼房时信号较差,需要到室外才可以正常接收GPS信号
- 导航设备使用前需要进行配置,具体配置方法可参考设备说明书
- 导航设备通过串口与工控机通信
参考资料
百度百科、华测CHC® CGI-610组合导航说明书