基于电子控制单元的报文处理方法及装置与流程

文档序号:12278496阅读:243来源:国知局
基于电子控制单元的报文处理方法及装置与流程

本发明涉及汽车通信技术领域,尤其涉及一种基于电子控制单元的报文处理方法及装置。



背景技术:

随着CAN(Controller Area Network,控制器局域网络)总线广泛应用于汽车领域,对于实时嵌入式系统在具有优先任务处理的能力和有限通信带宽的前提下满足实时要求越来越高。

然而,在实际环境中,由于调度、仲裁、阻塞、缓冲等各种因素的叠加,导致实时性问题变得越来越复杂。

通常,当CAN总线负载率超过30%时就会造成报文延时的概率增大,然而总线负载率只是一个宏观的参数,并不能充分地评估总线的可靠性。随着CAN总线负载偏高,大量的CAN总线报文需要发送,出现报文冲突等情况。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种基于电子控制单元的报文处理方法,该方法能够降低报文冲突的概率,同时降低报文的最差响应时间。

本发明的第二个目的在于提出一种基于电子控制单元的报文处理装置。

为达上述目的,本发明第一方面实施例提出了一种基于电子控制单元的报文处理方法,包括以下步骤:

根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级;

对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。

本发明实施例的基于电子控制单元的报文处理方法,首先根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级,然后对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。由此,能够降低报文冲突的概率,同时降低报文的最差响应时间。

另外,根据本发明上述实施例的基于电子控制单元的报文处理方法还可以具有如下附加的技术特征:

在一些示例中,所述根据预设的偏移量分配规则为每个报文设置对应的偏移量,包括:判断报文的周期是否为参考周期的奇数倍;如果所述报文的周期是所述参考周期的奇数倍,则根据第一公式设置与所述报文对应的偏移量;如果所述报文的周期是所述参考周期的偶数倍,则根据第二公式设置与所述报文对应的偏移量。

在一些示例中,在所述根据预设的偏移量分配规则为每个报文设置对应的偏移量之后,还包括:判断报文的偏移量是否随着报文优先级的增大而减小;如果判断获知所述报文的偏移量随着报文优先级的增大而增大,则调整有偏差的偏移量。

在一些示例中,在所述判断报文的偏移量是否随着报文优先级的增大而减小之后,还包括:当第一报文在循环n个周期,以及第二报文在循环m个周期后,根据预设算法验证所述第一报文和所述第二报文是否会在同一时刻产生冲突;如果验证获知所述第一报文和所述第二报文会在同一时刻产生冲突,则对报文的偏移量继续进行调整。

在一些示例中,所述对报文的偏移量继续进行调整,包括:根据预设算法获取调整偏移量;如果所述第一报文的周期大于所述第二报文,则将所述第一报文增加所述调整偏移量;如果所述第二报文的周期大于所述第一报文,则将所述第二报文增加所述调整偏移量。

为达上述目的,本发明第二方面实施例提出了一种基于电子控制单元的报文处理装置,包括:

分配模块,用于根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级;

设置模块,用于对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。

本发明实施例的基于电子控制单元的报文处理装置,首先根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级,然后对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。由此,能够降低报文冲突的概率,同时降低报文的最差响应时间。

另外,根据本发明上述实施例的基于电子控制单元的报文处理装置还可以具有如下附加的技术特征:

在一些示例中,所述设置模块用于:判断报文的周期是否为参考周期的奇数倍;如果所述报文的周期是所述参考周期的奇数倍,则根据第一公式设置与所述报文对应的偏移量;如果所述报文的周期是所述参考周期的偶数倍,则根据第二公式设置与所述报文对应的偏移量。

在一些示例中,所述的装置还包括:判断模块,用于判断报文的偏移量是否随着报文优先级的增大而减小;第一调整模块,用于在判断获知所述报文的偏移量随着报文优先级的增大而增大时,调整有偏差的偏移量。

在一些示例中,所述的装置,还包括:验证模块,用于当第一报文在循环n个周期,以及第二报文在循环m个周期后,根据预设算法验证所述第一报文和所述第二报文是否会在同一时刻产生冲突;第二调整模块,用于在验证获知所述第一报文和所述第二报文会在同一时刻产生冲突时,对报文的偏移量继续进行调整。

在一些示例中,所述第二调整模块用于:根据预设算法获取调整偏移量;如果所述第一报文的周期大于所述第二报文,则将所述第一报文增加所述调整偏移量;如果所述第二报文的周期大于所述第一报文,则将所述第二报文增加所述调整偏移量。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

图1是本发明一个实施例的基于电子控制单元的报文处理方法的流程图;

图2是本发明一个实施例的报文发送的示意图;

图3是本发明另一个实施例的报文发送的示意图;

图4是本发明一个实施例的重排报文优先级的示意图;

图5是本发明一个实施例的设置报文偏移量的示意图;

图6是本发明另一个实施例的基于电子控制单元的报文处理方法的流程图;

图7是根据本发明一个实施例的基于电子控制单元的报文处理的结构示意图;以及

图8是根据本发明另一个实施例的基于电子控制单元的报文处理的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的基于电子控制单元的报文处理方法及装置。

图1是本发明一个实施例的基于电子控制单元的报文处理方法的流程图。

如图1所示,该基于电子控制单元的报文处理方法包括:

步骤101,根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级。

通常,随着CAN总线电子控制单元的增加,以及报文的增多,存在多条报文在同一时刻请求发送的可能性。在这种情况下,报文会根据优先级一次发送,然而对于低优先级的报文就会存在报文延迟。结合图2详细说明如下:

图2是本发明一个实施例的报文发送的示意图。如图2所示,F3报文最早被触发并抢先发送,F1报文和F2报文在同一时刻请求发送(报文F1的优先级高于报文F2)。经过仲裁,高优先级的报文F1排在F3后优先发送,但当F1报文第二次请求发送的那一刻,F2报文的发送出现了滞后,并产生了10.74ms的最差响应时间。

由此,随着CAN总线上可能存在越来越多的报文,可能会存在大量的报文在同一时刻发送并造成更严重的延迟,给系统可能带来报文丢帧,甚至报文最差响应时间超出设计要求的可能性。结合图3详细说明如下:

图3是本发明另一个实施例的报文发送的示意图。如图3所示,报文延迟的时间超过了报文发送的周期导致报文丢失。

为了解决上述问题,本发明实施例提出了一种基于电子控制单元的报文处理方法,能够降低报文冲突的概率,同时降低报文的最差响应时间。

需要说明的是,本发明实施例提出的基于电子控制单元的报文处理方法是针对单个电子控制单元中所要发送报文。

具体地,首先根据网络静态调度策略的单调速率算法,按照报文周期的长短来分配优先级,周期越短的报文具有越高的优先级。其中,网络静态调度策略的单调速率算法是调度之前制定好调度策略,调度过程中按照预先制定的策略进行调度,调度过程中不考虑当前各服务器、网关或链路的实际负载情况及可负载的能力。

由此,可以根据单调速率算法将一条总线上的所有报文ID进行重新分配,即报文周期越小,报文优先级越高。结合图4详细说明如下:

图4是本发明一个实施例的重排报文优先级的示意图。如图4所示,报文周期越小,所分配的报文ID越小(即优先级越高),随着报文ID的增大,所对应分配的偏移量(Offset)也应随之增大。

步骤102,对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。

具体地,对每个电子控制单元中的报文设置同步时钟,从而对每条报文设置对应的偏移量以降低报文冲突的概率,同时降低报文的最差响应时间。

其中,根据预设的偏移量分配规则为每个报文设置对应的偏移量有很多种方式,可以根据实际应用需要进行选择设置,举例说明如下:

第一种示例,根据优先级越高对应的偏移量越小规则直接设置每条报文对应的偏移量。

具体地,图5是本发明一个实施例的设置报文偏移量的示意图。如图5所示,分别设置三条报文(A,B,C)的偏移量依次为0、△1,△2,对于报文B是在延迟△1后请求发送,对于报文C是在延迟△2后请求发送,以此类推,对于周期性报文,可以根据偏移量的设置,有效地规避并减少由低优先级报文的阻塞或者同时多条报文请求发送从而仲裁所产生的最差响应时间。

需要说明的是,设置每条报文对应的偏移量不适用于事件报文。

第二种示例,对报文周期进行判断后,确定具体公式设置与报文对应的偏移量。

具体地,首先判断报文的周期是否为参考周期的奇数倍,然后在报文的周期是参考周期的奇数倍时,根据第一公式设置与报文对应的偏移量,在报文的周期是参考周期的偶数倍时,根据第二公式设置与报文对应的偏移量。

为了本领域人员更加清楚本发明实施例报文对应的偏移量的设置,以参考周期为5举例说明如下:

首先判断报文周期是否为5的整数倍,在报文的周期是5的奇数倍时,根据第一公式设置报文对应的偏移量;在报文的周期是5的偶数倍时,根据第二公式设置报文对应的偏移量。

其中,第一公式为Offset=3×(i-1)with0≤i≤numbers of messages-1。

第二公式为Offset=5×(i-1)with0≤i≤numbers of messages-1。

本发明实施例的基于电子控制单元的报文处理方法,首先根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级,然后对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。由此,能够降低报文冲突的概率,同时降低报文的最差响应时间。

图6是本发明另一个实施例的基于电子控制单元的报文处理方法的流程图。

如图6所示,该基于电子控制单元的报文处理方法包括:

步骤201,根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级。

步骤202,对每个电子控制单元的报文设置同步时钟,判断报文的周期是否为参考周期的奇数倍。

步骤203,如果报文的周期是参考周期的奇数倍,则根据第一公式设置与报文对应的偏移量。

步骤204,如果报文的周期是参考周期的偶数倍,则根据第二公式设置与报文对应的偏移量。

需要说明的是,步骤S201-S204的描述与上述步骤S101-S102相对应,因此对的步骤S201-S204的描述参考上述步骤S101-S102的描述,在此不再赘述。

步骤205,判断报文的偏移量是否随着报文优先级的增大而减小。

步骤206,如果判断获知报文的偏移量随着报文优先级的增大而增大,则调整有偏差的偏移量。

具体地,根据报文偏移量分配规则,偏移量应随着优先级的增大而减小,所以当高优先级报文的偏移量大于低优先级的偏移量时,高优先级报文的偏移量应变小(例如高优先级的偏移量减2)。

需要说明的是,获知报文的偏移量随着报文优先级的增大而减小,不需要调整偏移量。

步骤207,当第一报文在循环n个周期,以及第二报文在循环m个周期后,根据预设算法验证第一报文和第二报文是否会在同一时刻产生冲突。

步骤208,如果验证获知第一报文和第二报文会在同一时刻产生冲突,则对报文的偏移量继续进行调整。

具体地,在调整好报文的偏移量随着报文优先级的增大而减小之后,可能会存在两个报文在分别循环n和m个周期后相撞的情况,所以对于这种情况,可以通过计算对偏移量再次进行调整,以避免在循环一定的周期后两条报文在同一时刻请求发送。

首先,可以通过预设算法验证第一报文在循环n个周期,以及第二报文在循环m个周期后是否会在同一时刻产生冲突。其中,预设算法有很多种,可以根据实际应用需要进行选择设置,举例说明如下:

具体地,设报文集合{F1F1F2……Fm},以及每条报文所对应的周期集合{T1T1T2……Tm}和所对应的偏移量集合{O1O1O2……Om},设任意两个报文i和j(i的优先级高于j)对应周期TiTj,Offset OiOj(由于i的优先级高于j,所以Oi<Oj),并且假设i和j报文在分别循环ninj个周期后,两者会在同一时刻请求发送,得到公式为Tini+Oi=Tjnj+Oj,整理得到因为循环次数n定为正整数,设整理得到

根据上述公式分析判断两条报文是否会在同一时刻产生冲突。具体情况下如下:

第一种示例,当k为正整数时,因为nj是报文循环周期次数定为正整数,如果为正整数,则式成立,证明i和j两报文在循环ninj个周期后两者会相撞。如果不为正整数,则等式不成立,证明两条报文不会在同一时刻请求发送。

第二种示例,当k不为正整数时,已知报文周期都为5的整数倍,可知式中周期TiTj皆为5的整数倍,又因为nj是报文循环周期次数定为正整数,由此,如果式中Oj-Oi的值为5的整数倍,证明i和j两报文在循环ninj个周期后两者会相撞。如果式中Oj-Oi的值不为5的整数倍,证明两条报文不会在同一时刻请求发送。

需要说明的是,可以将电子控制单元中的所有报文都依次带入公式Tini+Oi=Tjnj+Oj,已验证i和j报文在分别循环ninj个周期后,两者是否会在同一时刻请求发送。

由此,可以通过上述例子在确定第一报文和第二报文会在同一时刻产生冲突,进而需要对对报文的偏移量继续进行调整。

具体地,首先根据预设算法获取调整偏移量,接着在第一报文的周期大于第二报文时,将需要将第一报文增加调整偏移量。在第二报文的周期大于第一报文,则需要将第二报文增加调整偏移量。继续以上例子为例,可以将较大周期的报文j的偏移量增大(例如偏移量加2),其中2为调整偏移量。

本发明实施例的基于电子控制单元的报文处理方法,首先根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级,然后对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。由此,通过对电子控制单元中报文优先级的重新分配以及利用优化算法对电子控制单元中报文分配偏移量来降低报文冲突概率从而达到降低报文响应时间、提高总线通信可靠性。

为了实现上述实施例,本发明还提出了一种基于电子控制单元的报文处理装置。

图7是根据本发明一个实施例的基于电子控制单元的报文处理的结构示意图。

如图7所示,该基于电子控制单元的报文处理装置包括:分配模块10和设置模块20。

其中,分配模块10用于根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级。

设置模块20用于对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。

设置模块20用于:判断报文的周期是否为参考周期的奇数倍,如果报文的周期是参考周期的奇数倍,则根据第一公式设置与报文对应的偏移量,如果报文的周期是参考周期的偶数倍,则根据第二公式设置与报文对应的偏移量。

具体地,首先根据网络静态调度策略的单调速率算法,按照报文周期的长短来分配优先级,周期越短的报文具有越高的优先级。

具体地,对每个电子控制单元中的报文设置同步时钟,从而对每条报文设置对应的偏移量以降低报文冲突的概率,同时降低报文的最差响应时间。

需要说明的是,前述对基于电子控制单元的报文处理方法实施例的解释说明也适用于该实施例的基于电子控制单元的报文处理装置,其实现原理类似,此处不再赘述。

本发明实施例的基于电子控制单元的报文处理装置,首先根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级,然后对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。由此,能够降低报文冲突的概率,同时降低报文的最差响应时间。

图8是根据本发明另一个实施例的基于电子控制单元的报文处理的结构示意图。

如图8所示,在如图7所示的基础上,该基于电子控制单元的报文处理装置还包括:判断模块30、第一调整模块40、验证模块50和第二调整模块60。

其中,判断模块30用于判断报文的偏移量是否随着报文优先级的增大而减小。

第一调整模块40用于在判断获知报文的偏移量随着报文优先级的增大而增大时,调整有偏差的偏移量。

验证模块50用于当第一报文在循环n个周期,以及第二报文在循环m个周期后,根据预设算法验证第一报文和第二报文是否会在同一时刻产生冲突。

第二调整模块60用于在验证获知第一报文和第二报文会在同一时刻产生冲突时,对报文的偏移量继续进行调整。

第二调整模块60用于:根据预设算法获取调整偏移量;如果第一报文的周期大于第二报文,则将第一报文增加所述调整偏移量;如果第二报文的周期大于第一报文,则将第二报文增加调整偏移量。

具体地,根据报文偏移量分配规则,偏移量应随着优先级的增大而减小,所以当高优先级报文的偏移量大于低优先级的偏移量时,高优先级报文的偏移量应变小(例如高优先级的偏移量减2)。

需要说明的是,获知报文的偏移量随着报文优先级的增大而减小,不需要调整偏移量。

具体地,在调整好报文的偏移量随着报文优先级的增大而减小之后,可能会存在两个报文在分别循环n和m个周期后相撞的情况,所以对于这种情况,可以通过计算对偏移量再次进行调整,以避免在循环一定的周期后两条报文在同一时刻请求发送。

需要说明的是,前述对基于电子控制单元的报文处理方法实施例的解释说明也适用于该实施例的基于电子控制单元的报文处理装置,其实现原理类似,此处不再赘述。

本发明实施例的基于电子控制单元的报文处理装置,首先根据网络静态调度策略的单调速率算法,按照报文周期为每个电子控制单元的报文分配对应的优先级,然后对每个电子控制单元的报文设置同步时钟,并根据预设的偏移量分配规则为每个报文设置对应的偏移量。由此,通过对电子控制单元中报文优先级的重新分配以及利用优化算法对电子控制单元中报文分配偏移量来降低报文冲突概率从而达到降低报文响应时间、提高总线通信可靠性。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。

在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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