基于 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)纬度(度分)格式:25°16.83700’’;
(4)纬度半球N(北半球)或者S(南半球):北纬;
(5)经度(度分)格式: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。
发布评论