一种CAN总线控制网络的混合调度方法与流程

文档序号:16544497发布日期:2019-01-08 20:45阅读:415来源:国知局
一种CAN总线控制网络的混合调度方法与流程

本发明涉及信息技术领域,具体地说是一种can总线控制网络的混合调度方法。



背景技术:

can总线是国际上应用最广泛的现场总线之一,是能够有效支持实时控制或分布式控制的串行通信网络,can总线作为低层监控被用来解决测试与控制之间实时和可靠数据的交换。

现有技术中can总线控制网络中存在数据时延的问题,一些关键级别高的数据的时延甚至会影响作业的安全,降低了对例如生产线控制的可靠程度。

所以,现有技术中can总线控制网络中存在数据时延的问题。



技术实现要素:

本发明的目的在于提供一种can总线控制网络的混合调度方法,用于解决现有技术中存在的can总线控制网络的数据时延的问题。

本发明解决其技术问题所采取的技术方案是:

一种can总线控制网络的混合调度方法,包括以下步骤:

(1)依据can协议并使用标示符域的前两位将所述can总线控制网络中的信息帧分为紧急硬实时信息、普通硬实时信息、软实时信息和非实时信息;

(2)对所述紧急硬实时信息和所述普通硬实时信息通过动态edf算法进行调度,通过dm算法对所述软实时信息所述非实时信息进行调度。

进一步地,在对所述can总线控制网络进行混合调度的过程中,通过平均分区策略来选取最早截止分区。

进一步地,在对所述can总线控制网络进行混合调度的过程中,通过指数分区策略来选取最早截止分区。

进一步地,在对所述can总线控制网络进行混合调度的过程中,通过指数分区策略来选取最早截止分区。

进一步地,通过所述dm算法进行调度包括以下步骤:

1)在所述can总线控制网络中正在等待的排序任务中找出dm_num,其中dm_num指的是截止期最小的任务的个数;

若dm_num为1,则该任务获得所述can总线控制网络的总线使用权;

2)当步骤1)中的dm_num≥2时,在dm_num个任务中依据最早截止时间获得排队序列为s_edf,最早截止日期为edf(t),edf(t)的最小值为b的任务个数为edf_num;

寻找llf(t)中的的最小值c,首先满足llf(t)=c的任务先获得所述can总线控制网络的总线使用权,其中llf(t)指的是edf_num个任务中每个任务的松弛时间;

4)执行完获得所述can总线控制网络的总线使用权的任务后,若有处于等待状态的任务,则转到步骤1);若没有,则等待新任务的到来。

本发明的有益效果是:对于硬实时信息来讲,最早截止期是动态变化的,这决定了定义信息的优先级标识符的后面位编码也随之变化。而对于软实时和非实时信息,信息的时间特性对标识符的后面位编码起着主要作用。本发明通过上述手段将信息帧进行分类,然后根据分类结果的不同采用不同的调度手段,不但保证了作业系统中报文的优先级由高到低顺序依次为紧急硬实时信息、普通硬实时消息、软实时信息、非实时信息,而且使参加竞争的报文减少,缩小了开支。本发明通过上述方案能够解决can控制网络中由于数据传输协议不完善而导致各节点在竞争中产生等待而错失截止期,从而避免关键级别高的的数据发生时延,保证作业的安全。本发明通过上述混合式的调度方式,充分利用资源对每个节点信息实行有效的调度,保证关键性高的任务能在截止期内完成,使得作业系统的存在价值更高。本发明通过上述手段,在系统中非周期性消息未被盲目对待的同时又保证了紧急突发事件的实时性,同时使得占用网络资源较多的周期性消息的实时性也要有相应的保障,避免出现秩序紊乱的画面,提高了包含can总线控制网络的系统的控制性能和稳定性。通过上述手段,对网络资源的利用率也得到了提高,同时大大减小了额外的消耗。

附图说明

图1为在混合调度过程中的标示符结构;

图2为平局分区策略的示意图;

图3为指数分区策略的示意图;

图4为采用dm算法进行调度的流程图;

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种can总线控制网络的混合调度方法,包括以下步骤:

(1)依据can协议并使用标示符域的前两位将can总线控制网络中的信息帧分为紧急硬实时信息、普通硬实时信息、软实时信息和非实时信息。如图1所示,如果信息帧的标示符域的前两位为“00”则分类为紧急硬实时信息;如果信息帧的标示符域的前两位为“01”则分类为普通硬实时信息;如果信息帧的标示符域的前两位为“10”则分类为软实时信息;如果信息帧的标示符域的前两位为“11”则分类为非实时信息。

(2)对紧急硬实时信息和所述普通硬实时信息通过动态edf算法进行调度,通过dm算法对软实时信息所述非实时信息进行调度。dm是deadlinemonotonicscheduling的缩写,是在rm算法(一种针对周期任务而言的优先级调度算法)之后发展起来的一种固定优先级调度算法。在dm调度算法中,任务优先级由任务时限来决定,时限宽度越小,优先级别越高,时限宽度越长,优先级别越低。采用任务时限作为任务优先级别是基于这种思想:时限宽度越小的任务,越需要紧急处理,否则使得任务越过其时限而得不到调度,从而影响系统的实时性。

如图1所示,对于硬实时信息来讲,最早截止期是动态变化的,这决定了定义信息的优先级标识符的后面位编码也随之变化。而对于软实时和非实时信息,信息的时间特性对标识符的后面位编码起着主要作用。本发明通过上述手段将信息帧进行分类,然后根据分类结果的不同采用不同的调度手段,不但保证了作业系统中报文的优先级由高到低顺序依次为紧急硬实时信息、普通硬实时消息、软实时信息、非实时信息,而且使参加竞争的报文减少,缩小了开支。本发明通过上述方案能够解决can控制网络中由于数据传输协议不完善而导致各节点在竞争中产生等待而错失截止期,从而避免关键级别高的的数据发生时延,保证作业的安全。本发明通过上述混合式的调度方式,充分利用资源对每个节点信息实行有效的调度,保证关键性高的任务能在截止期内完成,使得作业系统的存在价值更高。本发明通过上述手段,在系统中非周期性消息未被盲目对待的同时又保证了紧急突发事件的实时性,同时使得占用网络资源较多的周期性消息的实时性也要有相应的保障,避免出现秩序紊乱的画面,提高了包含can总线控制网络的系统的控制性能和稳定性。通过上述手段,对网络资源的利用率也得到了提高,同时大大减小了额外的消耗。

在对can总线控制网络进行混合调度的过程中,通过平均分区策略来选取最早截止分区。

如图2所示,对于两个报文m1和m2,设定本轮开始仲裁的时刻tai当作时间轴原点。将时间轴等分为{i0,i1,…ik,ik+1,…in},时间长度等时分配为αk,时间段的标号表示该报文优先级的级别,系统每次仲裁都会计算消息的最早截止时间。m1和m2的最早截止时间分别为drel1和drel2,处于同一个分区内,具有相同的优先级就可能导致先执行m2,而实际上drel2>drel1,m2没有m1的优先级高。平均分区策略会使两个时间参数接近的任务划分到同一个区域,能保证了can报文帧的位数能够承担。因为can总线上报文id(标识符)的位数有限,而信息的绝对截止期范围太大,所以可以利用信息的时间参数进行分区编码来减小比较范围,即在同一个分区内具有相同的优先级。对于任务t=(ai,hi,ci,di),ai—信息到来时间;hi—信息的周期;ci—信息的最大执行时间;di—信息的截止期限信息的最早截止期为:ed(t)=di-ai。

在对所述can总线控制网络进行混合调度的过程中,也可以通过指数分区策略来选取最早截止分区。

如图3所示,在指数分区策略的过程中,首先,按以变量a为底的指数分区方式将相对截止期区间分为k个区间段d={d0,d1,…di,…dk},所有信息中的最大相对截止期时间dmax必须被包含在最后的指数分区区间段内,且dmax=max{dj}。如图3所示,将每个时间段分为q段那么,网络中信息优先级的个数为q*k,设所用信息标识符的编码位为n,则其关系要满足

q*k≤an

时间段长度为:

经分析可知包含i的区间号m为:

则信息i的优先级计算公式为:

采用指数分区策略的手段能够降低优先级倒置的概率。对最早截止时间采用指数增长的方式进行分段,采用这种方法可以使接近起始时间的区域以高精度分区,使得下次优先级碰撞的概率降低;远离起始时间的区域不影响下一时刻报文的传输,分区大,精度低。从而使对实时性要求高的信息分散开,减小截止期较小的两个信息在同一区域出现的概率,增加了优先级的分配精度,因为离tai越近的任务越紧迫,如果发生转置,后果会很严重。与此同时,对实时性要求低的信息密集也起来,这样即使对实时性要求不高的信息出现了优先级倒置的状况。

如图4所示,本发明还提供一种通过dm算法进行调度的方法。

通过dm算法进行调度包括以下步骤:

1)在can总线控制网络中正在等待的排序任务中找出dm_num,其中dm_num指的是截止期最小的任务的个数;

若dm_num为1,则该任务获得can总线控制网络的总线使用权;

2)当步骤1)中的dm_num≥2时,在dm_num个任务中依据最早截止时间获得排队序列为s_edf,最早截止日期为edf(t),edf(t)的最小值为b的任务个数为edf_num;

寻找llf(t)中的的最小值c,首先满足llf(t)=c的任务先获得所述can总线控制网络的总线使用权,其中llf(t)指的是edf_num个任务中每个任务的松弛时间;

4)执行完获得所述can总线控制网络的总线使用权的任务后,若有处于等待状态的任务,则转到步骤1);若没有,则等待新任务的到来。

由于dm算法判定任务优先级的标准是截止期,所以它不但能应用于周期性消息中,也能应用于非周期性消息。在can总线控制网络中,节点会不断的发送can报文,而dm调度算法是按任务的截止期排好优先级发送,没有把加入新的报文导致重新排序的情况考虑在内。

本发明提供的“通过dm算法进行调度”的方法中的dm算法与现有技术中的dm算法存在改进的地方,在现有技术中的dm调度算法的基础上综合了截止期、最早截止期、松弛时间三个参数去完成对任务的逐级调度。由于改进后的dm调度算法是针对软实时和非实时性任务,松弛时间判断标准应该放在最低级。此种方法只用根据调度算法的要求在任务排队序列中找到满足调度条件的任务使其获取总线的使用权而不需对现已排队等待传输的任务进行任何排序,执行完此任务之后,对新的等待序列重新按此方法进行搜索来确定获得总线使用权的任务。

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