一种电动汽车数据采集系统
2019-04-10黄丽花宁胜花黎飞陈宇
黄丽花,宁胜花,黎飞,陈宇
(上汽通用五菱汽车股份有限公司,广西柳州 545007)
0 引言
随着电子信息化及新能源车辆的发展,整车上产生的数据也越来越多,作为车联网发展的初期,所有整车厂都在尝试对车辆的数据进行深度学习和分析,所以对数据要求也在发生着变化。目前主流数据采集方案是基于GB/T 32960-2016《电动汽车远程服务与管理系统技术规范》来实现的,车载终端中存储固定CAN总线采集信号,不能灵活变更采集车辆CAN总线信号。而随着车联网的迅猛发展,车辆CAN总线采集信号将呈现更多变化,固定采集信号方式无法满足经常变动的真实需求,不同的车型、总线协议都会涉及到开发不同的车载终端软件版本,加上对数据信号采集的不确定性,对数据采集的调整无疑会产生很大的工作量,会增加车载终端开发管理和时间成本,很难跟上车联网技术发展。
1 数据采集系统组成
一种电动汽车数据采集系统由车载终端、无线通信网络、远程服务平台三大部分组成。车载终端安装在电动汽车上,用于采集、存储、传输电动汽车运行、充电、定位等整车及系统部件的关键状态数据,同时通过其内置的通信模块将数据往外发送到远程服务平台,由无线通信网络负责将车载终端发送的数据传输到远程服务平台服务器;远程服务平台主要负责接收车载终端发来的数据,并按照相应的协议规则转换后通过显示屏展示出来。一种电动汽车数据采集系统框架如图1所示。该方案的电动汽车数据采集系统是车联网快速发展的产物,它的主要作用是实现了不同车型快速接入远程服务平台的兼容性功能,通过DBC快速适配不同车型采集的CAN总线信号,车载终端的固件与车型无关,缩短开发周期,极大地减少了后期维护的工作量。
2 数据采集系统方案设计
远程服务平台采用采集动态数据CAN总线数据方案,在车载终端的设计中考虑到统一终端,避免在不同车型采用不同车载终端CAN总线信号数据情况,做到一个车载终端可以装在不同协议的总线上,或者在数据临时变更时也能够通过简单的配置指令灵活地应对不同的需求,因此车载终端定位为透传终端,弱化其业务功能,强化技术灵活性。因为车载终端要采集的数据都是由远程服务平台下发的TBC决定的,远程服务平台告知车载终端采集数据信号项,所以车载终端不用去对要采集的数据协议进行了解,使得它不受业务环境影响,使其在任何一个具备CAN总线协议的车上都可以使用,并且无需改变车载终端程序,通过远程服务平台的简单配置实现数据采集的需求,从而做到车载终端的兼容性。
图1 一种电动汽车数据采集系统框架
2.1 数据采集流程
一种电动汽车数据采集系统根据车辆CAN总线电子通信协议采集动态CAN总线信号,生成车辆CAN总线信息采集的DBC文件,由远程服务平台转化为车载终端识别的配置文件TBC,远程服务平台将配置文件TBC通过无线网络GPRS发送给车载终端,车载终端根据TBC文件采集总线上的车辆信息数据,依据组包协议将车辆CAN总线数据进行组包生成数据包,并将数据包回传给远程服务平台,远程服务平台根据DBC文件解析数据包,获得车辆数据信息。一种电动汽车数据采集系统车辆数据信号采集流程图如图2所示。
图2 车辆数据信号采集流程图
2.2 DBC文件和TBC文件配置
根据车辆CAN总线电子控制器协议,通过Vector CANoe软件创建生成DBC文件。并在此基础上删减一些重复不必要的数据,加入波特率信息,制作成新的DBC文件,在整体格式上保留着 DBC文件格式。远程服务平台存储DBC文件,DBC文件用于生成配置文件,也用于解析车载终端上传的数据包。
DBC文件格式如下:
BO_帧ID 几路CAN_报文名称:报文所在控制器节点
SG_信号名称:起始位|位长@0+(比例,偏移量)[最小值|最大值]“单位”Vector__XXX
车载终端根据TBC配置文件采集CAN总线的车辆数据信息,车载终端根据TBC配置文件提取波特率配置,设定数据传输速度。根据配置文件,车载终端提取帧ID、数据起始位和位长度,获得CAN总线上帧ID上的数据。车载终端重复执行以上步骤,直到完成配置文件里所有帧数据的提取,完成车辆CAN总线数据信号的提取。波特率配置、帧ID配置和帧数据配置是配置TBC文件的三大项,波特率配置包括配置高速波特率、中速波特率和低速波特率,波特率根据车辆CAN总线信号传输速率进行配置。帧ID配置是对报文对象配置,报文对象在DBC文件中以“BO_”作为关键字,它包含有帧ID、帧类型(标准帧或扩展帧)等信息。帧数据配置是对Signal对象配置,Signal对象在DBC文件中以“SG_”作为关键字,由数据名称、起始位、位长度、类型(Intel或Motorola)、分辨率、偏移量、最大值、最小值、单位等组成。
TBC文件格式如下:
BO_帧ID|标准帧或扩展帧等|Intel或Motorola 类型|一路CAN或两路CAN
SG_起始位|位长度
由DBC文件生成TBC配置文件如下:
hsbaudrate 125000
msbaudrate 250000
lsbaudrate 500000
BO_288 MS_Vehicle_Odometer:5 IC
SG_VehOdo:7|32@0+(0.015625,0)[0|67108863.984375]"km"Vector_XXX
BO_288|0|1|1
SG_32|32
2.3 数据组包上传
对车辆进行数据采集时,只需将TBC文件下发车载终端上,车载终端通过解析TBC文件的内容了解到采集指令,对总线上的数据进行分析处理组包,并按照约定的协议把组包好的数据回传到远程服务平台上,协议也是遵从兼容性原则定义。
组包协议包含帧头和数据项,帧头长度为一个字节,帧头低七位是帧数据字节长度数,帧头最高位为更新位,更新位用于标识数据是否更新,数据项字节数最大为127字节。车载终端根据配置文件TBC采集车辆CAN总线上的数据,根据回传数据组包一帧数据格式的数据顺序与配置文件TBC中帧ID顺序一一对应,打包成数据包。一个数据包对应一个配置文件,数据包包含多帧数据,但最多可传输255帧数据。表1所示为车载终端回传数据包一帧数据格式。在数据上传远程服务平台中采用数据定时回传功能,每2 s回传1个数据包。
表1 回传数据组包一帧数据格式
2.4 解析数据包
远程服务平台在配置DBC 生成TBC文件过程中生成文件的MD5值,当作配置文件的唯一标识。该方案为防止数据包上传过程丢包,车载终端在上传数据包过程中同时回传数据包的MD5值,以便远程服务平台校验是哪个DBC文件的数据包,选用对应的DBC文件进行解析数据包。数据包和DBC文件里的数据项相对应,通过数据包对应的DBC文件对数据包进行解析,获得车辆CAN总线上数据信号。远程服务平台通过提取DBC文件一个帧ID,并同时提取数据包一帧的帧头,获取数据字节长度,并根据数据字节长度提取该帧数据,根据车辆CAN总线电子控制器协议,获得该帧数据所代表的数据含义。按顺序依次提取每一帧数据,获得车辆数据信号。通过把车辆CAN总线上帧原始数据有效数据组包返回,再通过远程服务平台对数据按照DBC文件的定义进行解析、存储,最终展显出来的就是可被识别的车辆数据信号。在TBC配置文件里并没有对数据包里面数据指代的内容含义进行备注和注释,仅仅从TBC配置文件和组包数据协议上无法直接获得车辆数据信号所代表的意思,具有很好的保密性。
3 总结
综上所述,一种电动汽车数据采集系统解决了不能灵活变更采集车辆CAN总线上车辆数据信号的问题,能根据采集车辆数据信号的实际需求或者在数据采集临时变更时,通过简单配置TBC配置文件采集车辆数据信号应对不同的需求,节约网络带宽,通过远程服务平台直接变更配置文件TBC;车载终端定位为透传终端,适应性强,数据采集系统对车载终端的依赖小,弱化其业务功能,强化其技术灵活性,增强了车载终端与车辆的匹配能力,使同一款车载终端具备匹配多种车型的能力,具有快速、高效、方便获取车辆CAN总线数据信号的优点,不需要人工现场操作;远程服务平台通过GPRS网络将配置文件TBC传输到车载终端,方案简单、高效且不易出错。该方案由于车载终端要采集的车辆数据是远程服务平台事先通过TBC配置文件告知的,车载终端不用去对要采集的车辆CAN总线协议进行了解,使得车载终端不受业务环境影响,使其在任何一个具备CAN总线协议的车辆上都可以使用,并且无需改变车载终端程序,通过远程服务平台的简单配置实现数据采集的需求,使得车联网系统具有很强的兼容性。