CN105915425B - 一种面向车载can fd网络的信号分组打包方法 - Google Patents
一种面向车载can fd网络的信号分组打包方法 Download PDFInfo
- Publication number
- CN105915425B CN105915425B CN201610428823.3A CN201610428823A CN105915425B CN 105915425 B CN105915425 B CN 105915425B CN 201610428823 A CN201610428823 A CN 201610428823A CN 105915425 B CN105915425 B CN 105915425B
- Authority
- CN
- China
- Prior art keywords
- message
- signal
- new
- packing
- cycle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/828—Allocation of resources per group of connections, e.g. per group of users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Abstract
本发明公开一种面向车载CAN FD网络的信号分组打包方法,包括如下步骤:步骤1,依据信号的周期大小对信号进行分组,并根据周期大小对分组得到的信号组进行升序排列;步骤2,依据空闲带宽评价指标和整数线性规划算法将信号组依次打包到消息之中,得到消息集;步骤3,按照时间健壮性升序的顺序为打包后得到的消息集分配优先级并进行调度分析,如果打包后得到的消息集不可调度,则对打包后得到的消息集进行拆分以提高整个消息集的可调度性,直到打包后的消息集可调度或没有消息可被拆分为止。此种方法可在保证CAN FD网络可调度的前提下,实现网络带宽利用率的优化。
Description
技术领域
本发明属于汽车电子领域,涉及一种车载ECU中通信信号数据的处理,特别涉及一种面向车载CAN FD网络带宽利用率优化的信号分组打包方法。
背景技术
随着汽车在人们的日常生活中发挥越来越重要的作用,人们从经济和社会等方面对汽车提出了越来越严格的要求。因此,汽车正朝着电子化、网络化和智能化的方向飞速发展。汽车工业正经历的上述变革使得汽车电子系统的复杂性骤增,车载网络中需传输的数据量急剧增多。但是现有的在汽车电子系统中应用最为广泛的CAN网络的最大带宽仅为1Mbps,为此博世在2011年推出了一种CAN升级版的网络协议CAN FD。CAN FD的最大带宽可达8Mbps,可满足快速增长的车载数据的传输要求。但是CAN FD消息的负载以字节为单位,负载大小可分别设置为{1,2,3,4,5,6,7,8,12,16,20,24,32,48,64}。因此,不同的信号打包结果将产生不同的带宽需求。现有研究已经证明CAN信号打包问题是一个典型的NP难问题,CAN FD消息负载的配置比CAN更复杂。因此,需要提出一种高效的CAN FD信号打包算法来实现CAN FD高带宽的有效利用。
为解决该问题,一种简单的信号打包方法是将每个信号都单独打包成一个消息。但是该方法生成的消息个数与信号个数相等,一方面将增加消息之间相互竞争网络的几率,另一方面,消息包含的带宽没有被充分利用,从而造成了带宽的浪费。中国专利申请号201410113555.7,名称“一种面向汽车CAN网络带宽消耗优化的车辆信号封装方法”和研究工作(如“Sandstrom K,Norstrom C,Ahlmark M.Frame Packing in Real-TimeCommunication.In:Proc.of RTCSA.2000.399–403.”、“Saket R,Navet N.Frame PackingAlgorithms for Automotive Applications.Journal of Embedded Computing,2(1):93–102,2006.”、“Polzlbauer F,Bate I,Brenner E.Optimized Frame Packing forEmbedded Systems.IEEE Embedded Systems Letters,2012,4(3):65–68.”等)提出了面向CAN的信号打包方法,但是一方面,该方法面向CAN FD的消息格式、带宽等方面与CAN不同,CAN FD的信号打包更加复杂。另一方面,现有方法仅以单个信号作为打包的基本单元,未就周期相等的信号进行统一打包,打包结果对应的带宽利用率不够高效。“Bordoloi U D,Samii S.The Frame Packing Problem for CAN-FD.In:Proc.of RTSS.2014.284-293.”提出一种基于动态规划的CAN FD信号打包算法,但是该算法仅适用于信号大小为整数个字节的情况,且以单个信号作为打包单元,在算法的通用性和带宽利用率优化方面不足。因此,必须提出面向车载CAN FD网络的信号打包方法,在满足系统实时性要求的前提下,实现带宽利用率的优化。
发明内容
本发明的目的,在于提供一种面向车载CAN FD网络的信号分组打包方法,其可在保证CAN FD网络可调度的前提下,实现网络带宽利用率的优化。
为了达成上述目的,本发明的解决方案是:
一种面向车载CAN FD网络的信号分组打包方法,包括如下步骤:
步骤1,依据信号的周期大小对信号进行分组,并根据周期大小对分组得到的信号组进行升序排列;
步骤2,依据空闲带宽评价指标和整数线性规划算法将信号组依次打包到消息之中,得到消息集;
步骤3,按照时间健壮性升序的顺序为打包后得到的消息集分配优先级并进行调度分析,如果打包后得到的消息集不可调度,则对打包后得到的消息集进行拆分以提高整个消息集的可调度性,直到打包后得到的消息集可调度或没有消息可被拆分为止。
上述步骤1中,还对信号组内的信号按照信号大小进行升序排列。
上述步骤2的详细内容是:
21)如果当前打包的信号组Sk不是周期最小的信号组,则转到步骤42),否则,根据Sk中所有信号的大小总和sumk的情况对Sk进行如下处理:如果sumk小于或等于CAN FD消息允许的最大负荷时,新生成一个空消息fnew,并将Sk中的所有信号都打包到fnew之中,然后将fnew加入已有的消息集F之中;如果sumk大于CAN FD消息允许的最大负荷时,生成一个空消息fnew,并采用整数线性规划算法将Sk中的部分信号打包到fnew之中;然后,将已经打包到fnew之中的信号从Sk中删除;如果Sk不为空,再生成一个空消息fnew,按照同样的方法对Sk中的信号进行打包,直到Sk中的所有信号都打包到消息之中;然后将打包生成的消息加入已有的消息集F之中;
22)如果当前打包的信号组Sk不是周期最小的信号组,则首先采用整数线性规划算法将Sk中的部分信号打包到F包含的已有消息的负载级空闲P_SLKj之中,然后更新有新信号插入的已有消息的大小、周期和截止时限,并将已经打包的信号从Sk中删除;
该步骤处理完之后,如果Sk为空,则返回步骤21);否则进入步骤23),对Sk中的剩余信号进行继续处理;
23)对Sk的打包归属进行分析:如果消息集F中部分或所有已有消息的消息级空闲带宽之和仍不够容纳Sk中的所有信号,进入步骤24);否则,对“采用整数线性规划算法将Sk中的所有信号打包到已有消息的消息级空闲带宽之中”和“采用整数线性规划算法将Sk中的所有信号打包到空消息之中”这两种可能的方案对应得到的消息集F的带宽利用率U进行对比分析,如果F中部分或所有已有消息的消息级空闲带宽之和足够容纳Sk中的所有信号时,按照周期降序的顺序依次选择足够容纳Sk中的所有信号的已有消息;如果前一种方案对应的带宽利用率更小,则将Sk中的所有信号打包到F包含已有消息之中;否则,进入步骤24);
24)新生成一个空消息fnew,采用整数线性规划算法将Sk中的部分信号插入fnew之中,将fnew插入F之中,删除Sk中已打包的信号,如果Sk不为空,返回步骤23);否则,返回步骤21)。
上述步骤21)中,空消息fnew的周期Tnew、大小Znew和截止时限Dnew的计算公式如下:
Tnew={ti|si∈fnew}
Dnew=Tnew
其中,si表示信号集Sk中的信号,Sk={s1,s2,…,si,…},ti表示信号si的触发周期,zi表示信号si的大小。
上述步骤3的详细内容是:
31)假定优先级按照从高到低的顺序进行分配,消息集F中已经分配优先级的消息子集为Fa,未分配优先级的消息子集为Fn,Fa初始化为空,Fn初始化为F;在优先级分配的过程中,如果为Fn中的消息fj分配当前优先级时fj可调度,那么此时fj的时间健壮性定义为其截止时限和最差反应时间的差值;如果为fj分配当前优先级时fj不可调度,那么此时fj的时间健壮性为0;分配当前优先级时,如果Fn中存在多个消息均可调度,那么则按照时间健壮性升序的顺序将当前优先级分配给当前时间健壮性最小的消息;
执行完步骤31),如果F中的所有消息均分配到合适的优先级,那么信号集S的打包结束,直接返回消息集F作为打包的输出结果,否则,进入步骤32);
32)为Fn中的消息分配当前优先级时,所有消息均不可调度,此时,按照消息周期大小升序的顺序从Fn中选择包含周期大小不等的信号的消息进行拆分,如果更新后的Fn存在消息在分配当前优先级时可调度,则返回步骤31)进行再次分析;如果此时Fn中所有消息包含的信号的周期都相等,则消息集F不可调度,信号集S打包失败。
采用上述方案后,本发明从CAN FD网络系统设计的角度出发,研究带宽高效的信号打包方法,在保障CAN FD网络系统可调度的前提下实现带宽利用率的优化,可满足车载网络通信在运行时的安全性、可靠性方面的要求。
附图说明
图1是周期大小不等的信号打包情况示意图;
图2是信号打包实例图;
图3是信号打包的流程图。
具体实施方式
以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
本发明提供一种面向车载CAN FD网络的信号分组打包方法,首先依据信号的周期大小对信号进行分组,并根据周期大小对分组得到的信号组进行升序排列。然后,提出启发式信号打包方法,将信号组依次打包到消息之中,从而形成消息集。在启发式打包过程中,将依据两个空闲带宽评价指标和整数线性规划算法来决定信号组的打包归属。最后,按照时间健壮性升序的顺序为打包后的消息分配优先级并进行调度分析。如果打包后得到的消息集不可调度,则对打包后的消息进行拆分以提高整个消息集的可调度性,直到打包后得到的消息集可调度或没有消息可被拆分为止。
本发明的具体内容如下:
步骤1,设定CAN FD网络仲裁段的带宽为500kbps,数据传输段的带宽为2Mbps。车载ECU中需发送的CAN FD信号集为S={s1,s2,…,si,…},其中信号si的特征为{ti,zi,sig_di,mes_di},分别表示信号的触发周期(单位为微秒),大小(单位为比特)、信号初始的截止时限(单位为微秒)和信号打包到消息后的截止期限(单位为微秒),其中ti=sig_di。根据CAN FD协议,信号需先被打包成符合其协议要求的消息才能在网络上进行调度和传输。假设S被打包后得到的消息集为F={f1,f2,…,fj,R},消息fj的特征为{Tj,Zj,Lj,Cj,Dj,Pj},分别表示消息的周期(单位为微秒)、大小(单位为比特)、有效负载、在网络上的传输时长(单位为微秒)、截止时限(单位为微秒)和优先级,其中Dj=Tj。信号的ti,zi和sig_di属性是已知条件,作为信号打包方法的输入。信号的mes_di属性和消息的属性作为信号打包方法的输出,他们的值的大小依赖于信号组打包的结果。当已知信号分组打包结果时候,上述未知属性的具体分析过程如下:
Tj的计算公式如下:
Tj=min{ti|si∈fj} (1)
Zj的计算公式如下:
CAN FD消息的有效负载Lj以字节为基本单位,其支持的负载大小分别为:{1,2,3,4,5,6,7,8,12,16,20,24,32,48,64}。因此,当分析得到消息的实际大小Zj时,可由如下公式计算得到其有效负载Lj的大小:
根据Lj的计算可知Cj的计算公式如下:
其中,τarb表示CAN FD仲裁段的位速度,当仲裁段带宽为500kbps时,τarb=2us;τtran表示CAN FD数据传输段的位速度,当数据段带宽为2Mbps时,τtran=0.5us。
Pj的值根据时间健壮性降序的顺序分配得到,CAN FD消息按照优先级的高低进行非抢占式调度和传输,Pj的值越小,消息的优先级越高。
本发明允许周期大小不等的信号打包到同一个消息之中。如图1所示,当把周期不同的信号s1和s2打包到同一个消息的时候(t1<t2),消息的触发周期等于t1。因此,在消息的调度传输过程中,周期大的信号s2的某些实例需等待一段时间才能与消息的触发点同步(如s2的实例2、实例3和实例4)。该等待时延的最大值max_delay的计算公式如下:
max_delay=t1-gcd(t1,t2) (5)
因此,当信号s1被打包到消息f1之中时,mes_di的计算公式如下:
步骤2,配合图3所示,CAN FD信号的分组打包过程如下:
1)对于ECU中包含的信号集S,按照信号的周期大小对其进行分组。假定信号集S分组后得到的信号组分别为S1,S2,…,Sk,…,SS,其中S=S1∪S2∪…∪Sk∪…∪SS,属于同一个分组的信号的周期大小相等。
2)按照信号大小对信号组内的信号进行升序排列。
3)按照周期大小对信号组进行升序排列。
4)按照周期大小升序的顺序将各个信号组逐个打包到消息之中。该步骤的具体过程如下:
41)如果当前打包的信号组Sk不是周期最小的信号组,则转到步骤42),否则,根据Sk中所有信号的大小总和sumk的情况对Sk进行如下处理:如果sumk小于或等于CAN FD消息允许的最大负载(64字节)时,新生成一个空消息fnew,并将Sk中的所有信号都打包到fnew之中,然后将fnew加入已有的消息集F之中。其中fnew中打包有信号之后新的周期Tnew的周期Tnew、大小Znew和截止时限Dnew的计算公式如下:
Tnew={ti|si∈fnew} (7)
Dnew=Tnew (9)
如果sumk大于CAN FD消息允许的最大负载(64字节)时,生成一个空消息fnew,并采用整数线性规划算法将Sk中的部分信号打包到fnew之中。然后,将已经打包到fnew之中的信号从Sk中删除。如果Sk不为空,再生成一个空消息fnew,按照同样的方法对Sk中的信号进行打包,直到Sk中的所有信号都打包到消息之中。然后将打包生成的消息加入已有的消息集F之中,并按照式(7)-(9)计算打包生成的各个消息的相关参数。
基于整数线性规划算法的信号打包方法如下:
已知条件:已知信号组Sk包含信号si的大小s_size(i)。CAN FD消息大小的最大值为64bytes,即512bits。假设生成的空消息为fj。
未知条件:二进制变量assign(i,j)表示信号si是否打包到消息fj之中,如果是,则assign(i,j)=1,否则,assign(i,j)=0。信号打包得到的消息fj的大小为m_size(j)。
约束条件:
以上约束分别表示打包后消息fj的大小计算,以及消息fj的大小不能超过512bits的限定。
优化目标:
objective:maximizem_size(j)
其中,maximize表示最大化,即在满足相应限制条件的前提下,最大化打包后的消息的大小。
通过上述整数线性规划算法求解,可在满足CAN FD消息最大负载限制的前提下,实现信号组Sk打包的最优化,即可实现CAN FD带宽利用率的最优化。
42)如果当前打包的信号组Sk不是周期最小的信号组,则首先采用整数线性规划算法将Sk中的部分信号打包到F包含的已有消息的负载级空闲P_SLKj之中,然后更新有新信号插入的已有消息的大小、周期和截止时限,并将已经打包的信号从Sk中删除。
已有CAN FD消息fj包含的负载级空闲P_SLKj的定义如下:
CAN FD消息的有效负载Lj以字节为单位,它的大小配置可能为:{1,2,3,4,5,6,7,8,12,16,20,24,32,48,64}。但是消息包含的信号的大小以比特为单位。因此由Lj的计算可知,消息的有效负载中可能存在未被占用的空闲比特位。设定P_SLKj表示Lj中包含的空闲比特位的个数,它的计算公式如下:
P_SLKj=Lj×8-Zj (10)
如图2给出的信号打包实例所示,该消息包含的信号的大小之和为8*8+3=67bits。但是根据CAN FD协议,该消息的有效负载Lj等于12bytes。因此,该消息中包含的负载级空闲P_SLKj等于29bits。
假设该步骤将信号组Sk中的信号si打包到了已有消息fj之中,那么fj的大小、周期和截止时限可分别按照如下公式进行更新:
Z'j=Zj+zi (11)
Tj'=min(Tj,ti) (12)
Dj'=Tj' (13)
事实上,由于信号组按照周期大小的升序排列,后续插入已有消息的信号的周期均大于已有消息的周期。因此,实际上已有消息fj的周期、截止时限不会发生改变。
该步骤处理完之后,如果Sk为空,则返回步骤4);否则进入步骤43),对Sk中的剩余信号进行继续处理。
43)对Sk的打包归属进行分析。如果消息集F中部分(或所有)已有消息的消息级空闲带宽之和仍不够容纳Sk中的所有信号,进入步骤44)。否则,需对“采用整数线性规划算法将Sk中的所有信号打包到已有消息的消息级空闲带宽之中”和“采用整数线性规划算法将Sk中的所有信号打包到空消息之中”这两种可能的方案对应得到的消息集F的带宽利用率U进行对比分析。如果F中部分(或所有)已有消息的消息级空闲带宽之和足够容纳Sk中的所有信号时,仅需按照周期降序的顺序依次选择足够容纳Sk中的所有信号的已有消息即可。
已有CAN FD消息fj的消息级空闲带宽M_SLKj的定义:
CAN FD消息的最大负载64bytes,因此当消息的负载未满的时候,已有消息fj中包含消息级空闲带宽M_SLKj(单位为比特)。M_SLKj的计算公式如下:
M_SLKj=(64-Lj)×8 (14)
如图2所示的信号打包实例,M_SLKj=496bits。
消息fj的带宽利用率Uj的计算公式如下:
消息集F的带宽利用率的计算公式如下:
如果前一种方案对应的带宽利用率更小,则将Sk中的所有信号打包到F包含已有消息之中。否则,进入步骤44)。
44)新生成一个空消息fnew,采用整数线性规划算法将Sk中的部分信号插入fnew之中。将fnew插入F之中,删除Sk中已打包的信号。如果Sk不为空,返回步骤43)。否则,返回步骤4)。
5)按照时间健壮性升序的顺序为F中的消息分配优先级,并对F的可调度性进行分析。优先级分配方法的具体过程如下:
51)假定优先级是按照从高到低的顺序进行分配,消息集F中已经分配优先级的消息子集为Fa,未分配优先级的消息子集为Fn,即F=Fa∪Fn。Fa初始化为空,Fn初始化为F。在优先级分配的过程中,如果为Fn中的消息fj分配当前优先级时fj可调度,那么此时fj的时间健壮性定义为其截止时限和分配当前优先级时的最差反应时间的差值。如果为fj分配当前优先级时fj不可调度,那么此时fj的时间健壮性为0,因此,在分配当前优先级时不需对fj进行考虑,fj只可能分配更低的优先级。在分配当前优先级时,如果Fn中存在多个消息均可调度,那么则按照时间健壮性升序的顺序将当前优先级分配给当前时间健壮性最小的消息。
执行完步骤51),如果F中的所有消息均可分配到合适的优先级,即F可调度,那么信号集S的打包结束,直接返回消息集F作为打包的输出结果。否则,进入步骤52)。
52)为Fn中的消息分配当前优先级时,所有消息均不可调度。此时,则需按照如下方式对Fn中的消息进行处理。
按照消息周期大小升序的顺序从Fn中选择包含周期大小不等的信号的消息进行拆分,以最大程度降低该消息对Fn中的其它消息造成的抢占,从而提高Fn的可调度性。如果更新后的Fn存在消息在分配当前优先级时可调度,则返回步骤5)进行再次分析。如果此时Fn中所有消息包含的信号的周期都相等,则消息集F不可调度,信号集S打包失败。
以下将给出本发明的具体实施例。
假设CAN FD网络裁断段的带宽为500kbps,数据传输段的带宽为2Mbps。某个ECU中包含的信号集S={s1,s2,s3,s4},所有信号的已知参数如表1所示。根据本发明提供的技术方案,首先将信号集S划分为三个如下信号组:S1={s1},S2={s2},S3={s3,s4},并且信号组,以及信号组内的信号按照周期大小升序的顺序进行排列。然后,从信号组S1开始进行打包。
表1信号集实例的相关属性
由于S1是第一个信号组且其包含的信号的大小的总和小于64bytes,因此,只需新生成一个空消息f1,并将S1中的信号插入f1即可。此时得到的已有消息f1的周期和大小等于信号s1的周期和大小,f1对应的负载级空闲和消息级空闲分别为2bits和504bits。接着,对信号组S2进行打包。由于f1的负载级空闲可容纳S2中的所有信号,因此直接将S2中的信号插入f1即可。此时,f1的大小更新为32bits、负载级空闲更新为0,其周期等其他属性不变。最后,对S3进行打包分析。由于此时f1的负载级空闲为0,因此需就S3是插入已有消息f1的消息级空闲还是新生成的空消息f2之中进行带宽利用率分析和判断。通过如下情况1和情况2的分析可知,将S3插入新生成的空消息f2对应的带宽利用率更高。因此,信号集S的打包结果为{f1,f2},其中f1={s1,s2},f2={s3,s4}。但是如果按照已有的以单个信号为打包单元的方法,信号集S的打包结果为{f1},f1={s1,s2,s3,s4}。由下面的分析可知,本发明提出的以信号组为打包单元的方法对应的带宽更高效。
情况1:将S3插入已有消息f1的消息级空闲之中
消息f1的负载大小L1需更新为7bytes,周期不变为1000us。
其中,C1'和T1'分别表示插入信号组S3后消息f1的传输时长和周期大小。
情况2:将S3插入新生成的空消息f2之中
此时存在两个消息f1和f2,其负载大小L1和L2分别为更新为4bytes和3bytes,周期分别为1000us和8000us。
其中,C1和T1分别表示原消息f1的传输时长和周期大小,C2和T2分别表示消息f2的传输时长和周期大小。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (4)
1.一种面向车载CAN FD网络的信号分组打包方法,其特征在于包括如下步骤:
步骤1,依据信号的周期大小对信号集S进行分组,并根据周期大小对分组得到的信号组进行升序排列S1,S2,...,Sk,...,S|S|,其中S=S1∪S2∪...∪Sk∪...∪S|S|;
步骤2,依据空闲带宽评价指标和整数线性规划算法将信号组依次打包到消息之中,得到消息集;
所述步骤2的详细内容是:
21)如果当前打包的信号组Sk不是周期最小的信号组,则转到步骤22),否则,根据Sk中所有信号的大小总和sumk的情况对Sk进行如下处理:如果sumk小于或等于CAN FD消息允许的最大负载时,新生成一个空消息fnew,并将Sk中的所有信号都打包到fnew之中,然后将fnew加入已有的消息集F之中;如果sumk大于CAN FD消息允许的最大负载时,生成一个空消息fnew,并采用整数线性规划算法将Sk中的部分信号打包到fnew之中;然后,将已经打包到fnew之中的信号从Sk中删除;如果Sk不为空,再生成一个空消息fnew,按照同样的方法对Sk中的信号进行打包,直到Sk中的所有信号都打包到消息之中;然后将打包生成的消息加入已有的消息集F之中;再令k=k+1,返回步骤21);
22)如果当前打包的信号组Sk不是周期最小的信号组,则首先采用整数线性规划算法将Sk中的部分信号打包到F包含的已有消息的负载级空闲P_SLKj之中,然后更新有新信号插入的已有消息的大小、周期和截止时限,并将已经打包的信号从Sk中删除;
该步骤处理完之后,如果Sk为空,则令k=k+1,返回步骤21);否则进入步骤23),对Sk中的剩余信号进行继续处理;
23)对Sk的打包归属进行分析:如果消息集F中部分或所有已有消息的消息级空闲带宽之和仍不够容纳Sk中的所有信号,进入步骤24);否则,对“采用整数线性规划算法将Sk中的所有信号打包到已有消息的消息级空闲带宽之中”和“采用整数线性规划算法将Sk中的所有信号打包到空消息之中”这两种可能的方案对应得到的消息集F的带宽利用率U进行对比分析,如果F中部分或所有已有消息的消息级空闲带宽之和足够容纳Sk中的所有信号时,按照周期降序的顺序依次选择足够容纳Sk中的所有信号的已有消息进行分析;如果前一种方案对应的带宽利用率更小,则将Sk中的所有信号打包到F包含已有消息之中;否则,进入步骤24);
24)新生成一个空消息fnew,采用整数线性规划算法将Sk中的部分信号插入fnew之中,将fnew插入F之中,删除Sk中已打包的信号,如果Sk不为空,返回步骤23);否则,令k=k+1,返回步骤21);
步骤3,按照时间健壮性升序的顺序为打包后得到的消息集分配优先级并进行调度分析,如果打包后得到的消息集不可调度,则对打包后得到的消息集进行拆分以提高整个消息集的可调度性,直到打包后得到的消息集可调度或没有消息可被拆分为止;其中,消息集F中已经分配优先级的消息子集为Fa,未分配优先级的消息子集为Fn,Fa初始化为空,Fn初始化为F;在优先级分配的过程中,如果为Fn中的消息fj分配当前优先级时fj可调度,那么此时fj的时间健壮性定义为其截止时限和分配当前优先级时的最差反应时间的差值;如果为fj分配当前优先级时fj不可调度,那么此时fj的时间健壮性为0。
2.如权利要求1所述的一种面向车载CAN FD网络的信号分组打包方法,其特征在于:所述步骤1中,还对信号组内的信号按照信号大小进行升序排列。
3.如权利要求1所述的一种面向车载CAN FD网络的信号分组打包方法,其特征在于:所述步骤21)中,空消息fnew中打包有信号之后新的周期Tnew、大小Znew和截止时限Dnew的计算公式如下:
Tnew={ti|si∈fnew}
Dnew=Tnew
其中,si表示信号集Sk中的信号,Sk={s1,s2,…,si,…},ti表示信号si的触发周期,zi表示信号si的大小。
4.如权利要求1所述的一种面向车载CAN FD网络的信号分组打包方法,其特征在于:所述步骤3的详细内容是:
31)优先级按照从高到低的顺序进行分配,如果为fj分配当前优先级时fj不可调度,那么此时fj的时间健壮性为0,fj只可能分配更低的优先级;分配当前优先级时,如果Fn中存在多个消息均可调度,那么则按照时间健壮性升序的顺序将当前优先级分配给当前时间健壮性最小的消息;
执行完步骤31),如果F中的所有消息均分配到合适的优先级,那么信号集S的打包结束,直接返回消息集F作为打包的输出结果,否则,进入步骤32);
32)为Fn中的消息分配当前优先级时,所有消息均不可调度,此时,按照消息周期大小升序的顺序从Fn中选择包含周期大小不等的信号的消息进行拆分,如果更新后的Fn存在消息在分配当前优先级时可调度,则返回步骤31)进行再次分析;如果此时Fn中所有消息包含的信号的周期都相等,则消息集F不可调度,信号集S打包失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610428823.3A CN105915425B (zh) | 2016-06-16 | 2016-06-16 | 一种面向车载can fd网络的信号分组打包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610428823.3A CN105915425B (zh) | 2016-06-16 | 2016-06-16 | 一种面向车载can fd网络的信号分组打包方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105915425A CN105915425A (zh) | 2016-08-31 |
CN105915425B true CN105915425B (zh) | 2017-05-03 |
Family
ID=56751572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610428823.3A Expired - Fee Related CN105915425B (zh) | 2016-06-16 | 2016-06-16 | 一种面向车载can fd网络的信号分组打包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105915425B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911807B (zh) * | 2017-04-28 | 2017-11-24 | 厦门理工学院 | 一种安全感知的车载can fd网络设计空间搜索方法 |
CN110247958B (zh) * | 2019-05-23 | 2021-09-17 | 厦门理工学院 | 一种考虑计算和网络协同的车载can fd信号打包方法 |
CN111711550B (zh) * | 2020-05-22 | 2021-08-20 | 南昌大学 | 一种车载can网络消息的共享id序列方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1450754A (zh) * | 2003-04-11 | 2003-10-22 | 华中科技大学 | 一种数据包的调度方法 |
WO2012045747A1 (de) * | 2010-10-05 | 2012-04-12 | Deutsche Telekom Ag | Nachrichtenübermittlung über verschiedene kanäle |
CN104283752A (zh) * | 2014-10-17 | 2015-01-14 | 合肥工业大学 | 一种基于轮询调度器的FlexRay动态段消息调度方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148762A (zh) * | 2011-04-28 | 2011-08-10 | 合肥工业大学 | 一种用于CAN-FlexRay网关的混合调度方法 |
CN104104568B (zh) * | 2013-04-02 | 2018-04-27 | 上海通用汽车有限公司 | 用于从通信总线采集数据的方法、装置及系统 |
EP2800316A1 (en) * | 2013-05-01 | 2014-11-05 | Renesas Electronics Europe GmbH | Can fd |
CN103841212B (zh) * | 2014-03-25 | 2017-01-11 | 武汉理工大学 | 一种面向汽车can网络带宽消耗优化的车辆信号封装方法 |
CN103841213B (zh) * | 2014-03-25 | 2017-01-11 | 武汉理工大学 | 一种面向汽车can网络报文数优化的车辆信号封装方法 |
-
2016
- 2016-06-16 CN CN201610428823.3A patent/CN105915425B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1450754A (zh) * | 2003-04-11 | 2003-10-22 | 华中科技大学 | 一种数据包的调度方法 |
WO2012045747A1 (de) * | 2010-10-05 | 2012-04-12 | Deutsche Telekom Ag | Nachrichtenübermittlung über verschiedene kanäle |
CN104283752A (zh) * | 2014-10-17 | 2015-01-14 | 合肥工业大学 | 一种基于轮询调度器的FlexRay动态段消息调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105915425A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105915425B (zh) | 一种面向车载can fd网络的信号分组打包方法 | |
EP3076620B1 (en) | Scheduling of different traffic classes | |
CN102165799B (zh) | 通过具有信道绑定的网络的数据传输 | |
Tanasa et al. | Scheduling for fault-tolerant communication on the static segment of FlexRay | |
CN105554887A (zh) | 一种基于tdma的无线mesh网络分布式资源分配的方法 | |
CN101714947B (zh) | 一种可扩展的全流优先级调度方法及系统 | |
CN101902487B (zh) | 基于链表的队列调度方法与装置 | |
CN102148762A (zh) | 一种用于CAN-FlexRay网关的混合调度方法 | |
CN103354527B (zh) | 提高服务质量的方法、装置及系统 | |
Schenkelaars et al. | Optimal scheduling of switched FlexRay networks | |
CN109617836A (zh) | 卫星数据传输的智能带宽分配方法及分配系统 | |
Xie et al. | Security-aware signal packing algorithm for CAN-based automotive cyber-physical systems | |
CN103384987B (zh) | 运行机动车的方法和使FlexRay总线的运行参数值最优化的方法 | |
CN103619069B (zh) | 混合业务紧急度优先的宽带电力线通信跨层资源分配方法 | |
CN103841212B (zh) | 一种面向汽车can网络带宽消耗优化的车辆信号封装方法 | |
CN103841213B (zh) | 一种面向汽车can网络报文数优化的车辆信号封装方法 | |
US20120263132A1 (en) | Method for encoding resource indexes in wireless communication system, and base station | |
Bouhouch et al. | DDS on top of FlexRay vehicle networks: Scheduling analysis | |
Chlamtac et al. | Design alternatives of asynchronous WDM star networks | |
US8527601B2 (en) | Sending apparatus, sending method and communication system | |
Zhao et al. | A rectangle bin packing optimization approach to the signal scheduling problem in the FlexRay static segment | |
CN106911807A (zh) | 一种安全感知的车载can fd网络设计空间搜索方法 | |
CN103117830A (zh) | 多频时分多址接入系统非实时业务时隙封装方法 | |
Ismail et al. | Enhanced Congestion Control Model Based on Message Prioritization and Scheduling Mechanism in Vehicle-to-Infrastructure (V2I) | |
KR100679091B1 (ko) | 블루투스 환경에서의 패킷 스케줄링 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170503 Termination date: 20200616 |