新能源汽车远程监控标定的通信系统设计
2018-02-01陈眺李思灏杨健龙郑伟周琳凯曾洁史昇
陈眺+李思灏+杨健龙+郑伟+周琳凯+曾洁+史昇
摘要:
汽车在出厂时参数标定便固定不变,但车辆长期运行会导致车辆控制参数不适应一些变化。随着车联网技术的发展,实现远程监控标定成为可能。基于新能源汽车设计了汽车参数远程监控标定的通信系统,实现了电控单元和云平台之间的数据交换。首先对外部网络和内部网络的通信协议进行设计,然后通过LTE模块发送AT指令控制其接入网络,实现与云平台监控中心的连接与数据传输,最后通过命令解析程序,对云平台监控中心发送的命令进行校验、解析并完成对应的命令操作。测试表明,该通信系统实现了电控单元和云平台之间的数据实时交换。
关键词:
电控单元;云平台;通信协议;LTE模块;AT指令
DOIDOI:10.11907/rjdk.172121
中圖分类号:TP319
文献标识码:A文章编号文章编号:1672-7800(2018)001-0108-05
Abstract:The calibration of existing vehicle parameters is fixed at the factory. With the rapid development of vehicle networking technology, it is possible to realize remote monitoring and calibration. Based on the new energy vehicle, a communication system for remote monitoring and calibration of vehicle parameters is designed, and the data exchange between the ECU and the cloud platform is realized. The paper first designs the communication protocol of the external network and the internal network, then transmits the AT instruction through the LTE module to control its access network, and realizes the connection and the data transmission with the cloud platform monitoring center. Finally, through the command analysis program, the received commands of the cloud platform monitoring center are checked, analyzed, and the corresponding command operation is completed. The test shows that the communication system designed in this paper can realize the data exchange between the electronic control unit and the cloud platform in real time.
Key Words:electronic control uni; cloud platform; communication protocol; LTE module; AT instruction
0引言
传统新能源汽车电控单元控制参数标定固化在微控制器的闪存区内,这些参数基本不会修改。由于路况和驾驶习惯不同,随着车辆的长期运行,电池损耗、机械老化、电气设备和线路的老化、更换关键部件等,使原车辆控制参数不再合适,但将其全部返厂进行二次标定成本较高。
主流车辆远程监控采用外接车载终端,通过控制器局域网络(Controller Area Network,CAN)总线,接入到汽车的电控单元或通过车载自动诊断系统(On Board Diagnostics,OBD)接口,获取车辆数据和车辆故障码,通过移动网络将数据发送至远程监控中心,操作复杂,不具实时性。为了保证新能源汽车尤其是新能源动力电池汽车能够安全、高效运行,实时监控车辆的运行状况,建立一套具有远程监控标定功能的新能源汽车电控系统十分必要。
1系统总体设计
为保证新能源汽车长期安全高效运行,基于云平台的新能源汽车电控系统,在传统电控系统基础上加入无线通信和互联网服务功能,以实现车辆的实时监控、故障分析以及优化参数、远程标定等功能。监控标定通信系统总体结构如图1所示。
通信系统是核心模块,由内部数据网络和外部网络通信协议、LTE数据通信程序以及命令解析程序3部分构成。其中通信协议实现汽车参数信息的打包发送,LTE模块实现数据的高质量通信,命令解析程序对接收到的云平台信息进行解析,从中得到有用数据。
2通信系统硬件设计
系统电控单元主要负责采集新能源汽车的工况信息,考虑到车辆运行位置的不确定性,因此采用移动通信网络与云平台监控中心进行数据交互。我国LTE网络已普及,相较于3G、GPRS等技术,其传输速率更高、稳定性更好。在电控单元中加入LTE模块,电控单元采集的数据按照规定的通信协议进行打包,利用内嵌TCP/IP协议的LTE模块将数据发送至指定IP的监控中心服务器,可接收监控中心发出的各种命令请求。新能源汽车电控单元硬件结构如图2所示。
通信管理MCU是整个电控单元通信系统最关键部分。为了满足系统功能需求,方便硬件电路的设计及简化功能程序开发,选择一款合适的MCU十分必要。通信管理MCU需要从主控MCU中获取车辆实时数据,然后驱动各通信模块,将数据通过串口发送至各通信模块。因此,该MCU应具备若干SCI或SPI接口及若干I/O通道,且具有较好的运算能力和中断处理能力。结合以上分析,选择飞思卡尔的MC9S12XEP100作为通信管理MCU。endprint
由于和云平台监控中心之间的数据通信必须遵循TCP/IP协议,因此需要选择一款内置TCP/IP协议的LTE模块,以避免自主编写TCP/IP协议栈造成的麻烦。本文选用移远公司的EC20 LTE模块,其不仅支持LTE的FDD-LTE和TDD-LTE两种制式,还可向下兼容UMTS、GPRS/GSM网络,确保在缺乏3G和4G网络的偏远地区也能正常工作。其内置丰富的网络协议,支持数据、语音、短信等业务。
3通信系统软件设计
车辆数据和标定反馈命令由主控微处理器(Microcontroller Unit,MCU)打包发送至通信管理MCU,再由通信管理MCU利用LTE模块发送AT指令至云平台。云平台发送的数据读取命令先发送至通信管理MCU中,经过命令解析程序发送至主控MCU。
3.1通信协议设计
通信过程涉及到数据的二次传输,分为两部分:①通信管理MCU通过通信模块与云平台数据交互的协议,称为外部网络通信协议;②通信管理MCU与主控MCU之间数据交互的协议,称为内部网络通信协议。
3.1.1外部网络通信协议设计
外部网络通信协议规定,每条消息都由消息标识、消息头、消息体、校验码[1]、消息尾组成,消息结构如图3所示。
其中,消息标识为每帧有效消息的开始辨识区,消息标识固定为0×2A,以0,1交替来降低误码率。若在消息头或消息体中出现0×2A,可能会导致解析过程中消息识别出错,所以需要对消息头和消息体中出现的0×2A进行转义处理。若消息头或消息体中出现0×2A,则在数据封装时将其转义为0×28,并在后面紧跟0×01,若其后又出现0×28,则在0×28后紧跟0×02,这样来避免数据解析时可能出现的错误。
消息头包含设备编号/权限码、消息ID和消息序号。当电控单元发送消息时,消息头中添加的是设备编号,设备编号是每个电控单元具有的独一无二的编号,在每帧数据中占6字节,方便上位机记录数据,云平台监控中心发送消息时添加的是权限码;消息ID在每帧数据中占2字节,它是每种消息的特定编号,如电控单元发送的车辆数据消息ID为0x9011。消息ID对应的消息类型及消息体格式如表1所示。消息序号在每帧数据中占2字节,按消息的发送顺序从0开使循环累加,方便判断是否有丢包现象发生。
消息体是车辆数据、命令和命令应答的具体内容。校验码占1个字节,从消息头开始,每一字节同后一字节做异或运算,直到校验码前一字节停止。发送端和接收端都做校验运算,以确保数据帧在传输过程中不出现差错。
消息尾是一帧完整消息的结尾标志,消息尾固定为0×CC,以00,11交替来降低误码率。与消息标识类似,在消息头和消息体出现0×CC时也需要进行转义。若消息头或消息体中出现0×CC,则在数据封装时将其转义为0×CB并在后面紧跟0×01,若后面又出现0×CB,则在该0×CB后紧跟0×02。
一帧标准的外部网络通信协议消息示例如图4所示。
3.1.2内部网络通信协议设计
内部网络通信协议的消息结构与外部网络通信协议相同,只是消息标识、消息头、消息尾内容有所不同。
内部网络通信协议的消息标识固定为0×AA,若消息头或消息体中出现0×AA,则在数据封装时将其转义为0×A8并在后面紧跟0×01,若其后又出现0×A8,则在该0×A8后紧跟0×02。消息尾固定为0×33,若消息头或消息体中出现0×33,则在数据封装时将其转义为0×32并在后面紧跟0×01,若其后又出现0×32,则在该0×32后紧跟0×02。消息头中只有命令码或响应码。
通信管理MCU和主控MCU通过UART串口连接,按照“通信管理MCU命令消息—主控MCU响应消息”流程通信。通信管理MCU发送的命令消息中,消息头是命令码,主控MCU反馈的响应消息中消息头是响应码,响应码与对应的命令码保持一致。命令消息与响应消息格式如表2所示。
3.2LTE数据通信程序设计
电控单元采用LTE模块实现与云平台监控中心的连接与数据交互。本文设计的LTE通信功能基于移动EC20LTE模块,通信管理MCU通过SCI串口向LTE模块发送AT指令控制其接入网络,完成数据传输。
3.2.1AT指令
本文AT指令指从终端设备TE(TerminalEquipment)向终端适配器TA(TerminalAdapter)发送的指令,以实现TE与ME(Mobile Equipment)的连接与信息交换,最终实现与移动网络的通信;用户通过AT指令实现设备呼叫、短信收发、数据通信等业务功能[2],其原理如图5所示。
AT的每一条指令都以字母AT开头,并以字符串作为指令结尾,采用一问一答的響应方式,每条指令无论执行成功与否,都会反馈响应信息。若一条指令执行成功会反馈“OK”,执行失败会反馈“ERROR”,并提示对应的错误信息。
3.2.2LTE网络连接程序设计
本文电控单元通过LTE无线模块建立与云平台监控中心之间的网络连接。首先,云平台监控中心建立一个具有公网IP的TCP服务端,并以固定端口号进行监听。LTE模块根据云平台监控中心的服务端IP地址和相应的端口号与之建立TCP透传连接。TCP透传是将本地异步串行通信直接转为基于TCP协议的网络通信,实现不同串口设备在网络上的通信。进入透传模式后,设备既是客户端也是服务端,数据可在两个设备间实现透明双向传输。LTE模块网络连接工作流程如图6所示。
通过AT命令对LTE模块进行控制步骤如下:①模块初始化设置:模块初始化已在系统初始化程序中执行,故在此程序中无需再执行;②接入网关的参数设置:通过指令AT+QICSGP=1,1,“WONET”,“”,“”,2设置接入网关参数,按指令顺序其具体含义为:设置上下文的ID为1,协议类型为IPV4。鉴于模块中的SIM卡采用的是联通4GSIM卡,因此将APN设置为WONTE并将认证方式设置为CHAP方式;③激活配置参数:通过指令AT+QIACT=1激活上述配置的参数。指令中的1代表上下文的ID。配置激活后就建立了与外部网络之间的PPP数据链路;④完成TCP数据透传:当配置参数被激活,PPP连接完成后就可与云平台监控中心的TCP进行连接。endprint
通过指令AT+QIOPEN=1,1,“TCP”,“114.215.184.145”,7705,0,2[3]完成与云平台监控中心之间的TCP透传连接。指令中首先将已激活的上下文ID写入,再设置本次TCP连接的ID为1,并将云平台监控中心的服务端IP及端口号写入指令中,最后填写2将该TCP连接设置为透明传输模式。经过这些设置后可通过串口直接实现网络数据的收发。考虑到车辆移动过程中不可避免地会遇到信号较弱路段,导致与云平台监控中心服务端连接中断,因此在程序中添加了TCP连接状态检测,在发送数据前,通过使用指令AT+QISTATE=1,实现对之前建立的ID为1的TCP连接状态进行检测。若连接断开,程序将自动进行重连,以此保证连接的可靠性,尽量减少由于连接断开导致的数据丢失。
3.3命令解析程序设计
命令解析程序用于对接收到的云平台监控中心发送的命令进行校验、解析,完成对应的命令操作。当接收到云平台监控中心发送的命令后,进入中断并调用命令解析程序。云平台监控中心发送的命令为MAP标定命令。对于MAP标定命令,经过校验解析后,将MAP标定命令中的MAP数据按行列提取出来,并按照自定义内部通信协议格式重新封装,通过串口转发至主控MCU中。命令解析程序工作流程如图7所示。
命令解析程序第一步是对接收的数据进行校验,校验程序可确认接收到的命令数据没有在传输过程中出错,从而执行后续相关操作。首先设置校验和变量的初始值。由于一帧数据中消息标识为第一个数,消息尾为最后一个数,校验码为数据帧中倒数第二个数,所以这3个数据可以不参与数据校验。然后从数据帧中第二个数开始校验,校验的次数为数据帧长度减3,校验方法为将初始校验与当前校验数据异或后再赋给校验和。最后将最终的校验和与数据帧中的校验码进行比较,获得校验结果的返回值。数据校验程序流程如图8所示。
4通信模块测试
云平台监控中心服务器需要建立在具有公网IP的网络上,并开启远程桌面访问权限;在本地PC中通过输入mstsc命令并输入监控中心的IP地址,实现本地PC对监控中心服务器的远程桌面控制。进入监控中心服务器的远程桌面后,使用“网络调试助手”软件,在监控中心服务器上建立一个使用公网IP的TCP服务端,并在固定端口进行监听。
操作本地PC向LTE模块发送相应的AT指令,建立LTE模块与监控中心服务器间的TCP连接,并向TCP连接的服务端发送一串车辆数据帧字符串。在远程桌面的“网络调试助手”中查看来自LTE模块的数据,并向其返回一串字符。
由于LTE模块只有一路异步串口,因此通过LTE模块的USB口与上位机PC之间建立连接,配合驱动模拟异步串行通信,并在上位机PC中通过“串口调试助手”软件向LTE模块发送相应的AT指令,以实现LTE模块与云平台监控中心服务器间的TCP连接,完成相应的数据传输[4]。LTE模块与监控中心服务器的TCP数据传输测试如图9所示。
在LTE模块与云平台监控中心服务器间的TCP通信测试AT指令含义为:
(1)AT+CPIN?;这条指令用于检测SIM卡的工作状态,模块返回+CPIN:READY,证明SIM卡正常,已准备就绪[5]。
(2)AT+QICSGP=1,1,“WONET”,“”,“”,2;该指令用于设置网络的上下文参数,其中首先将上下文ID设置为1。由于使用了联通SIM卡,因此接入点设置为WONET,最后将认证方式设置为CHAP。
(3)AT+QIACT=1;该命令的作用是将刚设置好的ID为1的上下文参数激活。
(4)AT+QIACT?;该命令是查询已激活上下文参数状态,模块会返回已激活的上下文参数的具体信息。
(5)AT+QIOPEN=1,0,“TCP”,“123.57.41.13”,8080,0,2;该指令建立与监控中心服务器的TCP连接,并将模块设置为透传模式[6]。其中,TCP服务端的IP地址为“123.57.41.13”,且监听端口为8080,连接成功后模块返回CONNECT。
TCP连接成功并且模块进入透传模式后,模块从串口接收到的数据会直接转发至监控中心服务器,输入一串模拟车辆数据帧字符串并发送出去,在远程桌面的“网络调试助手”中會收到这串字符,并通过“网络调试助手”输入received发送给模块,本地PC的串口助手中就会显示出来。
5结语
本文通过LTE模块进行电控单元和云平台的无线数据通信,直接采用车辆电控单元通过无线通信方式实现与外界数据交互。测试表明,本文设计的通信系统实现了新能源汽车电控单元和云平台之间的数据通信,电控单元采集的汽车数据可以实时、准确地传输到云平台,以快捷低成本的方式实现了汽车参数的监控和标定。
参考文献:
[1]林效峰.基于超声波的交互式电子白板电路设计[D].武汉:华中师范大学,2014.
[2]吴晶晶.纯电动汽车车载信息的采集与远程监测系统的研发[D].南昌:南昌大学,2011.
[3]吕昕晖.施工升降机远程监控系统研究与开发[D].济南:山东大学,2015.
[4]王水源.基于Wince的车辆导航监控系统设计[D].兰州:兰州交通大学,2013.
[5]梁朝喜.嵌入式塔吊安全监控系统的开发[D].成都:电子科技大学,2013.
[6]王艺恺,李阳节,周少甫,等.一种基于物联网的公交车信息查询系统设计[J].电子科技,2012,25(10):32-35.
(责任编辑:杜能钢)endprint