CN107645455A - 一种can总线的消息传输调度方法 - Google Patents

一种can总线的消息传输调度方法 Download PDF

Info

Publication number
CN107645455A
CN107645455A CN201710814995.9A CN201710814995A CN107645455A CN 107645455 A CN107645455 A CN 107645455A CN 201710814995 A CN201710814995 A CN 201710814995A CN 107645455 A CN107645455 A CN 107645455A
Authority
CN
China
Prior art keywords
time
message
messages
real
time messages
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.)
Pending
Application number
CN201710814995.9A
Other languages
English (en)
Inventor
赵昶宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN201710814995.9A priority Critical patent/CN107645455A/zh
Publication of CN107645455A publication Critical patent/CN107645455A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明涉及一种CAN总线的消息传输调度方法,属于工业控制技术领域。本发明对传输的CAN总线硬实时消息块进行合理的组织,先通过排队论建立CAN总线硬实时消息调度数学模型,并得到CAN总线硬实时消息的最小平均延时时间和硬实时消息的最优时间间隔;然后针对CAN总线硬实时消息传输的特点对RMS调度算法进行改进,将CAN总线的硬实时消息转化成周期消息,并应用改进的RMS调度算法对CAN总线硬实时消息进行合理的调度,提高了CAN总线的利用率,降低了CAN总线的平均延迟时间,达到了均衡总线负载的目的。

Description

一种CAN总线的消息传输调度方法
技术领域
本发明涉及工业控制技术领域,具体涉及一种CAN总线的消息传输调度方法。
背景技术
CAN总线中传输的消息根据时间约束主要分为硬实时消息、软实时消息和非实时消息。硬实时消息主要是指突发性消息,该类消息必须在截止期内传输完毕;软实时消息主要是指周期性消息,允许偶尔超过截止期完成传输;非实时消息主要是指组态数据、状态监视数据等,对时间性能要求不高。
目前比较常见的CAN总线消息调度算法有基于实时性的调度、基于时间确定性的调度、基于公平性的调度等。在上述方法中,基于实时性的调度能够保证硬实时消息的可靠传输,但是同时会增加额外的系统开销时间;基于时间确定性的调度对系统中所有消息的调度管理具有较高的可预测性,但是如果消息的时间特性发生变化,就必须对调度表进行重构,灵活性较差;基于公平性的调度为硬实时消息提供了很好的实时性和公平性,但是它对于CAN本身的标识符在报文响应时间中不再起决定作用,也不能保证控制系统性能的稳定性。
为了避免出现CAN总线堵塞和饱和现象,在有限的带宽情况下,需要采取相应的总线消息调度策略,用以合理分配带宽资源,提高CAN总线的利用率,降低CAN总线的平均延迟时间,达到均衡总线负载的目的。为此,需要设计一种CAN总线的消息传输调度方法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种CAN总线的消息传输调度方法,以降低总线的平均延迟率,均衡总线负载,达到最优的通信效率。
(二)技术方案
为了解决上述技术问题,本发明提供了一种CAN总线的消息传输调度方法,对于将CAN总线中传输的硬实时消息,执行以下步骤:
S1、对于将CAN总线中传输的硬实时消息,将硬实时消息的传输过程看作是一种单服务员单队列的排队系统,建立M|M|1排队模型,所述硬实时消息消息的相继到达时间间隔独立,到达时间服从泊松分布,排队队列的长度为无限长,服务方式服从先来先服务
S2、设硬实时消息的平均到达率为λ,则硬实时消息的平均时间间隔为1/λ,计算最小平均延迟时间z*,并根据最小平均延迟时间z*得到硬实时消息的平均到达率λ;
S3、将硬实时消息的调度转化为以1/λ为周期的周期性消息的调度;
S4、使用软实时消息,即周期性消息的调度流程对硬实时消息进行调度。
优选地,对于CAN总线中传输的软实时消息,进行使用软实时消息的调度流程对软实时消息进行调度。
优选地,所述软实时消息的调度流程为:设CAN总线上传输的各条消息长度分别为M1~Mn,每次消息传输时数据字的长度为定值L,对于消息i,i=1,2,…,n,采用如下方式进行分片传输:将消息i分解为[Mi/L]+1块,[x]为小于或等于x的最大整数,每次传输长度为L的数据包,最后一组长度为Mi-[Mi/L]*L;所有数据包的传输时刻以T=Tc+Ts+T r为周期,其中Tc为CAN总线消息的抖动时间,Ts为CAN总线消息的排队延时时间,Tr为CAN总线消息的传输时间;最后将所有周期性消息的周期设为不大于原值且最接近T的整数倍的值,再使用RMS调度算法进行调度。
优选地,步骤S3中,cs为当μ=1时硬实时消息传输所耗费的时间,cw为每条硬实时消息在总线中排队等候所耗费的时间,μ为CAN总线的平均服务率。
(三)有益效果
本发明对传输的CAN总线硬实时消息块进行合理的组织,先通过排队论建立CAN总线硬实时消息调度数学模型,并得到CAN总线硬实时消息的最小平均延时时间和硬实时消息的最优时间间隔;然后针对CAN总线硬实时消息传输的特点对RMS调度算法进行改进,将CAN总线的硬实时消息转化成周期消息,并应用改进的RMS调度算法对CAN总线硬实时消息进行合理的调度,提高了CAN总线的利用率,降低了CAN总线的平均延迟时间,达到了均衡总线负载的目的。
附图说明
图1是本发明的硬实时消息调度流程图;
图2是本发明建立的M|M|1模型发生率图;
图3是本发明的软实时消息调度流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为了提高CAN总线硬实时消息传输的实时性,降低总线的通信延迟率,本文发明提出了一种CAN总线的消息传输调度方法。该方法先通过排队论建立CAN总线硬实时消息调度数学模型,并得到CAN总线硬实时消息的最小平均延时时间和硬实时消息的最优时间间隔;然后针对CAN总线硬实时消息传输的特点对RMS调度算法进行改进,将CAN总线的硬实时消息转化成周期消息,并应用改进的RMS调度算法对CAN总线硬实时消息进行合理的调度。
具体而言,如图1所示,本发明提供了一种CAN总线的消息传输调度方法,对于将CAN总线中传输的硬实时消息,执行以下步骤:
S1、对于将CAN总线中传输的硬实时消息,基于排队论建立CAN总线硬实时消息传输的数学模型。
CAN总线上硬实时消息的传输过程可以看作是一种单服务员单队列的排队系统。总线上的每一条硬实时消息指令为等待服务的顾客,总线为提供数据传输的服务员,服务时间为硬实时消息传输时间。
以下给出该排队系统的排队规则:
1)消息的相继到达时间间隔独立,假设到达时间服从泊松分布;
2)排队队列的长度为无限长,服务方式服从先来先服务。
因此,该模型为一个M|M|1排队模型。该排队系统的模型发生率见图2,其中圆圈中的数字代表系统的状态。
在图2中,λ为消息的平均到达率,μ为总线的平均服务率,m为消息个数,因此1/λ为消息的平均时间间隔,1/μ为消息的平均传输时间。
设Ek为排队系统在状态k处的概率,ρ为总线利用率,建立生灭过程的状态平衡方程:
状态0:λρ0=μE1,E1=ρE0
状态1:λρ1=μE2,E2=ρ2E0
……
状态k:λρk=μEk+1,Ek+1=ρk+1E0 (1)
假设消息的平均时间间隔大于消息的平均传输时间,即ρ﹤1,则下列级数
由此得出排队系统在不同状态下的概率分别为:
E0=1-ρ
E1=ρ(1-ρ)
……
Ek=ρk(1-ρ) (3)
……
总线利用率为
排队系统内消息的平均数为
若排队系统内有k条消息,其中k-1条消息在排队等候,则排队等候的消息平均数为
消息传输花费的时间为
消息排队等候所花费时间的平均值为
CAN总线传输系统的平均延迟时间为消息传输时间和消息排队等候时间之和。对CAN总线上硬实时消息传输进行优化的目标是使平均延迟时间最小,并确定达到最优目标值的最优的总线平均服务率μ*
取目标函数z为消息传输时间与消息在系统中排队等候时间之和的期望值,即
z=csμ+cwL (9)
其中,cs为当μ=1时总线消息传输所耗费的时间,cw为每条消息在总线中排队等候所耗费的时间。将代入上式,可得
为求z的极小值,先求然后令为0,即:
求出最优服务率为
根号前取“+”号是为了保证ρ<1,只有这样系统才会达到稳态。
于是,最小平均延迟时间为
由此可见,只要能够保证最优服务率μ*,即可保证CAN总线上硬实时消息的平均延迟时间最小,从而提高CAN总线上消息传输的实时性和可靠性。
S2、设硬实时消息的平均到达率为λ,则硬实时消息的平均时间间隔为1/λ,即硬实时消息的平均周期,计算最小平均延迟时间z*,并根据最小平均延迟时间z*得到硬实时消息的平均到达率λ,即CAN总线上硬实时消息传输的最优强度;
S3、将硬实时消息的调度转化为以1/λ为周期的周期性消息的调度;
S4、使用软实时消息,即周期性消息的调度流程对硬实时消息进行调度。
速率单调调度(RMS)算法在可预测性比较好的周期任务调度方面得到了广泛的应用,并已被证明是最优的静态优先级调度算法。RMS的核心思想是根据任务的周期来设置任务的优先级。周期越小,其优先级越高。
由于在RMS调度算法中,任务是可以被抢占的,而在消息调度中,消息是不能被抢占的,否则,被破坏的消息无法从中断处恢复传输,从而破坏了消息数据的完整性,导致消息重传或者丢弃。因此,本发明针对CAN总线硬实时消息传输的特点改进现有的RMS算法,改进后的算法避免了由于抢占CAN总线介质而打断硬实时消息的连续传输,保证了硬实时消息传输的完整性。具体方法如下:
CAN总线上消息传输的最长时间T=Tc+Ts+Tr。其中Tc为CAN总线消息的抖动时间;Ts为CAN总线消息的排队延时时间;Tr为CAN总线消息的传输时间。由于抖动时间Tc不易获得,实际计算中可以从T中去掉抖动时间Tc作为消息的响应时间,而用消息的截止期减去消息的响应时间作为抖动时间的最大值。
消息在CAN总线上传输时被分割成较小的分片(最长传输时间为T),若总线控制权抢占点发生在各分片传输的间歇,则不会打断数据包的传输,如图3所示,软实时消息,即周期性消息的调度流程为:设CAN总线上传输的各条消息长度分别为M1~Mn,每次消息传输时数据字的长度为定值L,以消息i为例,i=1,2,…,n,采用如下方式进行分片传输:将消息i分解为[Mi/L]+1块,[x]为小于或等于x的最大整数,每次传输长度为L的数据包,最后一组长度为Mi-[Mi/L]*L;所有数据包的传输时刻以T为周期;最后将所有周期消息的周期设为不大于原值且最接近T的整数倍的值。对周期消息采用上述处理方式后,再在此消息集上应用传统的RMS算法进行调度。由于所有的消息都以L为基准,因此所有的抢占点都发生在mT(m为正整数)处,而各消息在每次传输L个字后主动将总线访问权交给下一个数据包,这样任何一个数据包都不会在传输的过程中被高优先级消息的数据包打断,所以不会因为消息抢占总线访问权而影响各条周期消息的传输。
而对于CAN总线中传输的软实时消息,进行使用软实时消息的调度流程对软实时消息进行调度。
仿真实验结果表明,利用改进后的CAN总线硬实时消息调度方法对CAN总线消息传输进行优化,能够在满足每条硬实时消息最大延迟时间要求和通讯实时性的前提下,提高了总线利用率,有效地缓解了总线消息拥塞和饱和现象,解决了总线负载均衡的难题,具有较好的处理突发性消息的能力。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (4)

1.一种CAN总线的消息传输调度方法,其特征在于,对于将CAN总线中传输的硬实时消息,执行以下步骤:
S1、对于将CAN总线中传输的硬实时消息,将硬实时消息的传输过程看作是一种单服务员单队列的排队系统,建立M|M|1排队模型,所述硬实时消息消息的相继到达时间间隔独立,到达时间服从泊松分布,排队队列的长度为无限长,服务方式服从先来先服务
S2、设硬实时消息的平均到达率为λ,则硬实时消息的平均时间间隔为1/λ,计算最小平均延迟时间z*,并根据最小平均延迟时间z*得到硬实时消息的平均到达率λ;
S3、将硬实时消息的调度转化为以1/λ为周期的周期性消息的调度;
S4、使用软实时消息,即周期性消息的调度流程对硬实时消息进行调度。
2.如权利要求1所述的方法,其特征在于,对于CAN总线中传输的软实时消息,进行使用软实时消息的调度流程对软实时消息进行调度。
3.如权利要求1或2所述的方法,其特征在于,所述软实时消息的调度流程为:设CAN总线上传输的各条消息长度分别为M1~Mn,每次消息传输时数据字的长度为定值L,对于消息i,i=1,2,…,n,采用如下方式进行分片传输:将消息i分解为[Mi/L]+1块,[x]为小于或等于x的最大整数,每次传输长度为L的数据包,最后一组长度为Mi-[Mi/L]*L;所有数据包的传输时刻以T=Tc+Ts+Tr为周期,其中Tc为CAN总线消息的抖动时间,Ts为CAN总线消息的排队延时时间,Tr为CAN总线消息的传输时间;最后将所有周期性消息的周期设为不大于原值且最接近T的整数倍的值,再使用RMS调度算法进行调度。
4.如权利要求3所述的方法,其特征在于,步骤S3中,cs为当μ=1时硬实时消息传输所耗费的时间,cw为每条硬实时消息在总线中排队等候所耗费的时间,μ为CAN总线的平均服务率。
CN201710814995.9A 2017-09-12 2017-09-12 一种can总线的消息传输调度方法 Pending CN107645455A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710814995.9A CN107645455A (zh) 2017-09-12 2017-09-12 一种can总线的消息传输调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710814995.9A CN107645455A (zh) 2017-09-12 2017-09-12 一种can总线的消息传输调度方法

Publications (1)

Publication Number Publication Date
CN107645455A true CN107645455A (zh) 2018-01-30

Family

ID=61110198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710814995.9A Pending CN107645455A (zh) 2017-09-12 2017-09-12 一种can总线的消息传输调度方法

Country Status (1)

Country Link
CN (1) CN107645455A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247942A (zh) * 2018-03-09 2019-09-17 腾讯科技(深圳)有限公司 一种数据发送方法、装置和可读介质
CN110971985A (zh) * 2018-09-30 2020-04-07 武汉斗鱼网络科技有限公司 一种动态调度服务器的方法及相关装置
CN114650195A (zh) * 2022-05-24 2022-06-21 深圳市德兰明海科技有限公司 Can总线上帧的撞帧率计算方法及can总线资源最小化的方法
CN114726726A (zh) * 2022-05-24 2022-07-08 深圳市德兰明海科技有限公司 一种提高can总线通信效率的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801778A (zh) * 2005-12-29 2006-07-12 中山大学 一种网络数据流的多维队列调度与管理系统
CN102608979A (zh) * 2012-03-21 2012-07-25 山东省科学院自动化研究所 Can总线调度分析及监控系统
CN103634184A (zh) * 2013-07-29 2014-03-12 北京汇能精电科技有限公司 一种can总线主从应答模式协议的网络调度算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801778A (zh) * 2005-12-29 2006-07-12 中山大学 一种网络数据流的多维队列调度与管理系统
CN100463451C (zh) * 2005-12-29 2009-02-18 中山大学 一种网络数据流的多维队列调度与管理方法
CN102608979A (zh) * 2012-03-21 2012-07-25 山东省科学院自动化研究所 Can总线调度分析及监控系统
CN103634184A (zh) * 2013-07-29 2014-03-12 北京汇能精电科技有限公司 一种can总线主从应答模式协议的网络调度算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵昶宇,颜昌翔,于平: "1553B总线上消息的实时调度", 《光学精密工程》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247942A (zh) * 2018-03-09 2019-09-17 腾讯科技(深圳)有限公司 一种数据发送方法、装置和可读介质
CN110247942B (zh) * 2018-03-09 2021-09-07 腾讯科技(深圳)有限公司 一种数据发送方法、装置和可读介质
CN110971985A (zh) * 2018-09-30 2020-04-07 武汉斗鱼网络科技有限公司 一种动态调度服务器的方法及相关装置
CN110971985B (zh) * 2018-09-30 2021-11-26 武汉斗鱼网络科技有限公司 一种动态调度服务器的方法及相关装置
CN114650195A (zh) * 2022-05-24 2022-06-21 深圳市德兰明海科技有限公司 Can总线上帧的撞帧率计算方法及can总线资源最小化的方法
CN114726726A (zh) * 2022-05-24 2022-07-08 深圳市德兰明海科技有限公司 一种提高can总线通信效率的方法
CN114650195B (zh) * 2022-05-24 2022-07-29 深圳市德兰明海科技有限公司 Can总线上帧的撞帧率计算方法及can总线资源最小化的方法
CN114726726B (zh) * 2022-05-24 2022-08-23 深圳市德兰明海科技有限公司 一种提高can总线通信效率的方法
WO2023226905A1 (zh) * 2022-05-24 2023-11-30 深圳市德兰明海新能源股份有限公司 Can总线上帧的撞帧率计算方法及can总线资源最小化的方法

Similar Documents

Publication Publication Date Title
CN107645455A (zh) 一种can总线的消息传输调度方法
CN108762896B (zh) 一种基于Hadoop集群任务调度方法及计算机设备
JPH07273772A (ja) Atmスイッチにおける帯域幅要求を処理する装置および方法
CN102833168A (zh) 一种基于时间触发机制的数据传输方法及装置
CN109697122A (zh) 任务处理方法、设备及计算机存储介质
CN108462654B (zh) 增强型gjb289a总线通信管理和调度方法
US20160164784A1 (en) Data transmission method and apparatus
CN101374109B (zh) 一种报文调度方法和调度装置
CN103248583A (zh) 一种基于有限深度的先进先出报文队列管理方法及装置
CN101800704B (zh) 一种基于混合动态优先队列的p2p流媒体系统数据请求调度方法
CN106921586B (zh) 一种数据流整形方法、数据调度方法以及装置
CN112688812B (zh) 应用于电力数据传输的可靠性感知时间敏感网络路由方法
CN106911593A (zh) 一种基于sdn架构的工业控制网络队列调度方法
CN105245423B (zh) 基于最大分配距离算法的1553b总线消息传输优化方法
CN109376509A (zh) 一种kvm任务自动派发系统以及自动派发方法
CN105264499B (zh) 一种共享队列中的消息处理方法、装置及接收核
CN104796994B (zh) 无线通信系统的资源调度方法
CN114390122A (zh) 一种凹印集中供墨控制系统Glink协议下自适应控制调度方法
CN103873386A (zh) 管理网络传输顺序的方法
JP2012221040A (ja) 呼処理制御装置および呼処理制御方法
CN114826816B (zh) 一种can fd总线通信方法、装置及电子设备
Kesidis et al. TB/GI/1 queues with arrival traffic envelopes
Yamamoto et al. Parallel transferable uniform multi-round algorithm for achieving minimum application turnaround times for divisible workload
Sharma Queues with service rate controlled by a delayed feedback
Yuan et al. Mobile Edge Computing for Dynamic Computation Offloading

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180130