贵州大学电气工程学院 黄忠情 陈进军
车载控制系统GPRS数据采集终端的设计
贵州大学电气工程学院 黄忠情 陈进军
【摘要】基于车载控制系统终端的设计是通过ARM芯片STM32F103RBT6和SIM908模块,设计了一种适合控制系统的硬件电路和软件程序。sim908模块采集GPS信息,数据采集模块将采集到的信息通过GPRS技术,将所需要的数据发送到监控服务器,实现了对GPS数据的远程监控和实时采集,车载控制系统运行正常,具有较高的稳定性和可靠性[1]。
【关键词】车载终端;STM32;GPRS技术
目前,随着GPRS技术在移动通信领域中的发展,通过运用GPRS网络平台,远程实时监控车辆的各种运行状态已经成为一种趋势。在运营的各种汽车或出租车上,通过安装GPS/GPRS模块来实时监控车辆的运行状态以及驾驶员是否存在违规等,能够更加方便了解车辆的各种实时状态,从而促进有关部门进行有效的监控和管理,进而大大的减少运营成本[2]。
系统硬件设计主要包含STM32控制模块,RS232串行接口模块,SIM908模块。下面分别来对其进行相关介绍。
2.1STM32控制模块
控制系统的设计采用了意法半导体公司的STM32F103RBT6微控制器,是ARM32位Cortex-M3 CPU,最高工作频率72MHz,片上集成32-512KB的Flash存储器,2.0-3.6V的电源供电和I/O接口的驱动电压,POR、PDR和可编程的电压探测器,具有3种低功耗模式:休眠、停止、待机模式。支持SPI,IIC和UART等外设,支持串行调试(SWD)和JTAG接口。系统采用Jlink通过JTAG接口调试。
2.2RS-232串行接口模块
RS-232是PC机与通信工业中应用最广泛的一种串行接口[3],RS-232串行接口主要用于连接PC机和STM32微控制器的串口,实现二者之间的数据通信。
RS-232-C总线标准设有25条信号线,串口传输数据时,只要有接收数据针脚和发送针脚就能实现,同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连。串口进行调试时,不要带电插拔串口,插拔时至少有一端是断电的,否则串口易损坏。
2.3SIM908模块
SIM908模块集成了GPS导航技术,它封装了GPRS和GPS,其模块尺寸紧凑,为满足不同用户实现内嵌GPS的应用,节省了很多的开发时间和不少的费用。其工业级的标准接口和GPS功能,只要是在有GSM和GPS信号覆盖的地方,它都能够追踪到[4]。
2.4系统硬件的连接
根据STM32控制模块、RS232串行接口模块、SIM908模块这三个模块以及PC机之间数据通信的联系,设计了如图1所示的硬件电路图。
系统硬件连接的说明:
STM32控制模块的串口2和串口3连接到了SIM908 的SIM908模块的GSM_TX、GSM_RX和GPS_TX、GPS_RX。STM32控制模块的串口2用来发送AT指令来控制SIM908进行GPS数据的采集和GPRS数据的发送,串口3用来接收SIM908模块的返回GPS数据。
SIM908模块的SIM_DATE、SIM_RST、SIM_CLK、SIM_VDD连接到SIM卡对应端口(由于用的是GSM网路,只支持中国移动的SIM卡),用于接收SIM卡从移动基站接收的信息。
RS-232不能和TTL电平直接相连,使用时必须进行电平转换,让计算机终端能够正常接收和显示串口的数据。
系统的软件设计主要分为以下几个部分:GPS采集信息部分、GPRS发送数据部分和上位机数据的显示部分。
3.1GPS采集模块
基于GPS的车辆导航的工作原理是先在运行的车辆上安装GPS接收机以确定车辆得大致位置[5]。车队管理系统中的每辆车的位置被发送到远程计算机,允许集中式实体以维护每辆车的数据库,车辆也被直观的表示在数字地图上。大多数GPS接收器还配备了手机短信和语言服务,从而使得车辆之间以及车辆和中央机构之间能够沟通。卫星导航能够及时告知交通阻塞情况,有助于增加道路的使用率。如果所有的车辆都配有导航卫星接收机和数据传输机,每隔几秒他们的位置可以自动传向中心站。然后该信息可以以多种方式控制道路的使用。例如它可以向进入道路的司机收费,以限制车辆进入拥挤的道路从而缓解拥堵,或通知司机道路交通状况,并提出替代方案或给出状况良好的道路选择。
GPS数据模块的采集程序(部分程序代码):
GSM_RST=0;//启动GSM模块
while(!Hand(“SIM900”))//与GSM模块握手,判断是否收到GSM模块返回的OK
{Uart2SendStr(“ATI ”);//打开回显命令
delay_s(1);}
…
while(!(Hand(“Location 2D Fix”)||Hand(“Location 3D Fix”)))//检测是否以注册到服务商
{Uart2SendStr(“AT+CGPSSTATUS? ”);//查询GPS状态
delay_s(5);}
Uart2SendStr(“ATE0 ”);//配置GPS输出信息
delay_s(2);
LED3_ON;
图1 系统硬件电路图
3.2GPRS协议简介
GPRS是通用分组无线业务的简称,它打破了GSM网络传统的思维方式,不仅仅只是依靠电路交换,而且还通过增加相应的功能,对目前的基站系统进行升级改造,从而实现另一种交换方式分组交换,这种改造所投入的消费并不是很大,但是用户的数据率却大大的得到了改观[6]。
GPRS依靠全球手机系统(GSM)为基础,可以说是GSM延续的一种数据传输技术。在原有GSM系统的基础上搭建GPRS系统时,GSM系统中的绝大部分硬件都不需要改动,只需要升级软件就可以了。GPRS还有一个特点,就是其传输速率可提升至56甚至114Kbps。针对不同的无线网络环境,GPRS系统可以根据特定的算法选择合适的编码方案,具有良好的自适应能力。
GPRS发送采集到的GPS定位信息和车载油耗、速度等信息。由STM32发送AT指令控制SIM908模块发送到服务器。
GPS和车载燃料控制系统数据、ECU信息的通过GPRS的传输程序(部分程序代码):
{CleanGsmRcv();//清除接收缓存
if(!Hand("CONNECT OK"))
{while(!(Hand("CONNECT OK") || Hand("ALREADY CONNECT")))
{Uart2SendStr(“AT+CIPSTART=”TCP”,”222.85.149.3”,8080 ”);//连接对应的域名的端口}}
Uart2SendStr(“AT+CIPSEND ”);//用GPRS发送数据
…
Uart1SendStr(ecu);
Uart2SendHex(0x1a);//以0x1a结束
delay_s(2);}
图2 上位机VB界面接收到的数据
3.3上位机对数据的接收和显示
上位机的接收采用的VB6.0软件设计的接收界面,利用传输到上位机的数据出发MsComm控件的OnComm事件来实现车载燃料控制系统数据、ECU信息和车辆位置信息的实时上传和显示。上位机收到的数据如图2所示。
由图2中可以看出上位机的VB界面正确的实时显示了通过GPRS发送的当前GPS定位的经纬度信息和车载燃油能耗等信息,验证了车载GPRS系统的可靠性和数据的实时性。
参考文献
[1]孟晨兴,王玲利.基于GPRS的车载控制器远程监控系统[J].汽车实用技术,2012(10):8-10.
[2]王文萃.65044部队车辆位置监控系统设计与实现[D].大连理工大学,2014.
[3]张志利.基于RS232协议的单片机多机通信网络研究[J].2009(4):54-55.
[4]马梅,周惠忠,刘腾,杨永广.基于STM32的物流监测系统[J].制造业自动化,2014(18):97-100.
[5]徐爱华,杨丽峰,王健.GPS卫星导航系统应用与检测技术的发展[J].中国水运,2011(9):63-65.
[6]张杰琼,郭智辉.GPRS技术与城市热网监控系统的关系[J].科技展望,2014(7):52.
黄忠情,贵州大学电气工程学院研究生,研究方向:传感器技术。
陈进军,贵州大学电气工程学院教授,研究方向:传感器技术。
作者简介: