基于ARM的车辆位置监控系统设计与实现
2017-06-05董简然封维忠
董简然,封维忠
(南京林业大学 信息科学技术学院,江苏 南京 210037)
基于ARM的车辆位置监控系统设计与实现
董简然,封维忠
(南京林业大学 信息科学技术学院,江苏 南京 210037)
设计一款依靠准确的数据定位配合通信技术及电子地图的车辆位置监控系统,用来实现车辆和监控中心信息交互,提高交通运行效率和改善交通拥挤现象。利用微处理器ARM@ CortexTM-M3处理GPS接收到的卫星信号,通过GPRS模块将运算和整理后的数据发送到互联网,上位机根据程序接收互联网上的数据调用谷歌地图实时显示车辆位置信息。借助此系统能够直观且方便对车辆位置分析和管理调度,达到监控的目的。
STM32;硬件设计;软件设计;车辆监控系统
0 引 言
目前我国正处在经济飞速增长的阶段,除了工程车辆的管理调度问题,如火如荼的物流行业的快速、可靠、稳定运送效率,以及出租车存在着很大的空客率,究其原因是缺少对物流车辆和乘客车辆合理科学的监控和调度。如何对车辆进行有效的管理、科学的调度、安全的运营成为解决当前紧张交通局势的首要问题。GPS全球定位系统的建立以及我国通讯事业的迅猛发展为广大用户提供了廉价的定位手段,促进了车辆监控与调度系统的发展。
1 系统设计
GPS定位技术使车辆位置监控中的实时数据跟踪成为可能,通信技术则在GIS软件平台和GPS之间建立起了一座数据通信的桥梁,实现远程通信。本文设计的车辆位置监控系统如图1所示。
图1 系统总体框架
2 硬件电路设计
本文设计的车辆位置监控系统所涉及到的硬件部分主要包括ARM@ CortexTM-M3微处理器,GPS模块电路,GPRS模块电路等。硬件总体思路如下:先设计STM32F103ZET6硬件电路,再设计处理单元与传感器的外围电路[1]。搭建这些硬件电路,分步骤调试测量。
2.1 STM32F103ZET6硬件电路设计
STM32F103ZET6使用高性能的ARM@ CortexTM-M3,32位的RISC内核,工作频率为36 MHz,内置高速存储器(高达128K字节的闪和16K存字节的SRAM),丰富地增强I/O端口和连接到两条APB总线的外设,包含标准的通信接口(2个I2C接口、2个SPI接口和3个USART接口),一个12位ADC和3个通用16位定时器。
ARM@ CortexTM-M3处理器为实现MCU的需要提供了低成本平台,降低系统功耗,同时提供卓越的计算性能和先进中断系统响应。STM32F103ZET6内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个CortexTM-M3的中断线)和16个优先级,该模块以最小的中断延迟提供灵活中断管理功能。外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。USART1接口通信速率可达2.25兆位/秒。USART接口具有硬件的CTS和RTS信号管理、支持IrDA SIR ENDEC传输编解码、兼容ISO7816的智能卡并提供LIN主/从功能。所有USART接口都可以使用DMA操作。
STM32F103ZET6工作于-40℃至+85℃温度范围,供电电压为2.0V至3.6V,省电模式保证低功耗的要求。该芯片能够有效且稳定地满足硬件系统的要求。
2.2 外围电路设计
由于传感器模块输出的电平是RS232电平,而ARM处理器采用的是TTL电平。RS232电平逻辑1的为-3~-15V,逻辑0的为+3~+15V,TTL器件输出是低电平小于0.8V,高电平大于2.4V. 输入低于1.2V是逻辑0,高于2.0V是逻辑1.故而这里需要采用电平转换步骤,将RS232电平转换成TTL电平,否则会损坏器件。
图2 电平转换电路设计
本文采用MAXIM公司生产的MAX232芯片,该为RS-232标准串口专门设计的一款单电源电平转换芯片,它使用+5V电源供电。设计电路如图2所示[1]。
3 系统软件设计
3.1 车辆位置监控系统的软件设计
本文采用STM32F103ZET6单片机作为系统控制的核心,用于实现接收数据,处理计算以及发送数据的主要功能,控制着整个系统各模块的正常运行;系统电源为微控制器、外部传感器及通信模块提供电源;外部时钟为微控制器提供RTC和系统时钟;SRAM用来存储 GPS 原始数据;外部传感器和通信模块的电源控制模块用于微控制器实现对外部传感器和通信模块的电源控制;系统复位用于系统工作异常时系统强制产生复位信号;电平转换、外部传感器及通信接口实现ARM微控制器与外围设备的正常通信。
其中系统软件设计流程如图3所示。
图3 统软件设计流程
另外,GPS模块出来的数据并不能直接使用,需要把时间,经纬度,经纬度方向,卫星数量等信息提取出来,将ASCII转换成十进制格式数据,将度分的格式转换成度的形式,最终通过GPRS模块发送出去。
3.2 车辆监控系统上位机软件设计
前文主要讲了车辆位置监控系统的软硬件部分,总体调试通过测试。GPRS模块发送的数据最终到达指定IP地址的上位机[2]。接下来的部分就是要编写接收程序[3],接收数据并嵌套谷歌地图,使车辆的位置在地图上实时显示并标志。
上位机的软件是采用VC++工具[3]编写的MFC界面设计[4],首先通过异步套接字程序接收数据并作相应的处理[2],接着调用Google Earth提供的API函数,程序自动打开地图,显示车辆的位置等信息,每隔一段时间刷新一次,重新显示车辆具体位置[5],如图4所示。
图4 上位机设计总体思路
因为车辆位置监控系统的发送数据采用的UDP方式,所以在PC机界面设计中,依旧采用了UDP方式接收数据,该方法没有确认和数据重传机制,实时性较TCP强,适用于小数据量的传输[2]。
本程序先通过IsInitialized()和IsOnline()进行判断,用户是否启动了客户端并连接上Google Earth的服务器,如果未启动和连接,则调用COM库的函数CreateDispatch()创建Google Earth,如图5所示,客户端的实例如图6所示[5],除了这些之外,还有标记车辆位置的函数,因为车辆定位是直接显示在客户端的中心位置,然后利用标记函数根据接收数据标记。
图5 客户端启动流程
图6 客户端实例
4 实验测试
设计过程中采用自下而上的方法,从单个模块开始,分别设计其软硬件,完成后进行调试,单个调试通过再将系统组装进行总的调试,最终,系统软硬件工作良好,上位机接收数据正常,车辆位置监控正常,符合系统设计的要求。
系统性能进行试验测试,系统的实验数据如表1所示,其中,测试地点为学校的各个地点,监控位置值为所设计系统中上位机接收并显示在谷歌地图上的地理位置,实际值为通过Magellan Triton 300所得到的实际地理位置。
Magellan Triton 300是具有高灵敏度天线的手持GPS,内置信号增强接收器(WAAS、EGNOS)可达到3 m精度,稳定可靠可以作为实际地理位置的检验标准。
表1 系统测试实验数据
最终测试,本系统接收数据正常,定位正常,在地图上会自动标示出车辆的位置,并每隔一段时间重新接收数据刷新位置。
5 结束语
以STM32作为处理器即整个系统的控制部分,利用GPS模块接收卫星传来的位置、时间等信息,用GPRS作为数据传输部分,将数据传送到指定IP的上位机上[2],采用异步套接字的方法编写程序[3]接收数据,并在程序中嵌套谷歌地图[5],最终数据转换成能在谷歌地图显示的格式。实现实时车辆位置监控,能够有效针对整个公路系统的车流量进行优化以增加交通容量,提高车辆的运行安全系数,改善传统的交通运输状况。
[1] 张伟.Protel电路板设计与制作实战训练[M].北京:人民邮电出版社,2004.
[2] SCAGLIA S.嵌入式Internet TCP/IP基础、实现及应用[M].北京:北京航天航空大学出版社,2008.
[3] 孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.
[4] PROSISE J.MFC Windows程序设计[M].北京:清华大学出版社,2007.
[5] 江宽,龚小鹏.Google API开发详解[M].北京:电子工业出版社,2010.
[6] 武建军.基于GPS和GPRS的车辆位置研究[D].南京:南京林业大学,2010.
[7] 张烁,徐爱功,孙贵博.基于移动GIS的GPS定位导航系统的设计与实现[J].北京:计算机系统应用,2010,19(7):32-36.
Design and Implemetation on ARM Based Vehicle Location Monitoring System
DONG Jianran,FENG Weizhong
(CollegeofInformationScienceandTechnology,NanjingForestryUniversity,Nanjing210037,China)
Design a monitoring system to rely on accurate data positioning, which cooperate with communication technology and electronic map to achieve vehicle and monitoring center information interaction,increasing the traffic efficiency and improving the traffic congestion.Using the microprocessor ARM@ CortexTM-M3 processing the satellite signal from GPS,calculating and arranging the data through GPRS module send to internet,the host computer according to program to receive the data of internet then called Google maps show the information of vehicle location in real time.With the help of the system,which can be used to analyze and manage the vehicle position in direct and convenient way.
STM32; hardware design; software design; vehicle monitoring system
10.13442/j.gnss.1008-9268.2017.02.014
2016-10-10
TP391
A
1008-9268(2017)02-0063-04
董简然 (1993-),男,贵州遵义人,硕士生,研究方向为自动控制系统的研究与开发。
封维忠 (1950-),男,江苏南京人,教授,研究方向为计算机测控技术。
联系人: 董简然E-mail: 1956610836@qq.com