一种基于以太网的可配置的CAN报文采集方法及系统与流程

文档序号:31997300发布日期:2022-11-02 08:48阅读:390来源:国知局
一种基于以太网的可配置的CAN报文采集方法及系统与流程
一种基于以太网的可配置的can报文采集方法及系统
技术领域
1.本发明涉及智能驾驶汽车的can报文数据采集上传技术领域,具体涉及基于以太网的可配置的can报文采集方法及系统,对智能驾驶汽车的 包括车速、里程、四门两盖等信号的采集和上传。


背景技术:

2.传统的基于智能网联汽车的can报文采集,典型架构如图1所示,通常是基于can总线进行通讯,再通过t-box将数据进行采集并上传到云端的,由于t-box只能读取info-can上的报文内容,导致数据采集能力受限,不能采集整车全部的can信号。车内的数据传输多是基于串口或spi通道,数据传输能力也存在瓶颈。
3.其次,在mcu上采集到can报文后,需要通过数据通道将can报文传输到更上层,传统的通道通常是串口或者spi通道,当数据量较大时,串口或spi通道无法承载,导致串口或spi通道的采集能力受限。
4.目前,以太网在车端的应用越来越普遍,主要控制器间的以太网的带宽基本达到了100mbps,基于域控制器架构下的主要控制器间的以太网的带宽甚至达到了1000mbps。因此,可以考虑使用以太网来进行can报文的采集,采集的信号范围更广、采集的频率更高。但,现有技术中尚没有利用以太网的基于云端配置的数据采集方法,不能满足市场竞争的需要。


技术实现要素:

5.针对现有技术存在的上述不足,其目的在于提供一种基于以太网的can报文采集方法及系统,同时基于云端配置实现数据的动态采集;以达到智能驾驶汽车的相关信号采集时的信号范围更广、采集的频率更高。
6.本发明的技术方案是这样实现的:一种基于以太网的可配置的can报文采集方法,其特征在于包括如下步骤:1)通过can网络和车辆的各电子元器件相连,将车辆的各电子元器件相关信号输入can网络;2)在车辆边缘控制器上设置数据转发模块,数据转发模块通过can采集接口与can网络连接,通过can采集接口采集can网络中的报文,采集到can报文后将报文进行封装,封装成结构体;将封装好的报文通过以太网发布到以太网虚拟数据总线上的某个对应地址;3)在车辆域控制器上设置数据采集模块,数据采集模块与以太网虚拟数据总线连接,通过订阅虚拟数据总线上指定的地址,获取到边缘控制器通过以太网发送过来的can报文,对数据进行反序列化处理之后,得到该数据的结构体数据,再将该数据序列化成车云间的数据协议并进行缓存;4)数据采集模块对数据写入缓存队列后,由数据采集模块的数据上传单元,将数据逐条取出,通过车云连接通道,调用数据上传接口,将数据发送到云端。
7.这样,本发明利用车辆边缘控制器上的数据转发模块收集智能驾驶车辆的can报文,通过以太网发送到车辆域控制器上的数据采集模块,并将can报文发送云端,这样使汽车的相关信号采集时的信号范围更广、采集的频率更高。
8.进一步的:所述的can采集接口是标准的rte接口。
9.进一步的:数据转发模块包含配置管理功能,调用该服务的时候,将配置文件json/xml传入,配置管理功能将json/xml配置文件持久化存储在本地。
10.进一步的:数据采集的配置内容,仅采集白名单列表中的can id对应的报文,同时对报文进行周期转换。
11.进一步的:数据转发模块包含数据转发接口,作为与以太网进行数据交换的接口,通过以太网将封装后的can报文传入域控制器的数据采集模块。
12.进一步的:数据采集模块的配置拉取单元,通过车云连接通道,获取到云端的采集配置文件,同时将该配置调用数据转发模块的配置管理更新服务接口,更新数据转发模块的配置。
13.一种基于以太网的可配置的can报文采集系统,包括车辆的can网络,can网络和车辆的各电子元器件相连,将车辆的各电子元器件相关信号输入can网络;其特征在于:还包括设置在车辆边缘控制器上的数据转发模块,数据转发模块通过can采集接口与can网络连接,采集到can报文;还包括设置在车辆域控制器上的数据采集模块,数据采集模块与虚拟数据总线连接,通过订阅虚拟数据总线上指定的地址,获取到边缘控制器通过以太网发送过来的can报文;数据采集模块设置有数据上传单元,通过车云连接通道,调用数据上传接口,将数据发送到云端。
14.本发明的系统,包括can网络来收集车辆的各电子元器件相关信号,数据转发模块采集can报文,车辆域控制器上的数据采集模块,获取边缘控制器通过以太网发送过来的can报文,并将数据发送到云端。这形成一个完整的信号传输、采集、上传云平台,具有采集时的信号范围更广、采集的频率更高的优点。
15.进一步的:数据转发模块包含配置管理功能。
16.总之,本发明的基于以太网的can报文采集方法及系统,利用以太网收集智能驾驶车辆各电子元器件的can报文,使汽车的相关信号采集时的信号范围更广、采集的频率更高。
附图说明
17.图1是现有技术的数据采集架构简图;图2是本发明基于以太网的数据采集架构简图;图3是本发明can数据采集时序图。
具体实施方式
18.下面接合附图对本发明做进一步的详细说明:如图2、3所示,本发明的基于以太网的can报文采集方法,包括如下步骤:
1)通过can网络和车辆的各电子元器件(ecu)相连,将车辆的各电子元器件相关信号输入can网络;2)在车辆边缘控制器上设置数据转发模块,数据转发模块通过can采集接口与can网络连接,通过can采集接口采集can网络中的报文;can采集接口可以采用标准的rte接口;采集到can报文后将报文进行封装,封装成结构体;数据转发模块包含配置管理功能,暴露配置更新服务到服务总线上,调用该服务的时候,将配置文件(json/xml)传入,配置管理功能将json/xml配置文件持久化存储在本地,同时加载配置到内存中。数据采集的配置内容包含如下信息:字段名字段中文名类型是否必须topic数据发送的topicstring是whitelist白名单列表array是canidcan报文的idint是samplecycle采集周期,单位msint是根据上述配置,仅采集白名单列表中的can id对应的报文,同时对报文进行周期转换(原周期/降频),即如果车辆的各电子元器件相关信号发送到can网络的频率与数据转发模块的can采集接口采集can网络报文的频率不一致,需要对can网络报文进行降频的周期转换。
19.采集到报文后将报文进行封装,封装成结构体。示例如下:typedef struct caninfo{int can_id;long timestamp;bytes data;int datalength;}caninfo将封装好的报文通过以太网发布到以太网虚拟数据总线上的某个对应地址(基于dds/someip)。
20.数据转发模块包含数据转发接口,通过数据转发接口与车辆的以太网连接,作为与以太网进行数据交换的接口,通过以太网将封装后的can报文传入后面设置的域控制器的数据采集模块。
21.在车辆域控制器上设置数据采集模块,数据采集模块与以太网虚拟数据总线连接,通过订阅虚拟数据总线上指定的地址,获取到边缘控制器通过以太网发送过来的can报文,对数据进行反序列化处理之后,得到该数据的结构体数据,再将该数据序列化成车云间的数据协议(json/protocolbuffer等)并进行缓存,如存储在数据采集模块的数据储存单元。
22.4)数据采集模块对数据写入缓存队列(fifo)后,由数据采集模块的独立的数据上传单元,将数据逐条取出,通过车云连接通道(可以基于mqtt实现),调用数据上传接口,将数据发送到云端(云平台)。
23.数据采集模块的配置拉取单元,通过车云连接通道(mqtt / http),获取到云端
(云平台)的采集配置文件,同时将该配置调用数据转发模块的配置管理更新服务接口,更新数据转发模块的配置。
24.本发明,在边缘控制器上,通过can网络和各电子元器件(ecu)相连,通过标准的autosar协议,可以读取到所有的can总线上的数据。为了最大程度的节省资源,在边缘控制器上启用配置文件(json或xml均可),在配置文件中维护需要采集的的can id、采集周期。采集到can报文后,将报文进行封装,包含can id、can报文、时间戳在内的信息,再将报文数据经以太网,发送至域控制器。
25.为了保证数据传输的稳定、高效,可以使用以数据为中心的数据分发服务(dds),dds中间件支持数据的发布/订阅模式。边缘控制器作为数据发布方,将数据采集到后,封装成指定的结构体后将数据发布到虚拟数据总线上。域控制器上,订阅数据后,将数据进行缓存,写入上传队列(fifo)。
26.数据上传启用独立的线程,轮训上传队列,将数据逐条取出,将数据上传到云端,如果上传失败,则将数据仍然放回队列中;上传成功,则将数据从队列中移除。这样,本发明利用以太网收集智能驾驶车辆的can报文,使汽车的相关信号采集时的信号范围更广、采集的频率更高。
27.最后需要说明的是,本发明的上述实例仅仅是为说明本发明所作的举例,而并非是对本发明的实施方式的限定。尽管申请人参照较佳实施例对本发明进行了详细说明,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化和变动。这里无法对所有的实施方式予以穷举。凡是属于本发明的技术方案所引申出的显而易见的变化或变动仍处于本发明的保护范围之列。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1