掌桥专利:专业的专利平台
掌桥专利
首页

一种动态调节ECU收发报文的方法、电子设备及存储介质

文献发布时间:2024-04-18 20:01:30


一种动态调节ECU收发报文的方法、电子设备及存储介质

技术领域

本发明属于汽车控制技术领域,具体涉及一种动态调节ECU收发报文的方法、电子设备及存储介质。

背景技术

CAN总线通讯协议在汽车领域中有着广泛的应用,而控制器则是CAN总线通讯协议中重要的组成部分之一。控制器(ECU)收发报文在BSW(基础软件)、ASW(应用软件)中进行设计。一般基础软件对收发报文的数量、报文ID、报文周期、报文长度进行定义,应用软件对报文信号进行定义。

现有的技术方案,每收/发(接收或发送)一条报文,需要对这个报文分别进行基础软件、应用软件配置。

表1:BSW、ASW配置关系表

针对常规报文1收/发,配置BSW A1信息,包括报文ID、报文周期、报文长度、报文使能等;同时,配置ASW B1信息,进行报文内容定义。

针对多包报文A①收/发,因长度大于8个字节的消息是无法用单个CAN数据帧来装载,还需要按时序先配置公告报文TP.CM_BAM①,间隔一定周期后,按7字节一组截取数据Bdt①分别按时序发送数据报文TP.DT。

上述方案存在的问题是:每个收/发报文均需要在BSW配置报文信息B1(报文ID、周期、长度、发送方式、使能),然后在ASW中定义以B1发送的数据信息。其局限在于,在软件开发之初,就锁定了所有收/发报文的报文ID、周期、长度、发送方式、使能定义,包括:

1、基础软件开发之初定义了收发报文的数量、报文ID、报文周期、报文长度、报文使能等信息。随着控制系统的迭代升级,应用软件进行升级的同时还需要对基础软件的收发报文进行重新配置、扩展。控制器收发报文受制于BSW,BSW、ASW一般是不同专业领域的团队开发,很多控制器的基础软件还采用了供应商定制的方案进行开发,跨国合作也较为普遍。重新配置、扩展自由度低,开发周期特别长。当需要更改、新增报文时,BSW更新的周期长、成本高。

2、由于报文周期、类型(周期型、事件型等)由BSW,多包报文的发送只能由底层软件实现,使得聚焦于应用软件开发的团队受制于底层软件供应商。

3、受控制器资源限制,其收发的报文总数是有限制的,只要新增的报文超出这个限制,必须更换控制器。

发明内容

本发明的目的就是为了解决上述背景技术存在的不足,提供一种动态调节ECU收发报文的方法、电子设备及存储介质。

本发明采用的技术方案是:一种动态调节ECU收发报文的方法,包括基于应用软件的报文变更过程:基础软件将底层收/发报文的配置信息配置成通过应用软件赋值定义,收/发报文时,通过应用软件重新赋值,实现换报文ID收/发信息。

进一步地,还包括基于应用软件的多包报文发送过程:

应用软件将基础软件某一发送接口的配置信息按TP.CM_VN进行定义,并通过此接口发送一帧公告报文TP.CM_VN;

设数据报文TP.DT_VN的发送周期为T,则发送公告报文TP.CM_VN T-x时间后,将同一发送接口的配置信息按TP.DT_VN进行定义,并发送TP.DT_VN的第一帧数据,再每隔T时间依次发送TP.DT_VN的后续每一帧数据;至此完成一组基于变报文ID的公告报文TP.CM_VN、数据报文TP.DT_VN的多帧数据的发送;

重复执行以上过程,即完成周期型多包报文的发送。

进一步地,所述多包报文发送是对数据长度大于8个字节的参数组进行打包、重组、连接、管理、数据传输。

进一步地,所述x的取值为T/10。

进一步地,所述配置信息包括报文ID、周期、长度、发送方式、使能、报文内容。

进一步地,还包括基于基础软件单收/发接口的多组报文收发过程:当增加的接收/发送报文数量多于基础软件的预留端口数量时,采用基于优先级排序的分时序接收/发送的方式,实现一个预留接口接收/发送多个不同的报文内容。

进一步地,所述基于优先级排序的分时序接收/发送的方式如下:

初始时,接收/发送第一周期的报文A;

第一设定时间后,接收/发送第二周期的报文B;

第二设定时间后,接收/发送第三周期的报文C;

重复上述过程实现接收/发送多个不同的报文内容。

更进一步地,所述第一设定时间和第二设定时间均为10ms。

一种电子设备,包括

存储器,用于存储一个或多个程序;

处理器;

当所述一个或多个程序被所述处理器执行时,实现如上任一项所述的方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的方法。

本发明的有益效果是:

1、本发明通过ASW对BSW所定义收发报文的报文ID、报文周期、报文长度、触发形式进行重新赋值,实现仅通过配置ASW即可实现报文变更,使得报文的收发设计不再受制于多个组织或者供应商,通用性更强。

2、本发明基于ASW的多包报文发送方法,使得原强依赖BSW的分包发送直接通过ASW实现,更简单快捷。

3、本发明基于BSW单个接口复用的多组报文发送,通过一个底层配置端口Ax,实现多个报文数据的发送,扩展受控制器资源限制导致的收/发报文总数受限的情况,当控制器收发报文到瓶颈时,可以再次扩展系统可收发报文的数量。

附图说明

图1为本发明的流程图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以互相结合。

如图1所示,本发明提供一种动态调节ECU收发报文的方法,基础软件将原底层报文收/发报文的配置信息Ax中的报文ID、报文周期、报文长度、报文使能等信息配置为通过应用软件变量赋值。收发报文时,通过应用软件对底层配置信息Ax中的报文ID等信息进行重定义,再通过动态调节技术,实现通过应用软件更改收/发报文的定义、基于应用软件的多包报文发送、基于动态调节的收发报文总数扩展,具体过程如下:

步骤1:基础软件将底层报文收/发报文的配置信息(Ax的报文ID、周期、长度、发送方式、使能、报文内容)配置成可通过应用软件赋值定义。

原BSW配置报文信息定义示例:

ConfigRxMsgC(0x0CFE6CEE,50,8,TT_CYCLIC,1,(uint32_t*)&gMSG_TCO1,...);

报文ID:0x0CFE6CEE

报文周期:50

报文长度:8

发送方式:TT_CYCLIC

使能:1

报文内容:(uint32_t*)&gMSG_TCO1,...。

本发明通过ASW报文信息定义示例:

ConfigRxMsgC(MSG_ID MSG_CycleTime,MSG_BitLength,Msg_SendType,MSG_Enable,(uint32_t*)&gMSG_Name,...);

报文ID:MSG_ID

报文周期:MSG_CycleTime

报文长度:MSG_BitLength

发送方式:Msg_SendType

使能:MSG_Enable

报文内容:(uint32_t*)&gMSG_Name。

其中,原先在BSW中已定义具体的报文信息改为在应用软件赋值(如报文周期,由原50改为MSG_CycleTime,然后在应用软件赋值定义),即将原收发报文的相关定义设计为可配置。

步骤2:基于应用软件配置收/发报文信息,将原底层收/发报文定义的Ax信息中报文定义的配置信息在应用软件中进行赋值,包括:

报文ID:MSG_ID

报文周期:MSG_CycleTime

报文长度:MSG_BitLength

发送方式:Msg_SendType

使能:MSG_Enable

报文内容:(uint32_t*)&gMSG_Name。

以A1为例,原报文收/发定义:

报文ID:MSG_ID1

报文周期:MSG_CycleTime1

报文长度:MSG_BitLength1

发送方式:Msg_SendType1

使能:MSG_Enable1

报文内容:(uint32_t*)&gMSG_Name1。

通过以上步骤1、2,在不需要变更收/发报文BSW配置信息的情况下,通过ASW应用软件对以上报文定义信息进行重新赋值即可实现更改接收报文的配置信息。即可将原需分别在基础软件进行定义的Ax(A1、A2...)信息,应用软件进行定义的Bx(B1、B2...)信息,统一为在应用软件进行配置。

以上所述技术实现了在新增、更改收/发报文时,不再需要BSW供应商支持。

步骤3:基于ASW的多包报文发送。

以某一个多包报文为例,现有技术为,配置两条报文

ConfigRxMsgC(0xxxxxxxxx 1000,8,TT_CYCLIC,1,

(uint32_t*)&gMSG_TP.CM_VN,...);

ConfigRxMsgC(0xxxxxxxxy,150,8,TT_CYCLIC,1,

(uint32_t*)&gMSG_TP.DT_VN,...);

再分别按时序发送报文TP.CM_VN,150-x ms后以事件型报文发送TP.DT_VN1.data1-7,300-x ms后以事件型报文发送TP.DT_VN2.data8-14,450-x ms后以事件型报文发送TP.DT_VN3.data15-17。

x代表越前时间,即提前切换报文ID、周期、长度、发送方式、使能、报文内容,使报文发送前已按新的内容进行了填充。

本发明仅需要BSW的一个预留的发送端口,即可实现多包报文发送,多包报文是对数据长度大于8个字节的参数组进行打包、重组、连接、管理、数据传输,用来实现多包传输。多包报文包含两条,一条公告报文TP.CM,反馈参数组编号、消息大小、被拆包的数据包的数目;一条数据报文TP.DT,具体为:

步骤1),应用软件先将基础软件某一发送接口的配置信息按TP.CM_VN进行定义,并通过此接口发送一帧公告报文TP.CM_VN的数据。

此步骤中,基础软件将底层配置信息按步骤1实现可配置化,如表1:ASW、BSW配置关系表,应用软件则以配置信息Bcm①对基础软件Acm①进行重定义;

在后续的实施例中,涉及到动态调节ECU收发报文相关流程的基础软件、应用软件步骤同以上描述。

步骤2),设数据报文TP.DT_VN的发送周期为T,则发送公告报文TP.CM_VN T-x时间后,x的取值为T/10,将同一发送接口的配置信息按TP.DT_VN进行定义,并在T时刻发送TP.DT_VN的第一帧数据,再每隔T时间依次发送TP.DT_VN的后续每一帧数据;至此完成一组基于变报文ID的公告报文TP.CM_VN、数据报文TP.DT_VN的多帧数据的发送;

T-x的意义在于提前一定时间进行基础软件报文定义进行重新赋值,即必须保证基础软件在发送下一个帧数据时,该发送接口的报文ID、报文周期、报文长度已经完成了切换。

步骤3),达到公告报文TP.CM_VN的发送周期后,重复执行步骤1)和2),进行新的一包报文的发送,即完成周期型多包报文的发送。

若上述T为50ms,则x取值为5ms,则初始时刻发送公告报文TP.CM_VN,45ms后将同一发送接口的配置信息按TP.DT_VN进行定义,并发送TP.DT_VN的第一帧数据TP.DT_VN1.data1-7,95ms后发送TP.DT_VN的第二帧数据TP.DT_VN1.data8-14,145ms后发送TP.DT_VN的第三帧数据TP.DT_VN1.data15-17。

步骤4:基于BSW单收/发接口的多组报文数据收/发。

现有的技术中,当需要新增收/发报文时,需由BSW软件供应商扩展适配B1配置;当所配置的收/发报文总数超出控制器资源限制时,就必须通过更换控制器硬件等方式扩展收/发报文的数量。

本发明对收/发报文进行动态规划,可以在BSW原单个收/发接口上实现多组报文数据收发。

当现有增加的接收、发送报文数量远多于BSW的预留端口时,采用基于优先级排序的分时序接收、发送策略,实现一个预留接口,接收、发送多个不同的报文内容。

以扩展发送100ms、500ms、1000ms周期的报文各一条,动态调节发送策略如下:

初始时,发送100ms周期的报文A;

10ms后,发送500ms周期的报文B;

20ms后,发送1000ms周期的报文C;

以上过程中,BSW(基础软件)相比之前,仅需提供一个报文索引接口;

ASW(应用软件)按以上逻辑进行变ID、周期控制,并在相应的时刻调用、发送指定的数据。

本发明还提供一种电子设备,包括存储器和处理器,存储器,用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现如上述的收发报文的方法。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述收发报文的方法及实施例。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

为了使本揭示内容的叙述更加详尽与完备,上文针对本发明的实施方式与具体实施例提出了说明性的描述;但这并非实施或运用本发明具体实施例的唯一形式。实施方式中涵盖了多个具体实施例的特征以及用以建构与操作这些具体实施例的方法步骤与其顺序。然而,亦可利用其它具体实施例来达成相同或均等的功能与步骤顺序。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

以上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

技术分类

06120116561652