一种车联网CAN数据采集方法与流程

文档序号:12917510阅读:710来源:国知局
一种车联网CAN数据采集方法与流程

本发明涉及一种车联网can数据采集方法,属于汽车can数据采集技术领域。



背景技术:

现有车身信息采集主要是应用于汽车性能监测。汽车在使用过程中,随着行驶里程增加,出现可靠性降低,经济性变差和故障率增加等现象。汽车的这一变化过程是必然的,是符合发展规律的,但是如果检测不及时,则汽车在行驶过程中就会出现问题。故而,现有技术需对can总线中的数据进行采集获得车身信息,以便分析汽车性能。

现有技术是针对汽车性能分析领域对can总线上的车身信息进行采集,采集的车身信息是固定的,不需要反复变更配置文件,故而现有技术是将配置文件直接固化在车载终端上。现有技术通过固定式的采集配置文件,一次性对车身数据采集并上传平台。

然而,随着汽车技术和车联网技术的发展,汽车整车网络构成也越来越复杂,汽车整车网络将汽车上的各个部件、控制器、传感器有机地结合并形成功能强大的现代化汽车。车身信息采集和整合不再只是应用于分析汽车性能以及故障,同时也演变为基于车联网的联网车辆信息管理。车身信息变成多样性、易变性,车身信息采集不能只是固定地、一次性地采集车身信息,而应该实时配置采集文件,并对采集的车身数据进行处理,然而现有技术并没有出现多样化、易变性的车身信息采集方案。

综上,现有技术存在如下缺点:1)车载终端中存储固定配置信息的方式,导致车载终端与不同车辆的匹配能力降低;2)固定配置文件采集车身信息,不能灵活变更采集项目,而实际上随着车联网的发展,车身信息采集项目将呈现更多的项目和变化,固定配置文件采集方式无法满足经常变动的真实需求;3)需人工存储配置文件,操作不便。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种车联网can数据采集方法,旨在解决现有技术配置文件为固定式,不能灵活变更采集项目的问题;同时,根据采集车身信息项目的实际需求,定制配置文件,节约网络带宽;此外,本发明通过服务器直接变更配置文件,无需人工现场操作,提高车载终端与不同车辆的协议匹配能力,且整个过程简单、高效且不易出错。

本发明为解决其技术问题所采用的技术方案是:提供了一种车联网can数据采集方法,包括以下步骤:

步骤s1、根据车身信息的采集项目,生成车身信息采集的dbc文件和配置文件;

步骤s2、车联网后台服务器将所述配置文件通过无线网络发送给车载终端;

步骤s3、所述车载终端根据所述配置文件采集总线上的车身信息数据;

步骤s4、依据组包协议,将所述车身信息数据进行组包生成数据包;

步骤s5、将所述数据包回传到所述车联网后台服务器;

步骤s6、车联网后台服务器将解析所述数据包,并获得所述车身信息。

步骤s1具体包括以下过程:

根据厂商提供的整车can总线协议,生成dbc文件;

根据dbc文件生成配置文件;首先提取dbc中各个控制器相关报文和信号的定义,包括控制器名称、控制器报文的报文id、参数名称、起始位、参数位长度、字节序、数据类型、增益值、偏置值、数值范围和单位;提取后设定采集相关的参数,包括波特率、信号所在的总线接口序号、信号是否需要上传,完成配置文件的生成。

步骤s3具体包括以下过程:提取所述波特率,设定数据传输速度,设定控制器报文对应的can接口序号;

处理所述配置文件,提取帧id、数据起始位、位长度、字节序、增益、偏移量,获得can总线上所述帧id上的数据;

根据配置文件解析和计算车身信息各个参数的数据值;

重复执行,直至完成所述配置文件所有信号数据的提取,完成所述车身信息数据的提取。

步骤s4中,所述组包协议,是指依据车联网系统数据传输协议的定义进行组包。

步骤s4所述数据包中,设置md5值为配置文件的识别码;所述md5值用于所述服务器对回传的所述数据包进行校验,确定数据包与配置文件之间的唯一对应关系。

步骤s4所述数据包中包括固定的信号列表,所述信号列表记录有待回传到所述车联网后台服务器的信号,以及信号之间的顺序和每个信号的数据类型;步骤s6具体包括以下过程:车联网后台服务器根据数据包的定义,将数据包进行校验,确定数据包格式正确,然后逐个进行车身信息数据解析,按照信号列表提取数据包中的所有车身信息。

所述步骤s4所述数据包中不定义各个信号的固定列表信息,通过配置文件进行动态传输;步骤s6具体包括以下过程:车联网后台服务器将进行数据包解析时,根据数据包中的信号总个数及每个信号的数据类型逐个解析信号数据;然后通过提取数据包中的md5值,查询到对应的配置文件信号名称列表;最后,车联网后台服务器通过信号列表和信号名称列表完成数据的解析、存储和展示,完成数据解析。

当车联网后台服务器没有md5值对应的配置文件信息时,车联网后台服务器先向车载终端询问当前配置文件的信号名称列表,车载终端将配置文件的md5值及信号名称列表发送给服务器,车联网后台服务器存储md5值和信号名称列表。

还包括步骤sa:车联网后台服务器监测第三方是否发出采集请求,车联网后台服务器验证第三方的权限;若第三方具有获取请求项目的权限,则根据请求项目生成配置文件发送至车载终端;若第三方无获取请求项目的权限,则不采集车身信息。

本发明基于其技术方案所具有的有益效果在于:

(1)由于不同的厂商生产的车型不一样,can总线协议也不一样,包括帧id设定、数据类型及字节数等均不一样,本申请提供的一种车联网can数据采集方法,根据厂商提供的整车can总线协议,并通过vector软件生成dbc文件,其优点在于可以直接和车企研发工具对接,快速生成dbc文件,为复杂的车联网应用节约时间;

(2)本申请提供的一种车联网can数据采集方法,可以利用静态方式进行组包,是将要传输信号数据的顺序及列表固定,关键在于通过配置文件中的信号名称与传输协议中的信号名称进行对应,车载终端软件将解析后的信号数据按照信号列表和数据类型进行组包,并向服务器传输;

(3)本申请提供的一种车联网can数据采集方法,还可以通过动态方式进行组包,即不固定要传输的can总线信号数据名称和顺序,直接通过配置文件的定义进行信号组包,关键在于按照配置文件中每个信号数据的类型、长度、数值动态填入到数据包中,有益之处在于使车联网系统可以根据应用要求,对不同车辆采集不同的数据,提高系统的兼容性;

(4)本申请提供的一种车联网can数据采集方法,车联网后台服务器存储配置文件md5值与每个数据包的对应关系,确保采集过程中,即使修改了采集参数列表,也可以正确的进行解析和读取,避免数据提取时出错;

(5)本申请提供的一种车联网can数据采集方法,服务器还可对第三方请求验证其权限,避免车身信息被恶意获取,保护车主必要的隐私;

(6)本申请提供的一种车联网can数据采集方法,终端适应性强,对终端的依赖小,具有快速、高效获取车身信息的优点,无需人工现场操作,简单、高效且不易出错;同时通过车联网后台服务器动态的下发车载终端的can总线协议配置文件,增强了车载终端与车辆的匹配能力,使同一款车载终端具备匹配多种车型的能力。

附图说明

图1是本发明一具体实施方式的车身信息采集流程示意图;

图2是本发明一具体实施方式的生成配置文件的示意图;

图3是本发明一具体实施方式的车身信息采集权限管理示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

本发明提供了一种车联网can数据采集方法,参照图1、图2和图3,以车联网后台服务器采集车辆里程、车速、手刹状态、脚刹状态信息为例,过程如下:

步骤s1、根据车身信息的采集项目,生成车身信息采集的dbc文件和配置文件;

步骤一、根据厂商提供的整车can总线协议,通过vector软件生成dbc文件:

can总线的dbc文件如下所示:

bs_:

bu_:myecu

bo_2566909442message_1:8myecu

sg_累积里程:0|32@1+(1,0)[0|0]"km"vector__xxx

bo_2566844695message_2:8myecu

sg_车速:8|16@1+(0.00390625,0)[0|0]"km/h"vector__xxx

sg_手刹状态:2|2@1+(1,0)[0|0]""vector__xxx

sg_脚刹状态:4|2@1+(1,0)[0|0]""vector__xxx

步骤二、根据dbc文件生成配置文件;所述配置文件用于记载车载终端采集can总线的车身信息,所述配置文件包括控制器所在can总线序号、波特率配置、控制器名称、控制器报文和车辆故障信息配置,控制器报文包括报文id配置和报文数据定义。

配置文件的生成过程如下:首先提取dbc中各个控制器相关报文和信号的定义。包括控制器名称、报文id、参数名称、起始位、参数位长度、字节序、数据类型、增益值、偏置值、数值范围、单位。重复执行,直至完成配置文件所有信号定义的提取。然后设定采集相关的参数,包括波特率、信号所在的总线接口序号、信号是否需要上传。最终完成配置文件的生成。

其中,1)波特率配置:

本实施例中,共有三路can总线接口。分别对应高速can总线接口、中速can总线接口、低速can总线接口。波特率配置需分别配置这三路can总线接口波特率。波特率根据实际整车系统can总线信号传输速率进行设定。本实施例中,配置文件首先枚举各路can总线接口的可选波特率,然后设定高速can波特率为250kbps,中速can波特率为250kbps,而低速can接口的波特率为125kbps。

2)信号所在的总线接口序号配置:

通过对每个信号名称增加前缀的方法配置信号所在的can总线接口位置,高速can总线接口前缀为“hs”,中速can总线接口前缀为“ms”,低速can总线接口前缀为“ls”,必要时可扩展更多路can的前缀代号。比如“车速”信号在中速can总线接口上,则信号名称修改为“ms车速”。

3)信号是否需要上传配置:

如果某个信号需要上传,则在信号名称上增加“_w”的后缀,否则只进行本地存储,不进行远程传输。在本实施例中,所有信号都要进行远程传输。

4)由dbc文件生成的配置文件如下所示:

bs_:

bu_:myecu

bo_2566909442message_1:8myecu

sg_ms累积里程_w:0|32@1+(1,0)[0|0]"km"

bo_2566844695message_2:8myecu

sg_ms车速_w:8|16@1+(0.00390625,0)[0|0]"km/h"

sg_ms手刹状态_w:2|2@1+(1,0)[0|0]""

sg_ms脚刹状态_w:4|2@1+(1,0)[0|0]""

ba_def_"hsbaudrate"enum"50000","100000","125000","250000","500000","1000000";

ba_def_"msbaudrate"enum"50000","100000","125000","250000","500000","1000000";

ba_def_"lsbaudrate"enum"50000","100000","125000","250000","500000","1000000";

ba_"hsbaudrate"3;

ba_"msbaudrate"3;

ba_"lsbaudrate"2;

步骤s2、车联网后台服务器将所述配置文件通过无线网络发送给车载终端。网络传输的方式多种多样,包括gprs、wifi、3g、4g蜂窝通信网络等等,在本实施例中,车载终端通过gprs与服务器通信。

步骤s3、所述车载终端根据所述配置文件采集总线上的车身信息数据,具体包括以下过程:

提取所述波特率配置,设定数据传输速度,设定控制器报文对应的can接口序号;

处理所述配置文件,提取帧id、数据起始位、位长度、字节序、增益、偏移量,获得can总线上所述帧id上的数据;

根据配置文件解析和计算车身信息各个参数的数据值;

重复执行,直至完成所述配置文件所有信号数据的提取,完成所述车身信息数据的提取。

在本实施例中,包括:

1)车载终端解析配置文件,由波特率设定各个can总线接口的数据传输速度;

2)车载终端采集第二路can总线上的报文,在id为2566909442的报文中,从数据域的第0bit开始,提取32bit,然后按照dbc信号的通用解析方法,得到累计里程数据。

3)车载终端采集第二路can总线上的报文,在id为2566844695的报文中,从数据域的第8bit开始,提取16bit,然后按照dbc信号的通用解析方法,得到车速数据。

4)车载终端采集第二路can总线上的报文,在id为2566844695的报文中,从数据域的第2bit开始,提取2bit,然后按照dbc信号的通用解析方法,得到手刹状态数据。

5)车载终端采集第二路can总线上的报文,在id为2566844695的报文中,从数据域的第4bit开始,提取2bit,然后按照dbc信号的通用解析方法,得到脚刹状态数据。

6)通过上述步骤完成了所有信号数据的解析,得到can总线上的车身信息。

值得一提的是,以上所述的“dbc信号的通用解析方法”是按照如下的格式得到:计算所需的字节序、增益值和偏移量,然后按照字节序得到整数值,最后乘以增益值,加上偏移量即得到最终的信号数值。can报文和信号格式定义如下:

bo_canid报文名称:数据域字节数ecu名称

sg_信号名称:起始位|位数@字节序数据类型(增益值,偏移量)[最小值|最大值]“单位”

上述定义中:

字节序为:0代表motorolla、1代表intel。

数据类型:+:代表无符号整形;-代表有符号整形;2代表单精度浮点数;3代表双精度浮点数。

步骤s4、依据组包协议,将所述车身信息数据进行组包生成数据包。所述组包协议,是指依据车联网系统数据传输协议的定义进行组包。本实施例的数据包中的数据体定义如表1所示:

表1数据包中的数据体定义

其中的数据类型如表2所示:

表2数据类型

车载终端根据配置文件采集can总线上的数据,并对数据进行组包,数据组包中的数据顺序与配置文件中的顺序对应。在本实施例中,数据包中的数据体组成方法如下:

如表1byte1至byte16为配置文件的md5值,用以表征数据包和配置文件唯一的对应关系;

如表1的byte17至byte18字节,因为数据总个数为4,所以填入byte17为十六进制0x00,byte18为十六进制0x04;

如表1的byte19字节,因为累计里程选用单精度浮点数进行传输,填入十六进制数0x01。然后从20字节至23字节,填入累计里程值转换为单精度浮点数后对应的4字节十六进制数据。

如表1的byte24字节,因为车速选用单精度浮点数进行传输,填入十六进制数0x01。然后从25字节至28字节,填入车速值转换为单精度浮点数后对应的4字节十六进制数据。

如表1的byte29字节,因为手刹状态选用单精度浮点数进行传输,填入十六进制数0x01。然后30字节至33字节,填入手刹状态值转换为单精度浮点数对应的4字节十六进制数据。

如表1的byte34字节,因为脚刹状态选用单精度浮点数进行传输,填入十六进制数0x01。然后35字节至38字节,填入手刹状态值转换为单精度浮点数对应的4字节十六进制数据。

通过上述步骤,完成了数据包中数据体的组包。车载终端软件根据传输协议进一步完成整个数据包的组包。

该实施例仅是较优实施例,在实际操作中,组包数据格式与本组包数据格式略有不同,但不超过本发明思想,应该认定为落入本发明保护范围。比如采用数据的顺序及列表固定的组包方式。

值得一提的是,在本实施例中,数据回传是定时回传,正常时优选10秒传输一次,车辆发生故障时,提高到1秒传输一次。

步骤s5、将所述数据包回传到所述车联网后台服务器。

将数据包发送给服务器,设置md5值为配置文件的识别码;所述md5值用于所述服务器对回传的所述数据包进行校验,确定数据包与配置文件之间的唯一对应关系。md5值用于服务器匹配对应的配置文件,以便获得信号的列表和顺序,进而完成数据的正确解析、存储和展示。

显然在本步骤中,涉及行驶安全的回传数据组包相对于行政监测类的回传数据组包具有优先上传服务器的权利。

步骤s6、车联网后台服务器将解析所述数据包,并获得所述车身信息。

一种实施方式为:步骤s4所述数据包中包括固定的信号列表,所述信号列表记录有待回传到所述车联网后台服务器的信号,以及信号之间的顺序和每个信号的数据类型;步骤s6具体包括以下过程:车联网后台服务器根据数据包的定义,将数据包进行校验,确定数据包格式正确,然后逐个进行车身信息数据解析,按照信号列表提取数据包中的所有车身信息。

另一种实施方式为:所述步骤s4所述数据包中不定义各个信号的固定列表信息,通过配置文件进行动态传输;步骤s6具体包括以下过程:车联网后台服务器将进行数据包解析时,根据数据包中的信号总个数及每个信号的数据类型逐个解析信号数据;然后通过提取数据包中的md5值,查询到对应的配置文件信号名称列表;最后,车联网后台服务器通过信号列表和信号名称列表完成数据的解析、存储和展示,完成数据解析。在本实施例中,首先提取16字节的md5值,得到数据包和配置文件之间的对应关系,进而得到信号名称列表,即4个信号分别为:累计里程、车速、手刹状态、脚刹状态。然后解析第19字节,发现是单精度浮点数,所以提取20至23字节数据,按照单精度浮点数还原信号数据,得到实际的累计里程值。通过上述类似方法,依次得到车速、手刹状态和脚刹状态的值,然后存储在服务器中,完成车身信息的获取。

当车联网后台服务器没有md5值对应的配置文件信息时,车联网后台服务器先向车载终端询问当前配置文件的信号名称列表,车载终端将配置文件的md5值及信号名称列表发送给服务器,车联网后台服务器存储md5值和信号名称列表。

本发明提供的一种车联网can数据采集方法,还可包括步骤sa:车联网后台服务器监测第三方是否发出采集请求,车联网后台服务器验证第三方的权限;若第三方具有获取请求项目的权限,则根据请求项目生成配置文件发送至车载终端;若第三方无获取请求项目的权限,则不采集车身信息。

第三方可以向服务器申请获得车身信息;例如,在道路上行驶,后车为了避免碰撞,可以获得前车速度、前车刹车情况、前车紧急变道等车身信息,及时获得该方面信息有助于减少车祸发生。又例如,交警可以获得车辆超速、超重信息,以备行政需要。又例如,环保部门可以采集车辆尾气排放信息。当然,对于不同的第三方,对车身信息采集具有不同权限,服务器需对权限进行验证。

值得一提的是,本发明是基于车联网的can数据采集,应用领域不局限于现有技术提取车身信息并应用于分析汽车性能,检测因车辆使用年限造成车辆系统故障。本发明的应用领域为未来车联网技术,在车联网技术中,每一辆汽车都是可以进行通信、信息交互。现有车联网防撞技术是通过判断车辆之间距离或预测车辆距离进行防撞,而在本发明中,可通过检测车身信息,如车速、刹车状态等,当发生紧急刹车时,车辆can总线中的车速、刹车信息通过服务器,服务器通知或控制后方汽车车速或转向,避免因前车紧急刹车造成追尾事故。而实际上车辆can信息采集在车联网领域还可以用于场景。场景1,如汽车上安装有车载称重传感器并与can总线连接,交警即可以向服务器申请调用汽车的称重信息,查看汽车是否超重。场景2,环保部门对汽车尾气进行采集,环保部门向服务器申请配置汽车尾气检测配置文件,并将该配置文件发送至待检测的汽车上,获取汽车尾气检测报告,环保部门可以根据该报告对相关车辆进行处罚或要求整改。有益效果在于,及时获取道路上同行车辆的车身信息,避免车祸;行政监管部门监控车辆运行状态、超重状态、尾气污染情况,进行相关项目监管,有利于维护个人和公众利益。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1