多源组合导航智能通信终端的设计与实现

2022-07-19 15:56湖南工学院电气与信息工程学院吴乐孙长明吴阳明刘运维
卫星电视与宽带多媒体 2022年12期
关键词:定位导航报文语句

湖南工学院电气与信息工程学院:吴乐 孙长明 吴阳明 刘运维

随着城市的快速建设,人们的出行已经越来越离不开定位导航系统,而汽车作为人们重要的出行工具,定位导航车载终端越来越被用户所重视。近年来,出于交通安全考虑,客车、货运以及危险物品运送等各种车辆都被要求安装上了车载终端设备,对车辆的行驶状态和轨迹进行实时监控,从而保证交通安全,减少事故发生。车辆监控系统的迅速发展,也促进了车载智能终端设备得到了更好的发展和广泛的应用。

车载终端的定位导航多采用全球卫星导航系统GPS,随着我国自主研发的北斗三号全球卫星导航系统正式开通,也越来越多地用于车载终端系统中,从而更好为国家“一带一路”战略提供技术支持。北斗系统全球定位精度为10m,测速精度为0.2m/s,授时精度为20ns,除了具有导航、定位、授时功能外,还具有短报文通信功能。在台风、地震等灾害天气通信基站被破坏或者普通移动通信信号不能覆盖的情况下,终端可以通过短报文进行双向通信。目前短报文能发送10000汉字,并且能实现40汉字的全球短报文通信。

虽然GPS/北斗定位系统成本低、精度高,然而在复杂多变的环境下(隧道内或信号受遮挡时),卫星导航可能会在某一时间或地点失效,导航精度将不再可靠。因此可采用多源组合导航来提高导航的精度。本文设计了一个基于多源导航(BDS/GPS/INS)的车载终端系统。全球卫星导航系统可以通过卫星定位,提供全局的定位信息,惯性导航系统(INS)是一种不依赖于外部环境,也不向外辐射能量的自主式导航系统。组合导航系统,能有效利用INS短时的精度保持特性和GPS/北斗导航系统长时的精度保持特性,实现优势互补,从而提供稳定、可靠的导航服务。系统除了集成了多源组合定位导航功能外,还增加了北斗短报文通信功能和4G移动通信功能,除了为用户提供日常的车辆定位导航、车速等信息外,还能在灾后、移动通信信号无覆盖区,利用北斗短报文提供应急通信功能;利用4G移动通信作为接入点,将多个行业领域交通运输工具智慧城市云平台统一监控管理,对于智慧交通的建设,将起到良好的推进作用。

1.系统整体设计方案

系统设计主要包括STM32F411RET6单片机主控模块、供电模块、组合导航模块、北斗短报文通信模块、4G无线通信模块、USB通信模块、存储模块、液晶显示以及按键人机交互模块等。其中:

(1)STM32F411RET6单片机主控模块是智能定位导航车载终端系统设计的核心部分,它负责协调各个模块的正常工作和数据的接收、处理与转发。

(2)组合导航模块:采用北斗/GPS/惯性组合导航,利用北斗/GPS全球卫星导航全局性好和惯性导航不依赖外界环境的特点,取长补短、功能互补,可以有效的提高定位和导航的准确性和精确性。

(3)北斗短报文通信模块:利用北斗特有的双向通信功能,在灾情、事故求救或信息交互中能通过北斗短报文传输功能进行定位和紧急信息传递。

(4)4G无线通信模块将车辆所在位置、车速等信息发送到云端服务器上传至管理中心,完成整个系统的前端数据发送功能,实现车辆的远程监控。

(5)电源电路控制终端设备的电源,保证各个模块不同的电源要求,使系统能够正常稳定工作;

(6)USB通信模块:用于系统的串行调试,也可以用于STM32单片机和4G无线通信模块之间的连接,发送AT命令;

(7)存储模块:用于数据存储,保证数据的不丢失;

(8)人机交互模块:液晶显示模块实现对定位数据、北斗短报文内容和电量等的显示,键盘输入模块实现系统复位、定位信息查看、一键紧急求救等功能。系统硬件原理框图如图1所示。

图1 :系统硬件原理框图

2.系统硬件电路设计

2.1 STM32F411RET6主控电路设计

STM32F411RET6微控制器属于STM32 Dynamic Efficiency系列,采用cotex-M4内核,内含3个I2C,3个串口,一个USB接口,功耗低。芯片内集成了上电复位(POR)和掉电复位(BOR)电路,工作电压1.8V-3.6V。因此单片机主控电路主要包括时钟电路和电源电路。时钟电路采用8MHZ的外部晶振电路和32.768KHZ的低速外部晶振。电源电路主要采用5V稳压电源,然后通过降压芯片提供3.3V的STM32工作电压和3.8V的4G通信模块的工作电压。

2.2 ATGM336H卫星定位模块接口电路设计

ATGM336H是小尺寸的高性能BDS/GNSS全星座定位导航模块。该模块是基于中科微第四代低功耗GNSS SOC单芯片——AT6558,支持多种卫星导航系统,包括中国的北斗卫星导航系统、美国的GPS、俄罗斯的GLONASS、欧盟的GALILEO、日本的 QZSS 以及卫星增强系统 SBAS( WAAS、EGNOS、GAGAN、MSAS)。ATGM336H 模块具有高灵敏度、低功耗、低成本等优势,适用于车载导航、手持定位、可穿戴设备。该模块可联合多种导航系统定位,定位的精度优于单系统独立定位。ATGM336H模块通过串口1按照NMEA0183的协议格式输出定位信息到STM32F411RET6单片机,单片机再按照NMEA0183的协议格式解析并获取定位和授时等信息并使用。

2.3 惯性导航模块电路设计

惯性导航系统是以陀螺仪和加速度计作为敏感器件的导航参数解算系统,能建立导航坐标系、加速度计输出解算出运载体在导航坐标系中的速度和位置。采用板载低功耗ICM20948芯片,内含3轴加速度、3轴陀螺仪和3轴磁力计,并内置数字运动处理引擎,可减少复杂的融合演算数据,减轻处理器的负荷,STM32单片机与ICM20948芯片通过I2C通信就能获取10轴数据:包括加速度、角速度、电子罗盘、海拔高度等。供电范围:3.3V-5V(内部低压差稳压)。

2.4 北斗短报文通信模块电路设计

北斗短报文通信RDSS(Radio Determination Satellite Service)是另一种卫星无线电测定业务,其特点是在完成定位的同时,通过用户应答完成用户位置向外部系统的报告,这是北斗系统的重要特色,即北斗短报文服务功能。当用户按下一键呼救按键时,北斗RDSS通信模块受单片机控制启动,并将接收到单片机送过来的打包和封装好的短报文用户定位信息进行扩频、低中频调制,然后转换成大功率射频信号辐射到北斗卫星上去,再通过北斗卫星转发到地面救援中心,实现报警求救。本设计采用的是一款RD05W3035单模模块,其内部集成了北斗RDSS基带芯片TD1100A、RDSS射频收发芯片DT-A6、5W功放芯片LXK6618等电路,通过外接无源天线,即可实现北斗系统的短报文通信功能。RD05W3035单模模块与STM32单片机之间采用串口2通信。

2.5 4G通信模块电路设计

通信终端采用4G模块通过高速移动网络向管理监控平台传送终端设备的运行状态,从而对终端设备进行实时监控,及时发现问题。4G通信模块的特点是通信速度快、灵活,网络频谱广。在使用时需要插入相应的SIM卡,通过4G移动网络连接。4G模块采用EC200核心板,成本低,支持上行/下行速率为100M/50Mbps,支持UDP、TCP、MQTT等协议,可以接入ONENET、阿里云等云服务器,从而用户可以通过WEB网页端或者手机端查看车辆的相关数据。EC200核心板主要包括SIM卡电路、移动天线电路等,其与单片机之间通过串口3通信。

2.6 OLED液晶显示模块电路设计

OLED显示技术具有自发光、广视角、对比度极高、低功耗,反应速度快等优点,便于安装,广泛应用于工业、军工等行业。通信终端采用0.96寸OLED液晶显示屏,分辨率为128*64,工作电压3.3V-5V,与STM32单片机采用I2C通信。

2.7 按键接口电路设计

通信终端采用独立式按键设计,主要包括两个按键,一个按键用于查看车辆的位置信息、时间,一个按键用于一键紧急求救,利用北斗短报文发送求救信息。

2.8 存储模块接口电路设计

存储模块采用SD存储卡,SD存储卡是一种基于半导体快闪记忆器的新一代存储设备,有体积小、数据传输快、可热插拔等特点,被广泛用于便携式装置上。通信终端采用3.3V Micro SD卡(存储大小<2G)读写模块,通过文件系统及SPI接口驱动程序,STM32可以完成SD卡内的文件进行读写。

3.系统软件设计

3.1 主程序设计

首先对系统初始化(包括初始化延时函数、NVIC配置、串口和液晶屏初始化),启动4G模块、北斗/GPS卫星定位模块和惯导模块,接着检测各个模块信息是否与单片机是否正常连接,如果正常连接,单片机对卫星定位模块和惯导模块信息进行读取、解算并利用卡尔曼滤波算法进行融合处理后,得到用户的位置、时间等定位信息存入指定的结构体变量,通过oled液晶进行信息的显示,查询单片机和4G模块是否通信,如果正常通信,获取SIM卡的序列号,判断模块是否准备就绪(能否上网),如果就绪,则建立UDP连接,注册阿里云,发送地理位置(经度纬度)数据至阿里云服务器(发送数据前先通过阿里云添加4G设备并进行配置)。当遇到紧急情况,用户通过按下一键求救按键,产生外部中断,STM32单片机立刻响应,启动北斗短报文通信,向程序中已设置好的紧急联系人或者紧急救护中心发送带有车辆地理位置的求救短信,从而实现快速准确救援。

3.2 多源组合导航程序设计

3.2.1 北斗/GPS定位程序设计

本系统中采用的北斗/GPS定位模块采用的是ATGM336H芯片,它提供基于NMEA -0183协议(即美国国家海洋电子协会为海用电子设备制定的标准格式)的软件接口和高精度的秒脉冲输出。ATGM336H芯片其内部硬件电路和处理软件通过天线定位后对接收到的卫星信号进行解码和处理,能从中提取并输出两种信号:

(1)时间间隔为 1s 的脉冲信号 1PPS(One Pulse Per Second),该秒脉冲的宽度为 1ms,上升沿与协调世界时(UTC)同步,其精度为UTC±20ns。

(2) TXD1 引脚输出 NMEA -0183 格式的卫星定位信息,更新周期为 1 秒。ATGM336H上电初始化后,缺省输出的NMEA-0183 格式信息包含 12 条专用语句,例如:

$BDGSA,A,3,10,08,13,12,07,,,,,,,,1.6,0.8,1.3*21$GPGSV,3,3,12,27,31,170,29,29,10,038,35,31,38,07 5,28,32,26,226,29*7E $GNRMC,085514.000,A,3413.6358,N,10858.9298,E,0.0 9,0.00,090813,,,A*7C

在上述数据帧中,传送标识符BD、GP分别是当北斗、GPS卫星用于单独位置解算时的定位结果,传送标识符GN 是使用双系统卫星取得的联合位置解算结果。常用的语句是$GNRMC语句。以上述$GNRMC 语句为例,解析的语句的主要内容是:定位时刻:上午 8 点 55 分 14 秒,北纬 34 度 13.6358分,东经 108 度 58.9298 分,对地速度 0.09 节,定位日期:2013年8月9日。从而从接收到的语句中,能得到日期、时间、终端设备所在的地理位置信息。

3.2.2 惯性导航程序设计

惯性导航是利用惯性元件测量运载体本身的加速度,经过积分和运算得到速度和位置,从而达到对运载体导航定位的目的。系统采用的惯性导航核心芯片是ICM20948,它包含的加速度计计算车辆的加速度和倾角,磁力计用于获取车辆的方向信息,陀螺仪测量车辆的角度,进行解算后得到车辆的位置和速度。

3.2.3 多源组合导航程序设计

在多传感器融合定位系统中,采用卡尔曼滤波算法,根据上次定位信息,来估计下一次的定位信息,然后一直递归下去不断地计算出下一次状态的最优估计。程序设计流程:

(1)卡尔曼算法初始化;(2)STM32通过ICM20948芯片采用IIC通信,获取三轴加速度、陀螺仪和磁力计数据,对数据进行处理;(3)进行惯性解算(4)卡尔曼预测更新,判断是否有观测结果,没有输出位置与姿态数据,有则对卡尔曼量测进行更新,再计算后验的位置与姿态数据,并将状态量清零,输出位置与姿态数据。

3.3 北斗短报文程序设计

北斗短报文协议,简称RDSS协议,在2015年前后推出了更加易用完善的2.1协议。RDSS 2.1协议的语句是以美元符号$开始,以英文字符,和*作为分隔符,以回车换行符 作为结束。RDSS 2.1协议的收发信息指令一般使用混合编码模式和代码编码模式。用户使用北斗短报文发送信息时,内容既可以是英文数字,也可以是汉字,还可以是16进制数。北斗2代最多可以发送78个进制数/英文/数字,或者39个汉字。

当单片机检测到有键按下时,系统会启动北斗短报文通信,程序设计流程如下:

(1)单片机通过串口2往北斗短报文(RD)模块发送语句:$CCICA,0,00*7B ,读取北斗卡号,等待RD模块回复给单片机,如果没有检测到北斗卡,则RD模块回复的语句是:$BDICI,0000000,00000000,0000000,0,0,0,N,0*0B,如果检测到北斗卡,回复的是北斗卡号。

(2)读取信号状态,单片机往R D 模块发送语句:$CCRMO,BSI,2,0*26 ,如果RD模块回复的波速中有一个波速为4则表示信号较好,可以用于申请定位和发送消息。

(3)申请定位,由于RDSS定位属于有源定位,精度只有100米。而卫星的无源定位精度一般是5米内。所以采用北斗/GPS卫星定位。发送语句:$CCDWA,0000000,V,1,L,,0,,,0*65 ,RD模块会回复单片机指令是否成功执行,并回复定位信息给RD模块,然后RD模块输出语句给单片机。

(4)发送信息,一般使用混合编码模式和代码编码模式。以混合编码模式为例,电文首字母固定为“A4”,按照先后顺序将每个字符转换成16进制数大写。英文用一个字节表示,汉字用两个字节表示。英文采用的是ASCII码,中文采用的是GB2312区位码编码。在程序中提前设置好要发送信息“help北斗”:发送语句:$CCTXA,0242286,1,2,A468656C70B1B1B6B 7*7F,RD模块会回复单片机指令是否成功执行,再发送当前的位置信息。

3.4 4G无线通信程序设计

4G无线通信主要采用AT指令,与阿里云服务器采用MQTT协议通信,具体程序设计流程如下:

(1)当4G模块启动初始化以后,先通过串口发送AT命令,与阿里云物联网平台建立连接。

(2)当发送命令成功后,则可以发送JSON数据:构建好JSON数据,包括JSON的总长度、格式、需要发送的JSON数据,包括地理位置(经度、纬度、海拔及坐标系),换算成度分秒格式(阿里云上传数据格式),然后通过串口发送JSON数据到阿里云,延时一段时间,发送结束符。

论文研究了基于北斗/GPS/惯性导航的多源组合导航智能通信终端的设计与实现。通过多源组合导航,使得通信终端可利用的卫星数目显著增加,卫星几何分布更加合理,系统的可靠性,安全性能等都得到了提升。尤其在各种恶劣条件(如地下停车场、隧道)提高了导航系统的可用性。智能通信终端基于STM32搭建了定位导航、4G通信、北斗短报文等硬件模块,通过软件设计、系统调试,确保各硬件电路协同工作,实现了精准授时、定位导航和无线通信功能。

猜你喜欢
定位导航报文语句
基于J1939 协议多包报文的时序研究及应用
基于梯度下降和角点检测的玉米根茎定位导航线提取方法
以太网QoS技术研究及实践
校园智能车定位导航系统设计与实现
浅析反驳类报文要点
一种基于FPGA的网络串口管理系统的设计
掌游西塘APP设计与实现
情感造物:技术+场景
我喜欢
冠词缺失与中介语句法损伤研究