一种低延时报文转发方法及网关与流程

文档序号:28744488发布日期:2022-02-07 23:02阅读:269来源:国知局
一种低延时报文转发方法及网关与流程

1.本技术涉及网络通信技术领域,具体涉及一种低延时报文转发方法及网关。


背景技术:

2.目前,中央网关根据整车功能需求,将源网段接收到的报文转发至目标网段,以实现报文路由功能。上述转发过程主要有以下两种方式:一是先进先出队列模式(first input first output,fifo),二是最高优先级先发送模式((most priority first out,mpfo)。
3.相关技术中,通过上述先进先出队列模式或者最高优先级先发送模式,可以较好地完成整车网络功能需求,满足普通的诊断读写报文转发需求。
4.但是,当对ecu(electronic control unit,电子控制单元)进行远程升级软件或本地升级软件时,刷写数据流经过中央网关转发就会存在以下几个问题:首先,刷写数据流的报文转发延迟会影响诊断会话可靠链接;其次,使用最高优先级先发送模式转发会影响数据传输的稳定性,有可能导致丢帧;而使用先进先出队列模式转发会增加软件升级刷写时间。
5.因此,对于软件刷写这种比较特殊的场景,无论使用先进先出队列模式或者最高优先级先发送模式,均难以满足该场景对数据转发的时效性和准确性要求。


技术实现要素:

6.针对现有技术中存在的缺陷之一,本技术的目的在于提供一种低延时报文转发方法及网关,以解决相关技术中无论使用先进先出队列模式或者最高优先级先发送模式,均难以满足软件升级场景对数据转发的时效性和准确性要求的问题。
7.本技术第一方面提供一种低延时报文转发方法,其包括步骤:
8.网关接收到上位机或t-box发送的刷写初始化控制指令后,获取待升级ecu,并控制待升级ecu所在网段上的其它ecu通信静默、以及上位机或t-box与待升级ecu直连;所述刷写初始化控制指令包括待升级ecu和网络控制指令;
9.当网关转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传。
10.一些实施例中,上述对带有预设标识符的报文进行透传之前,还包括:
11.判断接收到的升级报文或应答报文是否带有预设标识符;
12.若是,则透传该升级报文或应答报文;否则,丢弃或记录不具有标识符的报文。
13.一些实施例中,以上述上位机或t-box与网关之间的网段为刷写源网段,以待升级ecu所在网段为目的网段;
14.上述对带有预设标识符的报文进行透传之前,还包括:
15.分别为上述刷写源网段和目的网段分配接收fifp缓存器和发送fifp缓存器,并分别存储带有预设标识符的升级报文和应答报文。
16.一些实施例中,当待升级ecu接收到网关转发的升级报文时,进行刷写升级;
17.当待升级ecu刷写升级完成、并通过数据校验无误后,返回肯定应答报文,并由网关转发给上位机或t-box。
18.一些实施例中,上述上位机或t-box接收到肯定应答报文之后,还包括:
19.发送刷写完成控制指令至上述网关;
20.上述网关接收到刷写完成控制指令时,解除上述上位机或t-box与待升级ecu的直连。
21.一些实施例中,上述网关接收到刷写完成控制指令时,还包括:
22.转发上述刷写完成控制指令至上述其它ecu;
23.上述其它ecu接收到上述刷写完成控制指令时,退出静默模式。
24.一些实施例中,当上位机或t-box判断整车状态满足预设升级条件且接收到用户升级指令时,发送刷写初始化控制指令至上述网关,并控制上述刷写源网段上所有ecu通信静默。
25.一些实施例中,当车辆所处工况为预设工况时,判断整车状态满足预设升级条件。
26.本技术第二方面提供一种网关,该网关包括:
27.获取模块,其用于接收到上位机或t-box发送的刷写初始化控制指令后,获取待升级ecu;上述刷写初始化控制指令包括待升级ecu和网络控制指令;
28.控制模块,其用于控制待升级ecu所在网段上的其它ecu通信静默、以及上位机或t-box与待升级ecu直连;
29.转发模块,其用于当网关转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传。
30.一些实施例中,上述网关还包括:
31.判断模块,其用于判断接收到的升级报文或应答报文是否带有预设标识符,并将判断结果发送给上述转发模块。
32.本技术提供的技术方案带来的有益效果包括:
33.本技术的低延时报文转发方法及网关,网关接收到上位机或t-box发送的刷写初始化控制指令后,即可基于刷写初始化控制指令获取待升级ecu,并控制待升级ecu所在网段上的其它ecu通信静默、以及上位机或t-box与待升级ecu直连;随后,在转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传;由于在报文转发过程中,无需id解析、数据组包,也无需对多包进行流控回复,仅通过预设标识符过滤得到需要转发的报文,即可直接进行数据透传,因此,可有效提高软件刷写数据流的转发效率,使转发延时理论上可达到位时间的10%以内。
附图说明
34.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
35.图1为本技术实施例中低延时报文转发方法的第一种流程图;
36.图2为本技术实施例中低延时报文转发方法的第二种流程图;
37.图3为本技术实施例中网关的硬件示意图。
具体实施方式
38.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
39.本技术实施例提供一种低延时报文转发方法,其能解决相关技术中无论使用先进先出队列模式或者最高优先级先发送模式,均难以满足软件升级场景对数据转发的时效性和准确性要求的问题。
40.如图1所示,本实施例的低延时报文转发方法,具体包括以下步骤:
41.s1.网关接收到上位机或t-box(telematics box,远程信息处理器)发送的刷写初始化控制指令后,获取待升级ecu(electronic control unit,电子控制单元),并控制上述待升级ecu所在网段上的其它ecu通信静默、以及上位机或t-box与待升级ecu直连;上述刷写初始化控制指令包括待升级ecu和网络控制指令。其中,待升级ecu可为一个或多个。
42.可选地,网关接收到刷写初始化控制指令后,可基于刷写初始化控制指令,解析得到上位机或t-box待刷写升级的一个或多个ecu,并得到本次待升级ecu所在的网段,此时网关进入中继器工作模式,即静默该网段上所有ecu并令其暂停发送应用报文,同时还可暂停报文信号超时判断和总线事件记录;待上位机或t-box与待升级ecu建立网络管理通道后,即可控制上位机或t-box与待升级ecu直连,并保持该网段上其它非待升级的ecu静默。可选地,上述刷写初始化控制指令还可包括待升级ecu所在网段。
43.s2.当网关转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传。
44.本实施例的低延时报文转发方法,网关接收到上位机或t-box发送的刷写初始化控制指令后,即可基于刷写初始化控制指令获取待升级ecu,并控制待升级ecu所在网段上的其它ecu通信静默、以及上位机或t-box与待升级ecu直连;随后,在转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传;由于在报文转发过程中,无需id解析、数据组包,也无需对多包进行流控回复,仅通过预设标识符过滤得到需要转发的报文,即可直接进行数据透传,因此,可有效提高软件刷写数据流的转发效率,使转发延时理论上可达到位时间的10%以内。
45.在上述实施例的基础上,本实施例中,上述步骤s2中,上述对带有预设标识符的报文进行透传之前,还包括以下步骤:
46.首先,上述网关判断接收到的升级报文或应答报文是否带有预设标识符。
47.可选地,对于乘用车,预设标识符可设置为以0x7xx开头的11位标识符;对于商用车,预设标识符可设置为以0x18daxxxx开头的29位标识符。
48.若判断为是,即网关判断接收到的升级报文或应答报文带有预设标识符,则透传该升级报文或应答报文;否则,丢弃或记录不具有标识符的报文。
49.在其他实施例中,也可设置不同的标识符以对需要透传的报文进行过滤,即通过预设标识符过滤,转发具有预设标识符的报文,无需通过上层处理,进而提高转发效率,使转发延时理论上可达到位时间的10%以内。
50.进一步地,以上述上位机或t-box与网关之间的网段为刷写源网段,以待升级ecu所在网段为目的网段。
51.上述步骤s2中,对带有预设标识符的报文进行透传之前,还包括以下步骤:
52.分别为上述刷写源网段和目的网段分配接收fifp缓存器和发送fifp缓存器,并分别存储带有预设标识符的升级报文和应答报文。
53.具体地,为上述刷写源网段和目的网段分配分配一对接受和发送fifp缓存器,以存储通过预设标识符过滤后的升级报文和应答报文,即通过接收fifp缓存器存储上位机或t-box发送的带有预设标识符的升级报文,通过发送fifp缓存器存储待升级ecu发送的带有预设标识符的应答报文,进而可有效防止由于刷写数据传输过快而导致的丢帧。
54.在上述实施例中,本实施例中,当待升级ecu接收到网关转发的升级报文时,进行刷写升级。
55.其中,待升级ecu每接收到一个升级报文,可返回一个应答信号,表示已收到一帧数据,同时进行相应的升级过程。通过基于can的数据传输,以及边传数据边升级的方式,可提高升级报文转发的时效性。
56.当待升级ecu数据刷写升级完成、并通过数据校验无误后,返回肯定应答报文,并由网关转发该肯定应答报文给上位机或t-box。
57.具体地,通过上位机或t-box与升级后的待升级ecu之间的数据校验,可确保待升级ecu升级完成且无误。
58.进一步地,上述上位机或t-box接收到肯定应答报文之后,还包括以下步骤:
59.首先,上述上位机或t-box发送刷写完成控制指令至上述网关。
60.然后,上述网关接收到刷写完成控制指令时,解除上述上位机或t-box与待升级ecu的直连,退出中继器工作模式,并恢复正常工作模式。
61.其中,上述中继器工作模式为上述网关仅保留刷写软件过程中,上述上位机或上述t-box所在网段(即上位机或t-box与网关之间的网段)和待升级ecu所在网段的报文路由,通过网关内置程序,将需要中转的两路can接口,在内部进行端口导通,形成直连模式,直接进行数据中转,在数据中转过程中,不进行id解析、数据组包,也无需对多包进行流控回复,仅通过预设标识符过滤,得到具有预设标识符的软件刷写数据流直接进行透传。
62.上述正常工作模式为网关根据配置和路由表将各个网段接收到的应用报文信号转发到目的网段,并且监控节点、报文丢失、以及记录总线负载等有效信息。
63.在上述实施例的基础上,本实施例中,上述网关接收到刷写完成控制指令时,还包括以下步骤:
64.首先,上述网关转发上述刷写完成控制指令至上述目的网段上的其它ecu。
65.然后,上述其它ecu接收到上述刷写完成控制指令时,退出静默模式,并恢复正常通信。
66.具体地,上述网关接收到刷写完成控制指令时,可转发上述刷写完成控制指令至上述目的网段,以使目的网段上的待升级ecu和其它ecu均退出静默模式,恢复正常通信。
67.在上述实施例的基础上,本实施例中,当需要刷写更新ecu软件时,上述上位机或t-box首先需判断整车状态,并判断整车状态满足预设升级条件且接收到用户升级指令时,上述上位机或t-box发送刷写初始化控制指令至上述网关,并控制上述刷写源网段上所有ecu通信静默。即,刷写源网段上,所有接收到刷写初始化控制指令的ecu均需要进入通信静默。
68.可选地,上述上位机或上述t-box将升级包下载后,需先检测升级包文件的有效性,当上述升级包文件有效性检测通过后,再判断整车状态,即整车状态是否满足预设升级条件,并在整车状态满足预设升级条件且接收到用户升级指令时,发出刷写初始化控制指令。
69.本实施例中,当上述上位机或上述t-box检测到升级包文件无效时,则无需判断整车状态。
70.在上述实施例的基础上,本实施例中,上位机或t-box在进行升级报文传输前,还可对待升级ecu进行擦除,擦除后再进行升级报文传输。上述网关仅仅作为中转,不对发的多包进行流控和数据整合,保证数据传输效率。上位机或t-box在判断ecu升级完成后,还可对ecu刷写的软件和数据版本等相关信息进行检验。
71.进一步地,当上述上位机或t-box接收到肯定应答报文,并通过刷写源网段发出刷写完成控制指令时,该刷写源网段上的所有ecu在接收到上述刷写完成控制指令时,同样退出静默模式,并恢复正常通信。
72.本实施例中,当车辆所处工况为预设工况时,判断整车状态满足预设升级条件。此时,可向用户请求是否同意升级操作,并在用户发出升级指令时,发送刷写初始化控制指令至上述网关。因此,当上述上位机或t-box向用户请求是否同意升级操作时,若用户选择不同意,则不会进行刷写升级。可选地,上述上位机或t-box可在达到预设时间且整车状态满足预设升级条件时,再次向用户请求是否同意升级操作。
73.如图2所示,本实施例的低延时报文转发方法具体包括以下步骤:
74.a1.上位机或t-box判断是否整车状态满足预设升级条件且接收到用户升级指令;若是,则转向a2,否则,转向a1。
75.a2.上位机或t-box发送刷写初始化控制指令至网关;
76.a3.网关接收到刷写初始化控制指令后,置中继器工作模式;即控制待升级ecu所在网段上的其它ecu通信静默、以及上位机或t-box与待升级ecu直连;
77.a4.当网关转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传;
78.a5.上述网关判断是否接收到刷写完成控制指令;若是,则转向a6,否则,转向a4。
79.a6.上述网关退出中继器工作模式,并恢复正常工作模式,即根据配置和路由表将各个网段接收到的应用报文信号转发到目的网段,并且监控节点、报文丢失、以及记录总线负载等有效信息。
80.本实施例的低延时报文转发方法,由于在报文转发过程中,仅通过预设标识符过滤得到需要转发的报文,即可直接进行数据透传,无需id解析、数据组包,也无需对多包进
行流控回复,因此,可有效提高软件刷写数据流的转发效率,保证软件刷写过程中数据转发的时效性和准确性,并防止由于刷写数据传输过快而导致的丢帧。
81.本技术实施例还提供一种网关,该网关包括获取模块、控制模块和转发模块。
82.上述获取模块用于接收到上位机或t-box发送的刷写初始化控制指令后,获取待升级ecu;上述刷写初始化控制指令包括待升级ecu和网络控制指令。
83.上述控制模块用于控制待升级ecu所在网段上的其它ecu通信静默、以及上位机或t-box与待升级ecu直连。
84.上述转发模块用于当网关转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传。
85.在上述实施例的基础上,本实施例中,上述网关还包括判断模块。
86.上述判断模块用于判断接收到的升级报文或应答报文是否带有预设标识符,并将判断结果发送给上述转发模块。
87.本实施例中,上述转发模块还用于当判断模块判断接收到的升级报文或应答报文不带有预设标识符时,丢弃或记录该不具有标识符的报文。
88.进一步地,上述网关还包括缓存器模块。本实施例中,以上位机或t-box与网关之间的网段为刷写源网段,以待升级ecu所在网段为目的网段。
89.上述缓存器模块用于分别为上述刷写源网段和目的网段分配接收fifp缓存器和发送fifp缓存器,并分别存储带有预设标识符的升级报文和应答报文,以有效防止由于刷写数据传输过快而导致的丢帧。其中,通过上述接收fifp缓存器可存储上位机或t-box发送的带有预设标识符的升级报文;通过上述发送fifp缓存器可存储待升级ecu发送的带有预设标识符的应答报文,进而可有效防止丢帧。
90.如图3所示,本实施例中,t-box通过ican(info controller area network,信息控制器域网)网段与网关连接,上位机通过dcan(diag controller area network,诊断控制器域网)网段与网关连接,网关还分别与pcan(power controller area network,动力控制器域网)网段、bcan(body controller area network,车身控制器域网)网段、以及ccan(chassis controller area network,底盘控制器域网)网段连接。
91.本实施例中,当进行远程ecu刷写时,通过远程信息处理器t-box发出刷写初始化控制指令至ican网段,网关通过该ican网段获取上述刷写初始化控制指令后,即可获取待升级ecu,进入中继器工作模式;当进行本地ecu刷写时,通过上位机发出刷写初始化控制指令至dcan网段,网关通过该dcan网段获取上述刷写初始化控制指令后,即可获取待升级ecu,进入中继器工作模式。
92.当待升级ecu处于pcan网段时,网关基于接收到的刷写初始化控制指令,控制上述pcan网段上的其它ecu通信静默,并控制上位机或t-box与待升级ecu直连,以便于当网关转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传。
93.在其他实施例中,当待升级ecu处于bcan网段时,网关基于接收到的刷写初始化控制指令,控制上述bcan网段上的其它ecu通信静默,令其暂停发送应用报文,并控制上位机或t-box与待升级ecu直连,此时,其他网段上正常通信,而当网关转发上位机或t-box发送
的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传,即在数据中转过程中,不进行id解析、数据组包,也无需对多包进行流控回复,仅通过预设标识符过滤,得到具有预设标识符的软件刷写数据流直接进行透传。
94.可选地,当待升级ecu处于ccan网段时,网关基于接收到的刷写初始化控制指令,控制上述ccan网段上的其它ecu通信静默,令其暂停发送应用报文,并控制上位机或t-box与待升级ecu直连,此时,网关转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传。其他网段上正常通信。
95.在其他实施例中,可选地,当待升级ecu处于acan网段时,网关基于接收到的刷写初始化控制指令,控制上述acan网段上的其它ecu通信静默,令其暂停发送应用报文,并控制上位机或t-box与待升级ecu直连,此时,其他网段上正常通信。
96.在其它实施例中,当进行远程ecu刷写时,若待升级ecu位于ican网段上,则无需发送该刷写初始化控制指令至网关,进而也无需通过网关转发,此时t-box发送刷写初始化控制指令至ican网段,此时ican网段上所有ecu在接收到上述刷写初始化控制指令后均进入通信静默状态,暂停发送应用报文。随后,t-box与待升级ecu建立网络管理通道,并进行ecu升级,直至待升级ecu升级完成并通过数据校验无误后,返回肯定应答报文至上述t-box。
97.上述t-box接收到肯定应答报文后,发送刷写完成控制指令至ican网段,此时ican网段上的待升级ecu已完成升级,并静默模式,恢复正常通信,而ican网段上其他ecu在接收到上述刷写完成控制指令后,也退出静默模式,并恢复正常通信。
98.在另一实施例中,当进行本地ecu刷写时,若待升级ecu位于dcan网段上,则无需发送该刷写初始化控制指令至网关,进而也无需通过网关转发,此时上位机发送刷写初始化控制指令至dcan网段,此时dcan网段上所有ecu在接收到上述刷写初始化控制指令后均进入通信静默状态,暂停发送应用报文。随后,上位机与待升级ecu建立网络管理通道,并进行ecu升级,直至待升级ecu升级完成并通过数据校验无误后,返回肯定应答报文至上述上位机。
99.上位机接收到肯定应答报文后,发送刷写完成控制指令至dcan网段,此时dcan网段上的待升级ecu已完成升级,并静默模式,恢复正常通信,而dcan网段上其他ecu在接收到上述刷写完成控制指令后,也退出静默模式,并恢复正常通信。
100.本实施例的网关,适用于上述各低延时报文转发方法,对整车ota在进行数据传输时,基于接收到的刷写初始化控制指令,可获取待升级ecu,进而控制待升级ecu所在网段上的其它ecu通信静默、以及上位机或t-box与待升级ecu直连,以便于当转发上位机或t-box发送的升级报文至待升级ecu、或者转发待升级ecu返回的应答报文至上位机或t-box时,对带有预设标识符的升级报文或应答报文进行透传;不仅实现通过判断工作场景,自动调整其工作模式为中继器工作模或正常工作模式,来保证软件刷写过程中数据转发的时效性和准确性,还可有效防止由于刷写数据传输过快而导致的丢帧。
101.在本技术的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本
申请的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
102.需要说明的是,在本技术中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
103.以上仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1