基于STM32的北斗车载终端的设计与实现论文_贾岩岩

摘要:为了改善不断频发的交通拥堵现象,促进车辆管理的科学化和信息化。本文以STM32处理器设计了一种基于北斗的车载定位终端。利用北斗引擎模块M-9533实现了导航信息的获取,以GPRS网络为主,短消息为辅进行无线数据的传输。实验证明,该终端设计定位数据更加精确可靠,且实时性好,具有一定的实用性。

关键词:STM32,北斗卫星定位,GPRS,短消息

0引言

作为智能交通管理中一项重要的组成部分,车辆监控系统集合了定位技术、地理信息系统技术、通信技术及数据库技术等多项技术于一体,大大提高了交通运输管理水平[1],越来越得到交通运输和安全管理部门的关注,并逐渐发展成为了交通管理领域中一个重要的研究方向。尤其是在当下恐怖事件有所增加的时段,长途客车等公共交通安全问题[2]日益突出。因此,进行车辆监控系统的研究有着广泛的工程应用价值及社会经济效益。车辆终端是车辆监控系统的核心部分,本文从硬件、软件[3]两个方面介绍了车载终端[4]的设计,监控平台部分限于篇幅原因未做详细介绍。

1车辆终端系统总体设计

车载定位终端系统利用车载终端收集车辆的坐标、状态及车辆的其他有用信息,通过GPRS无线通信网络实现车辆和监控中心之间数据和控制命令的传输,达到在一定范围内对车辆进行远程实时监控的各项功能。系统构架图如图1所示。

图1 车载终端系统

车载终端安装在车辆上,主控模块通过串口接收北斗引擎模块的定位信息,并且按照协议规定的格式解析出经度、纬度、速度、方向、时间等有用的信息。待主控模块完成车辆定位等状态的采集、处理后,按照预定的通信协议将数据进行格式转换和打包;最后再通过GPRS通信模块利用TCP/IP协议将打包好的车辆信息数据上传到监控中心。无法连接网络时,也可通过短消息的方式获取定位信息。

2硬件设计部分

车载终端硬件部分主要包括MCU、北斗引擎模块、GPRS模块、电源设计构成。硬件整体设计框图如图2所示。

图2 硬件整体设计框图

2.1微处理器

本设计的MCU采用意法公司生产的STM32系列芯片STM32105RCT6,该芯片是基于ARM Cortex-M3内核的32位嵌入式微处理器,工作时最高频率可达72MHz,内置256K的Flash和64K的SRAM高速存储器,无需使用专门的外部Flash或ROM来固化代码。电压范围为2.0~3.6V,可外接3~25M晶振,自带内部RC,用于RTC的32KHz晶振;具有睡眠、停机和待机模式用于低功耗管理,突然掉电时可使用备用电池为RTC和备用寄存器供电,丰富的GPIO端口,多达10个待用引脚重映射功能的定时器,12通道DMA控制器,支持TIMER

、ADC、I2C、SPI、USART,是一款具有极丰富片内外设的适合低成本、低功耗系统设计的一款微处理器。

2.2北斗引擎模块

北斗引擎模块用于接收北斗卫星信号,通过串口向主控制器发送车载终端所在位置的定位坐标等信息;主控制器也可以通过向北斗引擎模块发送配置命令来控制北斗引擎模块的状态和工作方式。本车载终端采用的M-9533芯片,是一种超微型、低功耗设计的GPS/BD双模可选性定位模块,其优越的灵敏度和抗干扰能力强等特点,使其广泛应用于手机、汽车定位导航等重要科技领域。

本文中,北斗引擎模块M-9533输出的NMEA格式“$BDGGA”语句如下:

$BDRMC,034234.00,A,2516.83700,N,11019.85766,E,2.040,183.93,220919,,,A*70

(1)定位UTC(格林威治)时间:03:42:34:00

(2)定位状态(A=有效定位,V=无效定位):此条定位数据有效;

(3)纬度ddmm.mmmmm(度分)格式:25°16.83700’’;

(4)纬度半球N(北半球)或者S(南半球):北纬;

(5)经度ddmm.mmmmm(度分)格式:110°19.85766’’;

(6)经度半球E(东经)或者W(西经):东经;

(7)地面速度:2.040m/s;

(8)方位角(000.0~359.9°):方位角为183.93°;

(9)UTC日期,ddmmyy格式:2019-09-22;

(10)地磁变化(000.0~180.0°):此数据段信息为空;

(11)地磁变化方向,为(东)E或者W(西):此数据段信息为空;

(12)模式指示(A=自主定位,D=差分,E=估算,N=数据无效):自主定位。

由分析可知,从“$BDRMC”语句中提取相应的经纬度、时间、速度、方向角等信息;从“$BDGGA”语句中第九个数据段提取出6字节的海拔高度信息。这样,就提取了对车载终端定位所需的全部信息。

2.3GPRS通信模块

GPRS通信模块采用的是上海移远公司生产的M35模块,该模块是四频段GSM/GPRS模块,性能稳定,体积小,采用短信及GPRS无线数据通信进行用户--终端--服务器之间数据交互。M35内嵌完整的TCP/IP协议栈,用户可以避开较为复杂的网络协议层开发,只要对M35进行科学的参数配置,即可实现STM32与监控中心数据库之间的完整数据传输。

2.4电源模块

电源模块用于给车载终端上的所有电子元器件提供适合的工作电压。本终端采用的LM2576电源芯片属于降压型开关稳压器芯片,具有很小的电压调整率以及电流调整率。LM2576具备3A的负载驱动,可以输出3.3V、5V、12V、15V的固定电压及可调电压输出模式。LM2576在应用中比较简单而且外围器件少,内置频率补偿电流和固定频率振荡器。开关频率为52KHz,降低了滤波元件的尺寸。LM2576能够取代一般的三端线性稳压器,充分减小散热片的面积,甚至在一定应用条件下可以采取不要散热片的设计。在规定的电压和输出负载条件下,LM2576输出电压的误差范围是±4%;振荡器的震荡频率误差范围是±10%;典型的待机电流为50μA,芯片内置过流保护电路和过热保护电路。

3软件设计部分

系统软件部分设计主要包括各子模块的初始化、北斗引擎模块的定位信息提取以及GPRS的配置与无线数据收发等。软件设计开发环境采用ST公司出品的开发软件KEIL-MDK4。

3.1北斗定位数据接收、解析

当车载终端处于正常工作状态,主处理器STM32就会连续不断地收到北斗引擎模块通过串口发送来的定位导航信息,其中以“$BDRMC”和“$BDGGA”开头并以“*”为结尾的语句是包含我们所需要信息的有用字段,只有按照协议格式进行接收和解析,才能对其加以利用。

主控制器使用串口3中断函数来接受整段数据,再判断是否是所需的语句,是的话继续接收,不是的话进行丢弃。接收流程如图6所示。

为了避免缓存读写冲突产生,当接收完两个有效语句,置标志位有效,再进行语句解析,对” $BDRMC”语句的解析如图7所示,对“$BDGGA”语句的解析类似,不再重复。

图3 北斗定位数据接收程序 图4 北斗定位数据解析

3.2 GPRS模块软件设计

在系统正常工作中,监控中心服务器具有固定IP地址,车载终端通过发送相应的AT命令(包括公网IP地址)主动与服务器建立连接,建立TCP成功后才能进行相关数据的传输。

(1)模块启动。主控制器通过控制GPRS模块的PWRKEY引脚使M35开机。

(2)串口配置M35。模块启动后,对连接M35的串口3进行相应参数的配置,如波特率、帧格式、流量控制、建立TCP连接等。

(3)向监控中心发送北斗位置信息数据。以上配置操作完成后,M35就可以通过AT+QISEND命令发送位置信息数据了,位置信息的数据帧格式如表1所示。

数据帧中数据头、车载终端ID号、时间信息为16进制,其余字节的数据均是ASCII码格式。数据头用于表明该组传输数据的功能及长度,占用6个字节。数据头的前面两个字节分别为“0x80”和“0x02”,表示该帧数据用于北斗定位;后四个字节“00 00 00 0x49”,用于表示该帧数据长度为73个字节。

4.结束语

该车辆终端系统采用GPRS网络的数据传输功能,对北斗定位数据进行实时上传,可以较好地完成终端位置定位、与监控中心实时通讯等功能。实际应用效果显示,车载终端装置上电以后,配置公网IP、打开监控中心平台、初始化完成后,收到车载定位终端发来的有效定位数据以及心跳包,传输稳定,可用于二次开发。

[1]伍耀常;赵利;王阳明;基于WiFi组网的通用智能车载终端设计[J].桂林电子科技大学学报,2016,05:401-405

[2]刘军辉;陈宏滨;基于FMCW雷达测距的车辆防碰撞系统[J].桂林电子科技大学学报,2016,05:349-354

[3]凌涛;基于北斗Ⅱ/GPS车载定位终端的研究与实现[J].电脑知识与技术,2017,16:190-192

[4]赵亮;刘皓;王伟强;汪传建;基于北斗/GPS和GPRS的车载定位终端的研究与实现[J].石河子大学学报(自然科学版),2015,03:391-396

论文作者:贾岩岩

论文发表刊物:《科学与技术》2019年第20期

论文发表时间:2020/4/28

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于STM32的北斗车载终端的设计与实现论文_贾岩岩
下载Doc文档

猜你喜欢