一种基于轮询调度器的FlexRay动态段消息调度方法

文档序号:7817097阅读:259来源:国知局
一种基于轮询调度器的FlexRay动态段消息调度方法
【专利摘要】本发明涉及汽车通信【技术领域】,特别涉及一种基于轮询调度器的FlexRay动态段消息调度方法。本调度方法利用FlexRay动态段“柔性时分多址”的媒体访问机制,建立具有不同运行参数的多个轮询调度器及相对应的FlexRay网络参数,获取轮询调度器的最优参数,建立最优可行的动态段消息分组集合,为每个消息分组集合分别创建具有最优参数的轮询调度器;轮询调度器处于激活状态,根据内部优先级选择相应的动态段消息发送;轮询调度器处于非激活状态,停止发送内部任何动态段消息。本发明中轮询调度器将动态段消息的随机发送转化为受控的有序发送,从而确保FlexRay动态段长度最小和所有动态段消息均能在其时限内完成传输,确保动态段网络带宽得到最大利用。
【专利说明】-种基于轮询调度器的FlexRay动态段消息调度方法

【技术领域】
[0001] 本发明涉及汽车通信【技术领域】,特别涉及一种基于轮询调度器的FlexRay动态段 消息调度方法。

【背景技术】
[0002] 随着汽车电控系统(ECU)间对高可靠、高实时的通信要求不断增加,高速总线技 术已经被广泛应用到整车通信中。相对于传统的CAN总线,FlexRay总线融合了时间触发 和事件触发两种媒体访问方式,其容错性和消息传输确定性好,通信速率高,更适用于汽车 底盘、动力和线控等安全性关键系统的通信中,是下一代汽车总线标准。
[0003] FlexRay动态段媒体访问机制与其静态段不同,采用的是"柔性时分多址"机制,用 来传输汽车电控系统之间的偶发性消息,如刹车消息、故障诊断消息等,它们属于事件触发 类的实时非周期性消息。这些动态段消息的调度策略及其相对应的参数配置是FlexRay网 络设计的重要内容,直接关系到消息传输延迟和带宽利用率等网络通信性能。
[0004] 目前,对于FlexRay动态段通信调度研究主要集中在动态段参数(如DS长度、动 态时隙个数等)已知情况下,如何设计动态段消息调度策略及器可调度验证方法。例如, Traian和Jung等分别将DM等调度方法应用在动态段调度中,提出基于WCRT计算的可调度 性验证方法;在此基础上,Zeng等人对消息时序分析中的问题进行改进,提出了更为严格 的WCRT上限计算方法,并用于对消息ID分配的优化设计中;Neukirchner等提出了时隙复 用和周期复用的动态段调度机制下的WCRT计算;Tanasa等提出多消息共用时隙时消息可 调性的分析。这些方法均依赖于已知动态段消息与FlexRay网络参数,在真实汽车网络设 计时实用性不强。
[0005] 而对于参数未知情况下,如何根据所需要发送的动态段消息集合,设计合理的动 态段调度机制,实现所有动态段消息的发送均满足其截止期,确保动态段网络带宽得到最 大利用,已经成为汽车FlexRay网络设计的迫切需求。


【发明内容】

[0006] 本发明为了克服上述现有技术的不足,提供一种基于轮询调度器的FlexRay动态 段消息调度方法,本发明中轮询调度器将动态段消息的随机发送转化为受控的有序发送, 从而确保FlexRay动态段长度最小和所有动态段消息均能在其时限内完成传输,确保动态 段网络带宽得到最大利用。
[0007] 为实现上述目的,本发明采用了以下技术方案:
[0008] -种基于轮询调度器的FlexRay动态段消息调度方法,利用FlexRay动态段"柔性 时分多址"的媒体访问机制,建立具有不同运行参数的多个轮询调度器及相对应的FlexRay 网络参数,获取轮询调度器的最优参数,建立最优可行的动态段消息分组集合,为每个最优 可行的动态段消息分组集合分别创建具有最优参数的轮询调度器;
[0009] 轮询调度器处于激活状态,根据内部优先级选择相应的动态段消息发送;轮询调 度器处于非激活状态,停止发送内部任何动态段消息;进而实现将随机发送的动态段消息 转化为受控的有序的动态段消息,最终实现FlexRay动态段长度最小和所有动态段消息均 能在其时限内完成传输,具体实现步骤如下:
[0010] S1 :根据轮询调度器的参数PS_Parameters,计算轮询调度器发送动态段消息所 历经的最大时间Longest_Time ;其中,PS_Parameters为轮询周期P、相位Θ、执行长度1、 中贞ID FID ;
[0011] S2 :计算 FlexRay 网络参数 F_Parameters,FlexRay 网络参数 F_Parameters 为动 态段长度tDS ;并利用S1计算得出的最大时间Longestjime,获得轮询调度器的参数PS_ Parameters、FlexRay网络参数和动态段消息分组之间的非线性规划方程及三者之间的耦 合、约束关系;
[0012] S3 :获取最优可行的动态段消息分组,根据S2中的得出的非线性规划方程及三者 之间的耦合、约束关系,创建分配有最优可行的动态段消息分组的轮询调度器的最优PS_ Parameters和F_Parameters,使得所有动态段消息均能够在自身时限内完成传输,且所需 动态段长度tDS最小;
[0013] S4 :在轮询调度器设置为最优PS_Parameters和F_Parameters,且最优PS_ Parameters所对应的最优可行的动态段消息分组的情况下,轮询调度器根据自身参数配置 进行激活和去活,激活时轮询调度器对分配到的动态段消息进行调度。
[0014] 本发明还可以通过以下步骤进一步实现。
[0015] 优选的,所述轮询调度器发送动态段消息所历经的最大时间Longestjime的计 算方法如下:
[0016] 定义为节点k中的第j个消息,为m/连续两次出现的最短间隔,4为4的 发送截止期,cf为m/发送时占用的miniSlot个数,t B为miniSlot的长度,t。为FlexRay通 信周期长度,|M|为动态段消息的总个数,|Mk|为节点k中的消息个数;
[0017] 定义:PSi为第i个轮询调度器,PSi的参数分别为Pi,Θ i,li,FIDi,其值均为正整 数,Pi和Θ i的单位为t。,li的单位为tB,FIDi无单位;
[0018] 和gik分别为二进制变量,则和gik取值为:
[0019]

【权利要求】
1. 一种基于轮询调度器的FlexRay动态段消息调度方法,其特征在于:利用FlexRay 动态段"柔性时分多址"的媒体访问机制,建立具有不同运行参数的多个轮询调度器及相对 应的FlexRay网络参数,获取轮询调度器的最优参数,建立最优可行的动态段消息分组集 合,为每个最优可行的动态段消息分组集合分别创建具有最优参数的轮询调度器; 轮询调度器处于激活状态,根据内部优先级选择相应的动态段消息发送;轮询调度器 处于非激活状态,停止发送内部任何动态段消息;进而实现将随机发送的动态段消息转化 为受控的有序的动态段消息,最终实现FlexRay动态段长度最小和所有动态段消息均能在 其时限内完成传输,具体实现步骤如下: 51 :根据轮询调度器的参数PS_Parameters,计算轮询调度器发送动态段消息所历经 的最大时间Longest_Time ;其中,PS_Parameters为轮询周期P、相位0、执行长度1、巾贞ID FID ; 52 :计算 FlexRay 网络参数 F_Parameters,FlexRay 网络参数 F_Parameters 为动态 段长度tDS ;并利用S1计算得出的最大时间Longestjime,获得轮询调度器的参数PS_ Parameters、FlexRay网络参数和动态段消息分组之间的非线性规划方程及三者之间的耦 合、约束关系; 53 :获取最优可行的动态段消息分组,根据S2中的得出的非线性规划方程及三者之 间的耦合、约束关系,创建分配有最优可行的动态段消息分组的轮询调度器的最优PS_ Parameters和F_Parameters,使得所有动态段消息均能够在自身时限内完成传输,且所需 动态段长度tDS最小; 54 :在轮询调度器设置为最优PS_Parameters和F_Parameters,且最优PS_Parameters 所对应的最优可行的动态段消息分组的情况下,轮询调度器根据自身参数配置进行激活和 去活,激活时轮询调度器对分配到的动态段消息进行调度。
2. 如权利要求1所述的一种基于轮询调度器的FlexRay动态段消息调度方法,其特征 在于:所述轮询调度器发送动态段消息所历经的最大时间Longest_Time的计算方法如下: 定义:W为节点k中的第j个消息,吃为,》/连续两次出现的最短间隔,名为m/的发 送截止期,c/为w/发送时占用的miniSlot个数,tMS为miniSlot的长度,t。为FlexRay通 信周期长度,|M|为动态段消息的总个数,|Mk|为节点k中的消息个数; 定义:PSi为第i个轮询调度器,PSi的参数分别为Pp 0 i,lp FIDp其值均为正整数,Pi 和9 i的单位为t。,h的单位为tMS,FIDi无单位; xu和gik分别为二进制变量,则和gik取值为:
定义:{PSJ为所有FID小于FIDi的轮询调度器集合,Ps是PSs的周期,0是该集合中 所有轮询调度器周期的最小公倍数; 最大时间Longest_Time由以下公式求出:
3. 如权利要求2所述的一种基于轮询调度器的FlexRay动态段消息调度方法,其特征 在于:轮询调度器的参数PS_Parameters、FlexRay网络参和动态段消息分 组之间的非线性规划方程的获得方法及耦合、约束关系如下: 521 :定义消息集合G;分配给轮询调度器PS;,二进制变量y y取值为
522 :定义集合 Y = {{xS(1},{gsk}}, tDS 取集合 Y 中最小的 L5,则描述 PS_Parameters、F_ Parameters和动态段消息分组之间的非线性规划方程:
L5彡其中min(tss)是静态段长度下限值。
4. 如权利要求3所述的一种基于轮询调度器的FlexRay动态段消息调度方法,其特征 在于:最优可行的动态段消息分组,以及分配有最优可行的动态段消息分组的轮询调度器 的最优PS_Parameters和F_Parameters的获取方法加下, S31 :定义节点k中消息集合为
其中
i,j为变量,初始值均为〇 A为可变集合;和分别为动态段 消息集合的周期和执行长度; 则Mk中所有可行的动态段消息分组集合Bk可由下述方法求得: 3311:输入消息集合%={/?丨,_",/?丨,_",〇初始化1 = 1; 5312 :判断i < n ?若成立,执行S313 ;否则,执行S3110 ; 5313
5314 :判断j彡n ?若成立,执行S315 ;否则,执行S318 ; 5315 :判
若成立,执行S316;
否则,执行S317 ; 5316 :将放入到Ai中, 5317 :令 j = j+1,并返回 S314; 5318 :解析出Ai中所有非空子集放入到Bk ; 5319 :令 i = i+1,并返回 S312 ; S3110 :输出Bk,退出; S32 :定义B为所有节点中动态段消息的可行性分组集合,定义二进制变量zi;j为 _ \ 5中第j节点的第i个分组5/被选中 人- 中第j节点的第i个分组5/未被选中,^Z- Zu' 则最优可行的动态段消息分组可通过求解下列方程获得:
S33:定义任意轮询调度器PSi的周期和执行长度为?1和11,定义a = Am〇dP八= 0, 1,... 0 -1则求解下述方程获各调度器的相位0 i及动态段长度tDS :
S34 :定义M = H ? ? ?,M」为各个节点动态段消息集合,则最优PS_Parameters与F_ Parameters的获得步骤如下: 5341 :针对M中任意集合&,根据S31获得可行的动态段消息分组集合& ;依次类推根 据S31可以分别获得可行的动态段消息分组集合B2,B3,…,Bn,令所有可行的动态段消息分 组集合为B = Bi U…U Bn ; 5342 :针对集合B根据S32求出最优可行的动态段消息分组矿=f U-LJ尽I,;给每个 消息分组创建一个轮询调度器PS,并从1开始连续为每个PS分配FID ;任意轮询调度器PSi 的周期Pi、执行长度li和FIDi可由下公式计算:
S343 :将S342求出的所有轮询调度器的周期和执行长度,代入S33 ;由上述方程组联立 可求出最小的动态段长度tDS、集合{gik}。则0 i = k, (gik G {gik},gik = 1),由此可获得任 意轮询调度器PSi的相位e it)
5.如权利要求4所述的一种基于轮询调度器的FlexRay动态段消息调度方法,其特征 在于:轮询调度器对动态段消息的调度过程如下: 541 :轮询调度器及网络参数分别被设置为最优PS_Parameters与t DS,并按最优PS_ Parameters对应的最优可行的动态段消息分组,给每个动态段消息分配唯一的轮询调度 器; 542 :当动态段消息到达时,消息按单调速率算法DM分配优先级,按照优先级大小依次 放入消息缓冲队列,然后将消息的帧ID设置为所在轮询调度器的FID ; S43:各轮询调度器在自身相位0时刻,首次激活运行,以后每隔自身周期P便激活执 行一次;其余时间该轮询调度器休眠; S44 :某个轮询调度器PS被激活时,若所对应消息缓冲队列为空,则直接休眠;否则,首 先在所对应消息缓冲队列中选取队首消息,将其放入到FlexRay控制器发送缓冲区,然后 主动休眠; 当FlexRay的dynamic slot计数值等于该调度器FID时,若FlexRay控制器发送缓 冲区为空,则总线上占用的miniSlot长度为常数1 ;否则,消息将会被发送,总线上占用的 miniSlot长度等于该消息长度; S45:轮询调度器处于休眠状态时,停止从消息缓冲队列中选取消息发送。
【文档编号】H04L12/403GK104283752SQ201410553105
【公开日】2015年1月14日 申请日期:2014年10月17日 优先权日:2014年10月17日
【发明者】王跃飞, 张恒, 张亚生, 王华瑞, 方海涛, 黄维康, 刘红军, 胡昊, 黄磊 申请人:合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1