文献标识码: A
文章编号: 0258-7998(2014)07-0021-03
近些年,汽车工业已发展成国家支柱性产业,同时在国家经济发展战略中具有十分重要的地位。据美国公路统计局统计,2001~2007年美国每年发生汽车侧翻事故高达29 800起,仅次于正面碰撞的行车事故。汽车侧翻[1]主要由汽车侧向加速度和侧倾角决定。随着用于汽车电子和汽车状态监测的MEMS传感器技术的发展,可以对其进行监测,提高其主动安全性能。本文设计的车载通信系统有3大创新点:(1)基于MEMS传感器预测汽车状态,在汽车侧翻后实现自动求援,按一下主控界面的求救按钮,求救短信(包括车辆的位置)会自动发送给急救中心,从而实现第一时间救援的目的。(2)通过GPS进行车辆导航,向信息数据中心传输车辆的经度、纬度、速度等实时的车辆信息,这样可以实时地追踪车辆的信息,便于车辆的调控,最后实现智能交通的最终目标。(3)车载通信系统可以集电话和短信功能为一体,运用时和手机一样进行拨号,即可与外界实现交流。
1 车载嵌入式平台的硬件
整个车载嵌入式平台的硬件可以包括几个部分:(1)采集汽车6自由度运动数据的数据采集模块;(2)车载嵌入式平台的主控制器;(3)负责远程通信、汽车地理位置定位的GSM/GPRS/GPS模块。其硬件搭建的原理框图如图1所示。
1.1 Windows CE 6.0操作系统
Windows CE具有快速的开发能力,与Linux等嵌入式系统相比,Windows CE系统具有开发周期短、开发人员上手快的特点。Windows CE具有强大的开发基础,提供了众多的模块化组件,为开发者开发性能可靠、功能各异的多样化、个性化产品提供了方便[2]。
1.2 主控制器S3C6410
基于嵌入式的车载通信系统需要存储大量汽车运行的数据,实现GSM/GPRS通信、串口通信、界面显示等功能。本文选择三星公司的S3C6410芯片,它是具有ARM1176JZF-S处理器一切特性的嵌入式处理器芯片,为需要大量数据存储的嵌入式系统设计提供了众多选择。此外,它还具有多媒体加速特性和USB特性。
1.3 车辆姿态测量模块设计
为了减轻嵌入式系统的负担,这里专门开发了10自由度的运动参数测量和姿态解算模块(IMU)。该IMU模块上布置了3个MEMS传感器芯片:MPU6050(测量汽车6个自由度的运动)、HMC5883(三轴地磁传感器),BMP180(气压高度传感器),均通过I2C与STM32F单片机相连,同时传感器的数据中断引脚与STM32F的IO引脚相连。使得传感器完成一轮ADC轮换后,STM32F就读取最新采集到的测量数据,快速响应姿态的变化。这样的连接使得控制器拥有最大的主动权,可快速地获得各传感器的状态和转化结果。
1.4 SIM908
本文选择SIM Com公司的SIM908芯片作为GSM/GPRS通信模块以及GPS定位模块。此芯片融合了GSM/GPRS通信和GPS定位功能,简化了硬件设计,并节省了空间和功耗。
2 车载嵌入式平台的软件实现
在基于汽车主动安全的车载嵌入式平台硬件的设计基础上,进行平台的程序设计。平台软件设计包括三方面:(1)侧翻预警系统的软件设计;(2)串口通信的设计;(3)GSM/GPRS/GPS通信设计。其程序的总体设计流程图如图2所示。
2.1 汽侧翻预警程序设计流程图
侧翻预警算法的软件实现主要包括两方面:(1)利用汽车6自由度数据进行姿态结算,得到汽车的实时侧倾角,并计算出汽车侧翻预警危险判别指示;(2)利用预测预报技术对侧翻危险判别指示进行预测预报,从而实现汽车侧翻预警[3]。其软件实现流程图如图3所示。
预测预报算法的核心程序如下:
float
I[36]={1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0, 0,0,0,0,1};
Cheng(PN,QN,K,6,6,1);
float QNP[6]={0};Cheng(QN,PN,QNP,1,6,6); float QPQ[1]={0};
Cheng(QNP,QN,QPQ,1,6,1);QPQ[0]=QPQ[0]+1;
float K1[6]={0};constcheng(K,1/QPQ[0],K1,6);constcheng(K1,1,K,6);//更新PN
float P1[36]={0};Cheng(K,QN,P1,6,1,6);constcheng(P1,-1,P1,36);jiafa(P1,I,P1,36);
float P2[36]={0};Cheng(P1,PN,P2,6,6,6);constcheng(P2,1,PN,36);
for(int i=5;i>0;i--)
{ QN[i]=QN[i-1];}
QN[0]=-x;
//更新an
float e[6];constcheng(K,x-xforecast,e,6);jiafa(an,e,an,6);
2.2 串口通信设计
数据采集模块以及无线通信、GPS定位模块之间的通信为串口通信。因此,实现在Windows Embedded CE 6.0系统下的串口通信至关重要。本文在Visual Studio 2005中选择采用串口API函数进行Windows Embedded CE 6.0系统下的串口通信程序设计。在Windows Embedded CE 6.0中一般采用Close Handle来关闭串口,Create File函数来打开串口。对于串口数据的读取,本文采用Read File函数,并采用事件触发形式来触发数据读取。
2.3 GSM/GPRS/GPS通信设计
2.3.1 GSM通信
通过GSM模块进行短信息的发送与接收是利用AT指令来实现的。主控制器通过串口向GSM模块发生相应的AT命令[4],就可操纵模块进行相应的功能实现。AT 指令是以 AT 开头、以字符结束的字符串,AT 指令的响应数据包在中间。每个指令执行成功与否都有相应的返回。AT命令需以AT开头,加上相应命令,并以回车符号结束。
GSM通信程序过程为:先进行GSM系统的初始化,包括短信息格式、短信服务中心号码设置等;然后检测网络信号强度,有信号时才进行短消息的发生和接收。GSM通信流程图如图4所示。
首先进行系统初始化,首先是负责GSM通信的串口初始化,即打开相应串口,设置串口波特率、校验位、数据位、停止位,这里设置成115 200 b/s,无校验位,8 bit数据位、1位停止位。然后是GSM芯片初始化,GSM初始化步骤为:首先通过串口发送"AT"字符,确定模块是否存在,如果GSM芯片返回OK则模块存在;接着发送字符"AT+CLIP=1",此命令用来设置来电显示,以方便驾驶员使用系统电话功能;然后发送"AT+CMGF=0",此命令用来设置短信格式为PDU格式,此格式短信字符为UNICODE格式字符,可发送中文短信息;成功后,紧接着依次发送命令"AT+CGPSPWR=1"以及命令"AT+CGPSRST=1",这两个命令用来打开GPS定位功能,此命令发送后,GPS冷启动一般需要4~5 min时间。系统初始化后,利用命令“AT+CSQ”检测GSM信号是否正常。信号正常则可使用短信功能和电话功能。
2.3.2 GPRS的数据传输设计
GPRS通用无线分组业务俗称2.5G业务,是利用当前GSM网络进行数据无线分组传输处理。GPRS可实现无线设备通过GPRS网络与Internet网络进行IP连接,利用GPRS无线网络实现车载终端与远程控制中心或服务中心的无线通信,可将行车数据通过网络无线传输到中心,以减少车载终端的存储压力。Internet网络通信一般有两种方式,即UDP方式和TCP/IP方式。UDP方式通信不需对方回复确认,因此实时性强,但不能保证数据的完整性;TCP/IP方式通信时,每次数据传输需对方确认接收完整后才进行下一次数据传输,因此实时性较弱,但其能保证数据的完整性。在控制中心或服务中心实现基于Internet网络的通信时,为保证通信质量以及数据完整性,一般采用TCP/IP方式通信。车载通信终端利用GPRS网络与Internet网络连接,然后通过TCP/IP协议与控制中心或服务中心进行数据通信。本文所选的SIM908-C模块内置融合了TCP/IP协议[5]。所以,利用SIM908-C模块进行GPRS数据传输设计,同样也可以通过AT指令来实现。
2.3.3 GPS导航解析
SIM908中GPS模块输出的GPS定位信息符合NMEA通信标准,其输出信号格式为ASCII格式的数据,其中包含了时间、经度、纬度、数度、航向、高度和卫星数量等信息[6]。模块输出7种不同的定位信息,包括:$GPGGA、$GPGLL、$GPGSA、$GPGSV、$GPRMC、$GPVTG和$GPZDA。可通过命令AT+CGPSINF来设置信息的输出类型。
本文单独开辟一个线程用作GPS信号接收和解析。SIM908中GPS信号同样是通过串口方式向外发送,因此主控制器同样要利用串行端口接收GPS信号。在进行GPS信号解析之前,也同样必须进行串口的一些操作,这里串口波特率设置成115 200 b/s,数据位设置为8 bit,无校验位,停止位设置为1。然后开始读串口中GPS信号并进行解析,最终将所需的GPS信息保存并显示在GPS显示界面上供驾驶员查看参考。
本文自主开发的基于汽车主动安全的车载嵌入式系统运行良好,侧翻预警、车载通信功能工作稳定。侧翻预警条、短信、电话、导航及Internet等功能稳定,能够实现对外界的信息交流和传输。这套系统初步实现了人-车-路的全面感知,为下一步实现智能汽车、智能交通打下基础,有着很强的社会经济利益。在本车载通信系统的基础上可以继续对车辆监控调度中心的软件进行研究和开发,以满足车联网(智能交通)进一步的需要。
参考文献
[1] 杨利勇.汽车侧翻模拟及控制方法的研究[D].贵阳:贵州工业大学,2004.
[2] 张勇,曾炽祥,许波.Windows CE应用程序设计[M].西安:西安电子科技大学出版社,2008.
[3] 朱天军.基于改进TTR算法的重型车辆侧翻预警模块[J].机械工程学报,2011,47(10):89-93.
[4] 孙铁强,闫兴龙.数据采集及基于GSM网络的数据无线传输[J].电测与仪表,2004,41(12):55-57.
[5] 魏宁,王宇寰,施勇红.基于GPRS无线网络的数据采集系统的设计[J].北京电子科技学院学报,2006(4):79-82.
[6] 叶芳.基于GPS技术的车速传感器的研制与应用[D].重庆:重庆大学,2009.