CN114726726B - 一种提高can总线通信效率的方法 - Google Patents

一种提高can总线通信效率的方法 Download PDF

Info

Publication number
CN114726726B
CN114726726B CN202210568191.6A CN202210568191A CN114726726B CN 114726726 B CN114726726 B CN 114726726B CN 202210568191 A CN202210568191 A CN 202210568191A CN 114726726 B CN114726726 B CN 114726726B
Authority
CN
China
Prior art keywords
priority
frame
bus
frames
collision rate
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.)
Active
Application number
CN202210568191.6A
Other languages
English (en)
Other versions
CN114726726A (zh
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.)
Shenzhen Delian Minghai New Energy Co ltd
Original Assignee
Shenzhen Poweroak Newener Co Ltd
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 Shenzhen Poweroak Newener Co Ltd filed Critical Shenzhen Poweroak Newener Co Ltd
Priority to CN202210568191.6A priority Critical patent/CN114726726B/zh
Publication of CN114726726A publication Critical patent/CN114726726A/zh
Application granted granted Critical
Publication of CN114726726B publication Critical patent/CN114726726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供提高CAN总线通信效率的方法,包括:S1、为CAN总线上运行的各优先级的帧分别设置初始的发送频率;S2、基于排队论的Erlang B公式,利用CAN总线通信速率和各优先级的帧的帧长及S1中发送频率计算CAN总线上计划运行的各优先级的帧的撞帧率;S3、按优先级从高到低的顺序,依次判断步骤S2计算出的各优先级的撞帧率是否超出其撞帧率上限;若超出,将该超出上限的优先级的帧的发送频率降低;若未超出,将该未超出上限的优先级的帧的发送频率调高,进入步骤S2继续循环;S4、将不超出各优先级的帧允许的撞帧率上限所对应的各优先级的最大发送频率进行输出以完成优化。本发明能准确计算各优先级的帧的最大发送频率,实现总线资源的优化配置,提升通信效率。

Description

一种提高CAN总线通信效率的方法
技术领域
本发明涉及数据传输技术领域,尤其是涉及一种提高CAN总线通信效率的方法。
背景技术
在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应"减少线束的数量"、"通过多个LAN,进行大量数据的高速通信"的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。
CAN全称为Controller Area Network(控制器区域网络),是1985年由德国博世公司提出的一种数据协议总线,目前被广泛地运用在汽车电子,工业自动化等分布式实时控制领域。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用范围已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。
CAN总线帧的数据段最多允许8个字节,采用短帧结构,传输时间短,受干扰概率低。但随着总线的负载率增加,总线上发生撞帧的事件不可避免,为了增强可靠性,利用CAN总线开发产品协议时,往往会采用发送周期性帧或者给将要发送的帧加上一个随机等待时间以防止撞帧事件,但这样无疑就降低了通信效率,造成了通信资源的浪费。
需要说明的是,在上述背景技术部分公开的信息仅用于对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于克服现有技术无法计算撞帧率,进而无法提升CAN总线通信效率的缺点,提供一种提高CAN总线通信效率的方法。
为实现上述目的,本发明采用以下技术方案:一种提高CAN总线通信效率的方法,包括如下步骤:
S1、为CAN总线上运行的各优先级的帧分别设置初始的发送频率;
S2、在设置的所述发送频率下,基于排队论中的Erlang B公式,利用固定的CAN总线通信速率和各优先级的帧的帧长以及所述发送频率,计算CAN总线上计划运行的各优先级的帧的撞帧率;
S3、按优先级从高到低的顺序,依次判断步骤S2计算出的各优先级的帧的撞帧率是否超出该优先级的帧允许的撞帧率上限;若有超出,则将该超出上限的优先级的帧的发送频率降低并进入步骤S2继续循环;若均未超出,则将该未超出上限的优先级的帧的发送频率调高并进入步骤S2继续循环;
S4、将不超出各优先级的帧允许的撞帧率上限所对应的各优先级的最大发送频率进行输出以完成优化。
在一些实施例中,步骤S1中,通过自行拟定数值的方式为各优先级的帧分别设置初始的发送频率。
在一些实施例中,步骤S1中,通过如下公式计算各优先级的帧的初始的发送频率:
Figure 447373DEST_PATH_IMAGE001
其中,L_ p[i]表示优先级i的帧的初始的发送频率,i=0,1,2,…,p-1,i=0表示最高优先级,CAN总线上计划运行的优先级数目为p;B表示固定的CAN总线通信速率;Bp_T[i]表示优先级i的帧的允许的撞帧率上限;S[i]表示优先级i的帧的帧长。
在一些实施例中,步骤S2中计算CAN总线上计划运行的各优先级的帧的撞帧率时,依据从高到低的优先级顺序来计算;其中,对于最高优先级帧的撞帧率,直接采用Erlang B公式,利用对应的发送频率、帧长和CAN总线通信速率计算;对于其余各优先级的帧的撞帧率,利用Erlang B公式结合该优先级的累积流量负载和溢出流量负载进行计算,其中的累积流量负载为该优先级的流量负载与更高优先级的流量负载之和,溢出流量负载为更高优先级向该优先级溢出的流量负载。
在一些实施例中,各优先级的帧的撞帧率Bp[i]计算如下:
Figure 276789DEST_PATH_IMAGE002
其中,i=0代表最高优先级,i=1,2,…,p-1代表其余依次降低的优先级,CAN总线上计划运行的优先级数目为p;A[i]表示优先级i相对于CAN总线的流量负载,k=1,L_S[i]表示优先级i的累积流量负载,A_L[i]表示更高优先级向优先级i溢出的溢出流量负载。
在一些实施例中,A[i]的计算方法为:
Figure 257383DEST_PATH_IMAGE003
其中,L[i]、S[i]分别表示优先级i的帧的发送频率和帧长,B代表当前的CAN总线通信速率。
在一些实施例中,L_S[i]的计算方法为:
Figure 96026DEST_PATH_IMAGE004
在一些实施例中,A_L[i]的计算方法为:
Figure 721043DEST_PATH_IMAGE005
在一些实施例中,步骤S3中,将该超出上限的优先级的帧的发送频率降低的方式包括步进式和/或二分法查找。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时能实现前述的提高CAN总线通信效率的方法的步骤。
与现有技术相比,本发明的技术方案具有如下有益效果:
现有技术中没有具体的撞帧率的算法,无法得知在特定情况下(包括CAN总线通信速率、各优先级的帧的发送频率、各优先级的帧长、优先级数目)的撞帧率是多少,也就无法提高CAN总线的通信效率。本发明提供了一套基于排队论中的Erlang B公式计算撞帧率的算法,并在计算出撞帧率的基础上,与对应的允许撞帧率上限作比较以寻找出在总线通信速率和帧长固定的情况下,满足撞帧率不超出允许撞帧率上限的最大发送频率,从而在不改变总线资源(即不改变通信速率)的情况下提高通信效率。
在既不改变总线通信速率,又满足一定的撞帧率的情况下,最大化发送频率,接收方会得到更多的信息,从而优化了通信资源的使用。本发明根据CAN总线的通信速率以及预先设定的允许撞帧率上限准确计算出能达到的最大的帧发送频率,提高CAN总线通信效率,达到灵活资源配置,优化资源使用的目的。
本发明应用在采用CAN通信总线的产品的开发阶段,涉及一种提高CAN总线通信效率的方法,特别是针对总线负载大、涉及多优先级的帧同时传输的情况下,提高设计效率和最大化各优先级的发送频率,让CAN总线的使用者根据不同的使用场景,在开发阶段就能实现总线资源的优化配置,提升通信效率。
附图说明
图1是本发明实施例中的提高CAN总线通信效率的方法流程图;
图2是本发明实施例中的各优先级的撞帧率计算方法流程图;
图3是本发明实施例中的各优先级的最大发送频率的计算方法流程图。
具体实施方式
以下对本发明的实施方式做详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在运用CAN总线设计开发产品时,首先要对CAN总线资源的配置进行规划,目前设计人员多参考过往积累的经验值,比如为了减小总线上的撞帧事件发生的几率,一般将CAN总线的负载率定在30%以下。负载率可以通过连接总线的节点数,各节点的发送频率以及帧长简单计算求得。CAN总线引入优先级机制,各优先级通过非破坏性的仲裁机制来竞争使用总线的传输资源,CAN总线协议目前最高可以支持8个优先级,协议定义了标志位数值越小的位拥有的优先级越高,即0x00拥有最高的优先级,而0x07的优先级最低,如果发生高低优先级同时向总线传输数据时,高优先级的帧自动获得传输资源,而低优先级的帧退出仲裁,低优先级的帧根据自动重传机制,待总线资源空闲时间再重发帧。如此一来,对于低优先级的帧来说,就发生了撞帧事件。在特定业务场景下,设计人员有可能会特别关注某一优先级的撞帧率,但不同优先级的撞帧率是非线性关系,无法通过简单计算求得。
鉴于目前在CAN总线开发阶段的资源配置规划的难点,本发明提供一种面向CAN总线的优化设计方法。先提供一种可以准确计算各优先级的撞帧率的算法,该算法运用排队论中的ErlangB公式,依照优先级由高到低的次序,可以准确计算出各个优先级的帧的撞帧率;进而利用该算法可以进行CAN总线的资源配置优化,使总线通信效率最大化。具体为:在总线通信速率和帧长已经固定、且给定发送频率的情况下,计算各个优先级的撞帧率,然后再按优先级从高到低的顺序,依次与预设的各优先级的允许撞帧率上限进行比较,如果有超出允许撞帧率上限的情况,则降低帧的发送频率,如未超出允许撞帧率上限,则调高帧的发送频率;接着在新的发送频率下继续计算各优先级的撞帧率,并与允许撞帧率上限进行比较,如此循环直至计算出不超出各优先级的帧允许的撞帧率上限的最大发送频率,进而提高通信效率。
如图1、图3所示,本发明实施例提高CAN总线通信效率的方法的具体步骤如下:
S1、为CAN总线上运行的各优先级的帧分别设置初始的发送频率。
具体的,如通过先自行拟定数值的方式给各优先级分别预设一个初始发送频率,然后基于该初始发送频率开始计算撞帧率,而后循环判断去寻找各优先级的帧的最大发送频率,但是这种方法计算量大且计算速度慢,为了减小计算量并提高计算效率,本实施例使用如下公式计算每个优先级的初始发送频率:
Figure 111573DEST_PATH_IMAGE006
其中,L_ p[i]表示优先级i的帧的初始的发送频率,i=0,1,2,…,p-1,i=0表示最高优先级,CAN总线上计划运行的优先级数目为p;B表示固定的CAN总线通信速率;Bp_T[i]表示优先级i的帧允许的撞帧率上限;S[i]表示优先级i的帧的帧长;
S2、在设置的所述发送频率下,基于排队论中的Erlang B公式,利用固定的CAN总线通信速率和各优先级的帧的帧长以及所述发送频率,计算CAN总线上计划运行的各优先级的帧的撞帧率,如图2所示,具体过程如下:在步骤S1的发送频率下,基于排队论中的Erlang B公式依据从高到低的优先级顺序来计算CAN总线上计划运行的各优先级的帧的撞帧率,其中,最高优先级的帧的撞帧率直接采进用Erlang B公式行计算,其余各优先级的帧的撞帧率利用Erlang B公式结合该优先级的累积流量负载和溢出流量负载进行计算;
通常ErlangB 公式需要知道三个参数,即帧到达率λ,服务速率μ,以及服务器数量k,即:Bp=ErlangB(A, k)。其中,A= λ/μ,k为服务器数量。因本申请中所有的优先级的帧都在一条CAN总线上运行,所以将服务器数量k归一化处理,即把CAN总线视作1个服务器;k=1;L为某优先级的发送频率,对应于Erlang B公式中的λ,S为某优先级帧的帧长,B表示当前CAN总线的通信速率,则S/B即为CAN总线传输某优先级一帧所需的时间,对应于ErlangB 公式中的1/μ。因此Erlang B 公式可以改写为:
Figure 189250DEST_PATH_IMAGE007
各优先级i的帧的撞帧率Bp[i]计算如下:
Figure 221797DEST_PATH_IMAGE002
其中,i=0代表最高优先级,i=1,2,…,p-1代表其余依次降低的优先级,CAN总线上计划运行的优先级的数目为p;A[i]表示优先级i的帧相对于CAN总线的流量负载,k=1,L_S[i]表示优先级i的帧的累积流量负载,A_L[i]表示更高优先级向优先级i溢出的溢出流量负载,其中,流量负载指的是各优先级的流量汇总与CAN总线的传输速率的比值。
其中A[i]的计算方法为:
Figure 966899DEST_PATH_IMAGE003
其中,L[i]、S[i]分别表示优先级i的帧的发送频率和帧长,B代表已经固定的CAN总线通信速率,累积流量负载L_S[i]的计算方法为:
Figure 262751DEST_PATH_IMAGE004
溢出流量负载A_L[i]的计算方法为:
Figure 93304DEST_PATH_IMAGE005
S3、按照优先级从高到低的顺序,依次判断步骤S2计算出的各优先级的帧的撞帧率是否超出该优先级的帧允许的撞帧率上限;若有超出,则将该超出上限的优先级的帧的发送频率降低并进入步骤S2继续循环;若未超出,则将该未超出上限的优先级的帧的发送频率调高并进入步骤S2继续循环。
其中,降低/调高发送频率的方式可以是步进式,其固定步长可以根据实际情况进行调整,例如以固定步长1帧/秒或10帧/秒。较小的固定步长会得到更精确的结果,但会增加计算的迭代次数和计算时间。反之,较大的固定步长会减小计算结果的精度,但会提高计算速度。选择一个较合适的固定步长需要依赖于设计人员的过往积累经验。
在另一些实施方式中,降低/调高其发送频率的方式可以为二分法查找。例如:通过两次或两次以上循环,针对某一个优先级获取一个较大和一个较小的发送频率;在较小的发送频率(Data1)下,该优先级的帧的撞帧率未超出该优先级的帧的撞帧率上限;在较大的发送频率(Data2)下,该优先级的帧的撞帧率超出该优先级的帧的撞帧率上限。则下一个循环的发送频率Data3可以在[Data1,Data2]之间进行二分法查找;若在发送频率Data3下,该优先级的帧的撞帧率未超出该优先级的帧的撞帧率上限,则再下一个循环的通信速率Data4在[Data3,Data2]之间进行二分法查找;若在发送频率Data3下,该优先级的帧的撞帧率超出该优先级的帧的撞帧率上限,则再下一个循环的通信速率Data4在[Data1,Data3]之间进行二分法查找。通过如上的循环直至找出不超出各优先级的帧的撞帧率上限的最大发送频率。相较于步进式,利用二分法查找在有些情况下可以减少计算量并大大加快计算速度。
在另一些实施方式中,降低/调高其发送频率的方式还可以是步进式和二分法查找的结合。
S4、将不超出各优先级的帧允许的撞帧率上限所对应的各优先级的最大发送频率进行输出以完成优化。
实施例1:
在一个锂电储能产品中,有一个逆变器(Inverter),一个IoT通信模块和四个电池包(Pack)通过CAN总线连接在一起。这三种设备周期性或不定期(通过事件触发)向CAN总线发送数据。
发送帧的优先级设置如下:如果是警告信息帧或者是事件触发的查询信息帧,帧长设为128比特(bit),设为高优先级0(0X02),如果是周期性的广播数据帧,帧长设为256比特(bit),设为低优先级1(0X06)。高优先级帧的撞帧率的设计指标是≤3%,低优先级的撞帧率的设计指标是≤10%。
CAN总线的通信速率固定为250kbit/s(即代表CAN总线带宽已固定为250kbit/s),下表1给出了逆变器模块(Inverter)向CAN总线发送数据的内容种类和帧长:
表1
Figure 273750DEST_PATH_IMAGE008
下表2给出了IoT通信模块向CAN总线发送数据的内容种类和帧长:
表2
Figure 997992DEST_PATH_IMAGE009
下表3给出了电池包模块(Pack)向CAN总线发送数据的内容种类和帧长:
表3
Figure 871270DEST_PATH_IMAGE010
S1、为CAN总线上运行的各优先级分别设置初始的发送频率,如通过先自行拟定数值,给各优先级分别预设一个初始的发送频率,然后基于该初始发送频率开始计算撞帧率,而后循环判断去寻找各优先级的最大发送频率,但是这种方法计算量大且计算速度慢,为了减小计算量并提高计算效率,本实施例使用如下公式计算每个优先级的初始发送频率:
Figure 923540DEST_PATH_IMAGE006
其中,L_ p[i]表示优先级i初始的发送频率,i=0,1,2,…,p-1,i=0表示最高优先级,CAN总线上计划运行的优先级数目为p;B表示固定的CAN总线通信速率;Bp_T[i]表示优先级i允许的撞帧率上限;S[i]表示优先级i的帧长。
本实施例中各个优先级预设的初始发送频率L_p[i]为:
Figure 32310DEST_PATH_IMAGE011
Figure 752004DEST_PATH_IMAGE012
S2、在设置的所述发送频率下,基于排队论中的Erlang B公式,利用固定的CAN总线通信速率和各优先级的帧长以及所述发送频率,计算CAN总线上计划运行的各优先级的撞帧率。
各优先级i的帧的撞帧率Bp[i]计算如下:
Figure 530604DEST_PATH_IMAGE002
其中,i=0代表最高优先级,i=1,2,…,p-1代表其余依次降低的优先级,CAN总线上计划运行的优先级数目为p;A[i]表示优先级i相对于CAN总线的流量负载,k=1,L_S[i]表示优先级i的累积流量负载,A_L[i]表示更高优先级向优先级i溢出的溢出流量负载。其中,流量负载指的是各优先级的流量汇总与CAN总线的传输速率的比值。
事件触发式发送,是指根据用户的指令发送,用户在某一时刻点击了查询指令,通过CAN总线发送用户发送的查询信息帧。发送频率完全由用户决定,是随机的,有可能一天(24小时)之内完全没有查询指令,也有可能某一时间段(10分钟内)有多条查询指令。查询指令越多,负载流量越大。把随机触发的信息帧视为周期性发送,那么高优先级帧的流量汇总就是在负载流量最大的情况下计算得出,负载流量最大的情况可视为最坏(或者最极端)的情况。在计算高优先级帧的流量汇总时,我们假设在最坏的情况下,则高优先级帧的流量汇总计算如下:
Figure 463313DEST_PATH_IMAGE013
低优先级的流量汇总计算如下:
Figure 985561DEST_PATH_IMAGE014
撞帧率Bp[i]的计算公式中,各优先级的流量负载A[i]的计算公式如下:
Figure 559762DEST_PATH_IMAGE003
则各优先级的帧的流量负载计算如下:
Figure 368318DEST_PATH_IMAGE015
Figure 254234DEST_PATH_IMAGE016
对于高优先级的帧的撞帧率,其直接利用Erlang B公式计算如下:
Figure 845753DEST_PATH_IMAGE017
对于其他优先级的帧的撞帧率,还需要先计算获得累积流量负载和溢出流量负载,其计算公式以及具体计算结果如下。
累积流量负载L_S[i]的计算公式如下:
Figure 8881DEST_PATH_IMAGE004
Figure 253917DEST_PATH_IMAGE018
溢出流量负载A_L[i]的计算公式如下:
Figure 33655DEST_PATH_IMAGE019
Figure 163285DEST_PATH_IMAGE020
最后计算获得低优先级的帧的撞帧率为:
Figure 305553DEST_PATH_IMAGE021
S3、按优先级从高到低的顺序,依次判断步骤S2计算出的各优先级的帧的撞帧率是否超出该优先级的帧允许的撞帧率上限;若有超出,则将该超出上限的优先级的帧的发送频率降低并进入步骤S2继续循环;若未超出,则将该未超出上限的优先级的帧的发送频率调高并进入步骤S2继续循环。
对于降低/调高发送频率的方式可以是步进式,如本实施例中固定的步长为1帧/秒或10帧/秒;也可以为二分法查找,或步进式与二分法查找的结合。
在本实施例中,Bp[0]=3.05%,Bp[1]=15.22,超出允许的撞帧率上限3%和10%。按照优先级从高到低的顺序,所以先将步骤S1中高优先级帧的发送频率61.406帧/秒进行下调,调至48.9帧/秒,计算获得的撞帧率为2.44%。根据设计指标,其未超出高优先级帧允许的撞帧率上限,且与上限值有一段差距,故需要再将发送频率调高并进入下一次循环。下一次发送频率需在[48.9,61.406]之间选择一个数值再次进行计算,如采用二分法查找,选择55.2进行计算,获得撞帧率为2.75%,其仍未超出高优先级帧允许的撞帧率上限,故下一次发送频率在[55.2,61.406]之间进行查找,最后通过不断循环查找,经过计算得到满足设计指标的最大发送频率为:60帧/秒(通常发送频率以1帧/秒为最小单位)。
在确定高优先级的帧的最大发送频率后,再循环查找低优先级的最大发送频率,其方法同上,最后通过不断循环查找,经过计算得到满足设计指标的最大发送频率为46帧/秒。
在高优先级的帧发送频率为60帧/秒,低优先级的帧发送频率为46帧/秒,其撞帧率如下表4:
表4 两种优先级的撞帧率
Figure 128015DEST_PATH_IMAGE022
S4、将不超出各优先级的帧允许的撞帧率上限所对应的最大发送频率即高优先级的帧发送频率为60帧/秒,低优先级的帧发送频率为46帧/秒进行输出以完成优化。
实施例2
本实施例其他条件与实施例1相同,不同的是将各优先级的初始发送频率为自行拟定数值,如:L_p[0]=48.9,L_p[1]=24。
在设置的所述发送频率下,基于排队论中的Erlang B公式,利用固定的CAN总线通信速率和各优先级的帧长以及所述发送频率,计算CAN总线上计划运行的各优先级的撞帧率。其中,最高优先级的帧的撞帧率直接采进用Erlang B公式行计算,其余各优先级的撞帧率利用Erlang B公式结合该优先级的累积流量负载和溢出流量负载进行计算。各优先级的撞帧率计算结果为:高优先级的帧的撞帧率为2.44%,低优先级的撞帧率为7.05%。
根据设计指标,高优先级0(0x02)帧的撞帧率需要控制在3%以下,低优先级1(0x06)的撞帧率需要控制在10%以下,上述结果满足设计指标但是取值过低不满足输出最大发送频率的要求。故按优先级从高到低的顺序,先将高优先级帧的发送频率调高,其调高的方式可以为步进式,如固定步长为1帧/秒、10帧/秒或其他数值,比如:设高优先级为70帧/秒。在该发送频率下,高优先级帧的撞帧率超出允许的撞帧率上限。故下一次的发送频率在[48.9,70]之间选择一个发送频率。最后通过不断循环查找,经过计算得到满足设计指标的最大发送频率为:高优先级为60帧/秒。
最高优先级帧的最大发送频率确定后,再通过不断循环查找,经过计算得到满足设计指标的低优先级最大发送频率为46帧/秒,其撞帧率如上表4所示。
本发明运用排队论中的ErlangB公式,基于固定的CAN总线通信速率和各优先级的帧长,以及给定的各优先级初始发送频率这些数据,依照优先级由高到低的次序,准确计算出各个优先级的撞帧率,再按照优先级从高到低的顺序,与预设的允许撞帧率上限作比较,判断是否超出允许的撞帧率上限,如果有超出,则需要降低发送频率,如未超出,则调高发送频率;根据调整后的发送频率再返回重新计算撞帧率,直至获取不超出各优先级允许的撞帧率上限所对应的最大发送频率。各优先级以其最大发送频率发送帧,从而在不改变总线带宽且帧长固定的情况下,实现了CAN总线通信效率的提高。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。比如,本发明还可提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时能实现前述实施例的提高CAN总线通信效率的方法的步骤。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。在本说明书的描述中,参考术语“一种实施例”、“一些实施例”、“优选实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管已经详细描述了本发明的实施例及其优点,但应当理解,在不脱离专利申请的保护范围的情况下,可以在本文中进行各种改变、替换和变更。

Claims (10)

1.一种提高CAN总线通信效率的方法,其特征在于,包括如下步骤:
S1、为CAN总线上运行的各优先级的帧分别设置初始的发送频率;
S2、在设置的所述发送频率下,基于排队论中的Erlang B公式,利用固定的CAN总线通信速率和各优先级的帧的帧长以及所述发送频率,计算CAN总线上计划运行的各优先级的帧的撞帧率;
S3、按优先级从高到低的顺序,依次判断步骤S2计算出的各优先级的帧的撞帧率是否超出该优先级的帧允许的撞帧率上限;若有超出,则将该超出上限的优先级的帧的发送频率降低并进入步骤S2继续循环;若未超出,则将该未超出上限的优先级的帧的发送频率调高并进入步骤S2继续循环;
S4、将不超出各优先级的帧允许的撞帧率上限所对应的各优先级的最大发送频率进行输出以完成优化。
2.如权利要求1所述的提高CAN总线通信效率的方法,其特征在于,步骤S1中,通过自行拟定数值的方式为各优先级的帧分别设置初始的发送频率。
3.如权利要求1所述的提高CAN总线通信效率的方法,其特征在于,步骤S1中,通过如下公式计算各优先级的帧的初始的发送频率:
Figure DEST_PATH_IMAGE001
其中,L_ p[i]表示优先级i的帧的初始的发送频率,i=0,1,2,…,p-1,i=0表示最高优先级,CAN总线上计划运行的优先级数目为p;B表示固定的CAN总线通信速率;Bp_T[i]表示优先级i的帧允许的撞帧率上限;S[i]表示优先级i的帧的帧长。
4.如权利要求1所述的提高CAN总线通信效率的方法,其特征在于,步骤S2中计算CAN总线上计划运行的各优先级的帧的撞帧率时,依据从高到低的优先级顺序来计算;其中,最高优先级帧的撞帧率直接采用Erlang B公式进行计算;其余各优先级的帧的撞帧率利用Erlang B公式结合该优先级的累积流量负载和溢出流量负载进行计算。
5.如权利要求4所述的提高CAN总线通信效率的方法,其特征在于,各优先级的帧的撞帧率Bp[i]计算如下:
Figure 25330DEST_PATH_IMAGE002
Figure DEST_PATH_IMAGE003
其中,i=0代表最高优先级,i=1,2,…,p-1代表其余依次降低的优先级,CAN总线上计划运行的优先级数目为p;A[i]表示优先级i相对于CAN总线的流量负载,k=1,L_S[i]表示优先级i的累积流量负载,A_L[i]表示更高优先级向优先级i溢出的溢出流量负载。
6.如权利要求5所述的提高CAN总线通信效率的方法,其特征在于,A[i]的计算方法为:
Figure 17557DEST_PATH_IMAGE004
其中,L[i]、S[i]分别表示优先级i的帧的发送频率和帧长,B代表当前的CAN总线通信速率。
7.如权利要求5所述的提高CAN总线通信效率的方法,其特征在于,L_S[i]的计算方法为:
Figure 447401DEST_PATH_IMAGE005
Figure 954606DEST_PATH_IMAGE006
8.如权利要求5所述的提高CAN总线通信效率的方法,其特征在于,A_L[i]的计算方法为:
Figure 682260DEST_PATH_IMAGE007
Figure 591310DEST_PATH_IMAGE008
9.如权利要求1所述的提高CAN总线通信效率的方法,其特征在于,步骤S3中,将发送频率降低/调高的方式包括步进式和/或二分法查找。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时能实现权利要求1-9任一项所述的提高CAN总线通信效率的方法的步骤。
CN202210568191.6A 2022-05-24 2022-05-24 一种提高can总线通信效率的方法 Active CN114726726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210568191.6A CN114726726B (zh) 2022-05-24 2022-05-24 一种提高can总线通信效率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210568191.6A CN114726726B (zh) 2022-05-24 2022-05-24 一种提高can总线通信效率的方法

Publications (2)

Publication Number Publication Date
CN114726726A CN114726726A (zh) 2022-07-08
CN114726726B true CN114726726B (zh) 2022-08-23

Family

ID=82231854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210568191.6A Active CN114726726B (zh) 2022-05-24 2022-05-24 一种提高can总线通信效率的方法

Country Status (1)

Country Link
CN (1) CN114726726B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650195B (zh) * 2022-05-24 2022-07-29 深圳市德兰明海科技有限公司 Can总线上帧的撞帧率计算方法及can总线资源最小化的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018362A (zh) * 2007-02-06 2007-08-15 北京邮电大学 一种基于正交频分多址技术的媒体接入控制方法
CN107105000A (zh) * 2016-02-23 2017-08-29 中兴通讯股份有限公司 V2x通信方法及装置
CN107645455A (zh) * 2017-09-12 2018-01-30 天津津航计算技术研究所 一种can总线的消息传输调度方法
CN109167737A (zh) * 2018-07-27 2019-01-08 中国地质大学(武汉) 融合数据缩减与动态优先权队列的can调度方法
US10534928B1 (en) * 2018-11-19 2020-01-14 Live Nation Entertainment, Inc. Systems and methods for dynamic queue control using machine learning techniques
CN111586763A (zh) * 2020-05-06 2020-08-25 西安电子科技大学 基于统计优先多址接入的阈值自适应调整方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017024586A1 (zh) * 2015-08-13 2017-02-16 华为技术有限公司 一种数据传输装置、方法及系统
EP3591851A1 (en) * 2018-07-02 2020-01-08 Semtech Corporation Relative frequency hops in low-power, wide-area network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018362A (zh) * 2007-02-06 2007-08-15 北京邮电大学 一种基于正交频分多址技术的媒体接入控制方法
CN107105000A (zh) * 2016-02-23 2017-08-29 中兴通讯股份有限公司 V2x通信方法及装置
CN107645455A (zh) * 2017-09-12 2018-01-30 天津津航计算技术研究所 一种can总线的消息传输调度方法
CN109167737A (zh) * 2018-07-27 2019-01-08 中国地质大学(武汉) 融合数据缩减与动态优先权队列的can调度方法
US10534928B1 (en) * 2018-11-19 2020-01-14 Live Nation Entertainment, Inc. Systems and methods for dynamic queue control using machine learning techniques
CN111586763A (zh) * 2020-05-06 2020-08-25 西安电子科技大学 基于统计优先多址接入的阈值自适应调整方法

Also Published As

Publication number Publication date
CN114726726A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
CN107566235B (zh) 一种报文数据传输方法、装置及电动汽车
CN111954236B (zh) 一种基于优先级的分层边缘计算卸载方法
US9853906B2 (en) Network prioritization based on node-level attributes
CN114726726B (zh) 一种提高can总线通信效率的方法
Wu et al. Resource allocation for delay-sensitive vehicle-to-multi-edges (V2Es) communications in vehicular networks: A multi-agent deep reinforcement learning approach
CN114650195B (zh) Can总线上帧的撞帧率计算方法及can总线资源最小化的方法
US9002533B2 (en) Message transmission control systems and methods
Kumar et al. A delay efficient multiclass packet scheduler for heterogeneous M2M uplink
Joshi et al. The multi-domain frame packing problem for CAN-FD
CN109484244B (zh) 电池管理系统及电动汽车
CN114185674A (zh) 一种cpu任务实时调度方法、装置、设备及存储介质
US11142076B2 (en) Solar charging control device and charging control method
KR20100020253A (ko) 차량 네트워크에서의 메시지 전송 상태 진단 장치
CN102774376B (zh) 一种混合动力车辆的分布式控制系统的任务分配方法
Wildermann et al. Run time mapping of adaptive applications onto homogeneous NoC-based reconfigurable architectures
CN113386624A (zh) 设置运输工具soc阈值的方法、装置和设备
US20230264574A1 (en) Method and apparatus for vehicle control, storage medium, electronic device, and computer program
CN116599028A (zh) 基于多源数据融合的台区边缘自治及协同控制方法及系统
CN114675845A (zh) 信息年龄优化方法、装置、计算机设备及存储介质
CN113438153A (zh) 一种车载网关、智能汽车及控制方法
US20090249020A1 (en) Techniques for optimizing configuration partitioning
CN112437494A (zh) 一种资源分配方法及装置
CN117544426B (zh) 一种核安全级网关数据传输优先级处理方法、系统及设备
CN108768780B (zh) 一种用于车载网络通信保障的动态时间环建立方法
Xiong et al. Intelligent Sharding Decision for Blockchain-Enabled Industrial IoT Based on A3C Approach

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 518000 19th floor, building 1, kaidar group center building, No. 168, Tongsha Road, Xinwei community, Xili street, Nanshan District, Shenzhen, Guangdong

Patentee after: Shenzhen Delian Minghai New Energy Co.,Ltd.

Address before: 518000 19th floor, building 1, kaidar group center building, No. 168, Tongsha Road, Xinwei community, Xili street, Nanshan District, Shenzhen, Guangdong

Patentee before: Shenzhen Poweroak Newener Co.,Ltd.

CP01 Change in the name or title of a patent holder