CN107070743A - 一种can总线负载率检测方法及装置 - Google Patents

一种can总线负载率检测方法及装置 Download PDF

Info

Publication number
CN107070743A
CN107070743A CN201710160662.9A CN201710160662A CN107070743A CN 107070743 A CN107070743 A CN 107070743A CN 201710160662 A CN201710160662 A CN 201710160662A CN 107070743 A CN107070743 A CN 107070743A
Authority
CN
China
Prior art keywords
average
baud rate
frame
data
time
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.)
Granted
Application number
CN201710160662.9A
Other languages
English (en)
Other versions
CN107070743B (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.)
Guangzhou Zhiyuan Electronics Co Ltd
Original Assignee
Guangzhou Zhiyuan Electronics 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 Guangzhou Zhiyuan Electronics Co Ltd filed Critical Guangzhou Zhiyuan Electronics Co Ltd
Priority to CN201710160662.9A priority Critical patent/CN107070743B/zh
Publication of CN107070743A publication Critical patent/CN107070743A/zh
Application granted granted Critical
Publication of CN107070743B publication Critical patent/CN107070743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate

Abstract

本发明公开了一种CAN总线负载率检测方法及装置,能够实现对负载率进行自动检测,从而避免了繁琐的人工干预。本发明提供了一种CAN总线负载率检测方法,具体包括:检测输入波形的波特率;根据所述波特率对数据位信息进行提取;将所述数据位信息与预设的标准帧格式进行比对,分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定所述数据帧的时间间隔;根据所述数据帧的时间间隔,根据公式,计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。

Description

一种CAN总线负载率检测方法及装置
技术领域
本发明涉及通信技术领域,具体涉及一种CAN总线负载率检测方法及装置。
背景技术
CAN(ControllerAreaNetwork)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。
在CAN通讯过程中,使用某个固定波特率的情况下,总线的平均负载率一般在某个固定的范围。当总线通信出错时,由于重传机制会导致总线的瞬时负载率会突然增大,导致总线的瞬时负载率远大于平均负载率,在这种情况下,通常认为CAN总线通信出现故障。
传统的CAN总线负载率检测方法需要人工对检测设备设定波特率,检测设备才能正常工作,即需要人工手动的干预。因此,业界亟待提供一种能够实现对负载率进行自动检测的方法,从而避免了繁琐的人工干预。
发明内容
本发明提供了一种CAN总线负载率检测方法及装置,能够实现对负载率进行自动检测,从而避免了繁琐的人工干预。
本发明提供了一种CAN总线负载率检测方法,具体包括:
检测输入波形的波特率;
根据所述波特率对数据位信息进行提取;
将所述数据位信息与预设的标准帧格式进行比对,分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定所述数据帧的时间间隔;
根据所述数据帧的时间间隔,根据公式计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。
可选的,
步骤所述检测输入波形的波特率包括:
通过脉宽检测方法,获取时间周期T内,输入波形的最小比特脉宽;
根据实时累加平均算法迭代公式,对所述最小比特脉宽进行实时累加平均计算,得到波特率,实时累加平均算法迭代公式包括:
A0=average*D0/average;
T0=average*A0;
……
An=(Tn-1–An-1*weight+Dn*weight)/average;
Tn=average*An;
其中,average为平均次数、weight为权重值、Dn表示最小比特脉宽检测模块的第n次输出、Tn表示第n次迭代的临时变量、An表示第n次波特率的输出;
判断前后2次的波特率的变化范围是否超过5%,若是则更新波特率,若否,则保持原有波特率不变。
可选的,
步骤所述根据所述波特率对数据位信息进行提取包括:
以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器,其中BD表示波特率的值;
对采样到的3个电平信息进行仲裁,提取其中相同的两个采样电平作为此时CAN总线的数据位信息。
可选的,
所述步骤以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器包括:
当边沿到来时,计数清零。
可选的,
步骤所述将所述数据位信息与预设的标准帧格式进行比对,分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定所述数据帧的时间间隔之前还包括:
当发送节点传输5个连续的相同极性位后,在接下来的位流中插入一个极性相反的位。
本发明还一种CAN总线负载率检测装置,包括:
检测单元,用于检测输入波形的波特率;
提取单元,用于根据所述波特率对数据位信息进行提取;
比对单元,用于将所述数据位信息与预设的标准帧格式进行比对;
分离单元,用于分离数据帧的相关信息,得到帧起始信号和帧结束信号;
确定单元,用于根据所述帧起始信号和帧结束信号确定所述数据帧的时间间隔;
计算单元,用于根据所述数据帧的时间间隔,根据公式计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。
可选的,
检测单元包括:
获取子单元,用于通过脉宽检测方法,获取时间周期T内,输入波形的最小比特脉宽;
计算子单元,用于根据实时累加平均算法迭代公式,对所述最小比特脉宽进行实时累加平均计算,得到波特率,时累加平均算法迭代公式包括:
A0=average*D0/average;
T0=average*A0;
……
An=(Tn-1–An-1*weight+Dn*weight)/average;
Tn=average*An;
其中,average为平均次数、weight为权重值、Dn表示最小比特脉宽检测模块的第n次输出、Tn表示第n次迭代的临时变量、An表示第n次波特率的输出;
判断子单元,用于判断前后2次的波特率的变化范围是否超过5%
更新子单元,用于更新波特率。
可选的,
所述提取单元包括:
采样子单元,用于以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器,其中BD表示波特率的值;
仲裁子单元,用于对采样到的3个电平信息进行仲裁;
提取子单元,用于提取其中相同的两个采样电平作为此时CAN总线的数据位信息。
可选的,
所述采样子单元包括清零模块,用于当边沿到来时,计数清零。
可选的,
所述装置还包括插入单元,用于当发送节点传输5个连续的相同极性位后,在接下来的位流中插入一个极性相反的位。
下面对本发明提供的CAN总线负载率检测方法及装置所带来的核心有益效果进行描述:
该CAN总线负载率检测方法包括:检测输入波形的波特率;根据所述波特率对数据位信息进行提取;将所述数据位信息与预设的标准帧格式进行比对,分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定所述数据帧的时间间隔;根据所述数据帧的时间间隔,根据公式计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。当外界输入信号波特率发生改变时,波特率检测模块能实时的检测出波特率,为总线的数据位提取提供了实时可靠的保证,避免了繁琐的人工干预。
附图说明
图1为本发明中一种CAN总线负载率检测方法实施例的流程图;
图2为本发明中一种CAN总线负载率检测方法实施例的装置图。
具体实施方式
本发明提供了一种CAN总线负载率检测方法及装置,能够实现对负载率进行自动检测,从而避免了繁琐的人工干预。
下面请参阅图1,本发明提供的一种CAN总线负载率检测方法,包括:
101、检测输入波形的波特率;
传统的的波特率自动检测的方法一般采用标准波特率穷举法,标准波特率穷举法适用于通讯双方的波特率必须在有限的几个固定数值之间变化,如300~19200之间的标准值。从机启动通信程序后,逐个尝试以不同的波特率接收主机发出的特定字符,直到能正确接收为止,因此,该方法的运用有一定的局限性。
在本实施例中,通过脉宽检测方法,获取时间周期T内,输入波形的最小比特脉宽;在一定的时间周期T内,通过脉宽检测方法,获取输入波形的最小比特脉宽,即每隔T时间,就会输出一个最小比特脉宽。
根据实时累加平均算法迭代公式,对所述最小比特脉宽进行实时累加平均计算,得到波特率,实时累加平均算法迭代公式包括:
A0=average*D0/average;
T0=average*A0;
……
An=(Tn-1–An-1*weight+Dn*weight)/average;
Tn=average*An;
其中,average为平均次数、weight为权重值、Dn表示最小比特脉宽检测模块的第n次输出、Tn表示第n次迭代的临时变量、An表示第n次波特率的输出;
判断前后2次的波特率的变化范围是否超过5%,若是则更新波特率,若否,则保持原有波特率不变。
102、根据所述波特率对数据位信息进行提取;
以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器,其中BD表示波特率的值;
对采样到的3个电平信息进行仲裁,提取其中相同的两个采样电平作为此时CAN总线的数据位信息;
在本实施例中,以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器。为减小累计误差的影响,设计中对取样进行了同步,同步信号由边沿产生,即每次边沿到来时,清零计数。
对采样到的3个电平信息进行一次仲裁,取其中相同的两个采样电平作为此时CAN总线的数据位信息输出。
103、将所述数据位信息与预设的标准帧格式进行比对,分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定所述数据帧的时间间隔;
在本实施例中,CAN总线标准的数据帧格式如包含了起始帧,仲裁场,控制场,数据场,CRC场,ACK场,结束帧,间隔帧。起始帧为1bit固定为显性低电平,结束帧为7bit固定为隐性高电平,间隔帧为3bit固定为隐形高电平。
CAN总线的场数据位使用非归零编码方式传输信号,为保证足够的跳变沿用于同步,CAN总线引入了位填充机制,发送节点每传输5个连续的相同极性位后,会在接下来的位流中插入一个极性相反的位,所以场数据是不存在5个连续的相同极性位。
通过上面的介绍,我们可以得知在总线进入空闲状态前,总线上会检测到1bit的ACK Del+7bit的结束帧+3bit的间隔帧,至少11个连续的隐性位(高电平),所以我们检测到11个连续的高电平后,就可以认为是帧结束信号,总线进入空闲状态。由于起始帧是低电平,在空闲状态下检测到下降沿就可以认为是帧起始信号。
数据移位操作,主要用12bit移位寄存器shift_data对CAN总线的数据位进行移位保存。由于输入波形信号可能来自CAN_H或CAN_L,数据帧自适应识别充分考虑2种输入情况,无论输入来自CAN_H或CAN_L都能正确的解出帧起始和帧结束信号。
104、根据所述数据帧的时间间隔,根据公式计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。
在本实施例中,CAN总线负载率P定义为:其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。
为了测量CAN总线的平均负载率和瞬时负载率,需不停的统计当前时刻之前测量时间段Ts(以s为测量单位)和测量时间段Tms(以ms为测量单位)内的数据帧占用的时间,为了提高测量的精度和减小误差,该装置采用滑动平均的方法,将测量时间平均分为N个相对较小的时间窗口t,分别测量每个小时间窗口t内有效的数据帧占用时间,并不断的累加最新的N个小时间窗口的数据帧占用时间,这样就可以得出测量时间Ts和Tms内有效数据帧的占用时间,根据公式1,就可以得到CAN总线的平均负载率和瞬时负载率。
首先将第一次测量得到的N个小窗口的测量值进行累加,得到总线负载率;接着将D1测量值丢弃后再重新加入DN+1测量值进行累加,得到新的总线负载率;再接着将D2测量值丢弃后再重新加入DN+2测量值进行累加,又得到新的总线负载率。以此类推,即累加值永远计算最新的T周期的总线占有率。
CAN总线在正常通信时,总线的平均负载率一般在某个固定的范围。当总线通信出错时,由于重传机制会导致总线的瞬时负载率会突然增大,导致总线的瞬时负载率远大于平均负载率,在这种情况下,我们可以认为CAN总线通信出现故障。
本实施例中,检测输入波形的波特率;根据所述波特率对数据位信息进行提取;将所述数据位信息与预设的标准帧格式进行比对,分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定所述数据帧的时间间隔;根据所述数据帧的时间间隔,计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。能够实现对负载率进行自动检测,从而避免了繁琐的人工干预。
下面请参阅图2,本发明提供的一种CAN总线负载率检测装置包括:
本发明还一种CAN总线负载率检测装置,包括:
检测单元201,用于检测输入波形的波特率;
提取单元202,用于根据所述波特率对数据位信息进行提取;
比对单元203,用于将所述数据位信息与预设的标准帧格式进行比对;
分离单元204,用于分离数据帧的相关信息,得到帧起始信号和帧结束信号;
确定单元205,用于根据所述帧起始信号和帧结束信号确定所述数据帧的时间间隔;
计算单元206,用于根据所述数据帧的时间间隔,根据公式计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。
检测单元包括:
获取子单元,用于通过脉宽检测方法,获取时间周期T内,输入波形的最小比特脉宽;
计算子单元,用于根据实时累加平均算法迭代公式,对所述最小比特脉宽进行实时累加平均计算,得到波特率,时累加平均算法迭代公式包括:
A0=average*D0/average;
T0=average*A0;
……
An=(Tn-1–An-1*weight+Dn*weight)/average;
Tn=average*An;
其中,average为平均次数、weight为权重值、Dn表示最小比特脉宽检测模块的第n次输出、Tn表示第n次迭代的临时变量、An表示第n次波特率的输出;
判断子单元,用于判断前后2次的波特率的变化范围是否超过5%
更新子单元,用于更新波特率。
所述提取单元包括:
采样子单元,用于以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器,其中BD表示波特率的值;
仲裁子单元,用于对采样到的3个电平信息进行仲裁;
提取子单元,用于提取其中相同的两个采样电平作为此时CAN总线的数据位信息。
所述采样子单元包括清零模块,用于当边沿到来时,计数清零。
所述装置还包括插入单元,用于当发送节点传输5个连续的相同极性位后,在接下来的位流中插入一个极性相反的位。
检测单元201检测输入波形的波特率;
传统的的波特率自动检测的方法一般采用标准波特率穷举法,标准波特率穷举法适用于通讯双方的波特率必须在有限的几个固定数值之间变化,如300~19200之间的标准值。从机启动通信程序后,逐个尝试以不同的波特率接收主机发出的特定字符,直到能正确接收为止,因此,该方法的运用有一定的局限性。
在本实施例中,通过脉宽检测方法,获取时间周期T内,输入波形的最小比特脉宽;在一定的时间周期T内,通过脉宽检测方法,获取输入波形的最小比特脉宽,即每隔T时间,就会输出一个最小比特脉宽。
根据实时累加平均算法迭代公式,对所述最小比特脉宽进行实时累加平均计算,得到波特率,实时累加平均算法迭代公式包括:
A0=average*D0/average;
T0=average*A0;
……
An=(Tn-1–An-1*weight+Dn*weight)/average;
Tn=average*An;
其中,average为平均次数、weight为权重值、Dn表示最小比特脉宽检测模块的第n次输出、Tn表示第n次迭代的临时变量、An表示第n次波特率的输出;
判断前后2次的波特率的变化范围是否超过5%,若是则更新波特率,若否,则保持原有波特率不变。
提取单元202根据所述波特率对数据位信息进行提取;
以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器,其中BD表示波特率的值;
对采样到的3个电平信息进行仲裁,提取其中相同的两个采样电平作为此时CAN总线的数据位信息;
在本实施例中,以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器。为减小累计误差的影响,设计中对取样进行了同步,同步信号由边沿产生,即每次边沿到来时,清零计数。
对采样到的3个电平信息进行一次仲裁,取其中相同的两个采样电平作为此时CAN总线的数据位信息输出。
比对单元203将所述数据位信息与预设的标准帧格式进行比对,分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定所述数据帧的时间间隔;
在本实施例中,CAN总线标准的数据帧格式如包含了起始帧,仲裁场,控制场,数据场,CRC场,ACK场,结束帧,间隔帧。起始帧为1bit固定为显性低电平,结束帧为7bit固定为隐性高电平,间隔帧为3bit固定为隐形高电平。
CAN总线的场数据位使用非归零编码方式传输信号,为保证足够的跳变沿用于同步,CAN总线引入了位填充机制,发送节点每传输5个连续的相同极性位后,会在接下来的位流中插入一个极性相反的位,所以场数据是不存在5个连续的相同极性位。
通过上面的介绍,我们可以得知在总线进入空闲状态前,总线上会检测到1bit的ACKDel+7bit的结束帧+3bit的间隔帧,至少11个连续的隐性位(高电平),所以我们检测到11个连续的高电平后,就可以认为是帧结束信号,总线进入空闲状态。由于起始帧是低电平,在空闲状态下检测到下降沿就可以认为是帧起始信号。
数据移位操作,主要用12bit移位寄存器shift_data对CAN总线的数据位进行移位保存。由于输入波形信号可能来自CAN_H或CAN_L,数据帧自适应识别充分考虑2种输入情况,无论输入来自CAN_H或CAN_L都能正确的解出帧起始和帧结束信号。
分离单元204根据所述数据帧的时间间隔,根据公式计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。
在本实施例中,CAN总线负载率P定义为:其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。
为了测量CAN总线的平均负载率和瞬时负载率,需不停的统计当前时刻之前测量时间段Ts(以s为测量单位)和测量时间段Tms(以ms为测量单位)内的数据帧占用的时间,为了提高测量的精度和减小误差,该装置采用滑动平均的方法,将测量时间平均分为N个相对较小的时间窗口t,分别测量每个小时间窗口t内有效的数据帧占用时间,并不断的累加最新的N个小时间窗口的数据帧占用时间,这样就可以得出测量时间Ts和Tms内有效数据帧的占用时间,根据公式1,就可以得到CAN总线的平均负载率和瞬时负载率。
首先将第一次测量得到的N个小窗口的测量值进行累加,得到总线负载率;接着将D1测量值丢弃后再重新加入DN+1测量值进行累加,得到新的总线负载率;再接着将D2测量值丢弃后再重新加入DN+2测量值进行累加,又得到新的总线负载率。以此类推,即累加值永远计算最新的T周期的总线占有率。
CAN总线在正常通信时,总线的平均负载率一般在某个固定的范围。当总线通信出错时,由于重传机制会导致总线的瞬时负载率会突然增大,导致总线的瞬时负载率远大于平均负载率,在这种情况下,我们可以认为CAN总线通信出现故障。
本实施例中,首先检测单元201检测输入波形的波特率;其次提取单元202根据所述波特率对数据位信息进行提取;然后比对单元203将所述数据位信息与预设的标准帧格式进行比对,接着分离单元204分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定单元205确定所述数据帧的时间间隔;最后计算单元206根据所述数据帧的时间间隔,根据公式计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。当外界输入信号波特率发生改变时,波特率检测模块能实时的检测出波特率,为总线的数据位提取提供了实时可靠的保证,避免了繁琐的人工干预。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不处理。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种CAN总线负载率检测方法,其特征在于,包括:
检测输入波形的波特率;
根据所述波特率对数据位信息进行提取;
将所述数据位信息与预设的标准帧格式进行比对,分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定所述数据帧的时间间隔;
根据所述数据帧的时间间隔,根据公式计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。
2.根据权利要求1所述的一种CAN总线负载率检测方法,其特征在于,
步骤所述检测输入波形的波特率包括:
通过脉宽检测方法,获取时间周期T内,输入波形的最小比特脉宽;
根据实时累加平均算法迭代公式,对所述最小比特脉宽进行实时累加平均计算,得到波特率,实时累加平均算法迭代公式包括:
A0=average*D0/average;
T0=average*A0;
……
An=(Tn-1–An-1*weight+Dn*weight)/average;
Tn=average*An;
其中,average为平均次数、weight为权重值、Dn表示最小比特脉宽检测模块的第n次输出、Tn表示第n次迭代的临时变量、An表示第n次波特率的输出;
判断前后2次的波特率的变化范围是否超过5%,若是则更新波特率,若否,则保持原有波特率不变。
3.根据权利要求1所述的一种CAN总线负载率检测方法,其特征在于,
步骤所述根据所述波特率对数据位信息进行提取包括:
以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器,其中BD表示波特率的值;
对采样到的3个电平信息进行仲裁,提取其中相同的两个采样电平作为此时CAN总线的数据位信息。
4.根据权利要求3所述的一种CAN总线负载率检测方法,其特征在于,
所述步骤以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器包括:
当边沿到来时,计数清零。
5.根据权利要求1所述的CAN总线负载率检测方法,其特征在于,
步骤所述将所述数据位信息与预设的标准帧格式进行比对,分离数据帧的相关信息,得到帧起始信号和帧结束信号,从而确定所述数据帧的时间间隔之前还包括:
当发送节点传输5个连续的相同极性位后,在接下来的位流中插入一个极性相反的位。
6.一种CAN总线负载率检测装置,其特征在于,包括
检测单元,用于检测输入波形的波特率;
提取单元,用于根据所述波特率对数据位信息进行提取;
比对单元,用于将所述数据位信息与预设的标准帧格式进行比对;
分离单元,用于分离数据帧的相关信息,得到帧起始信号和帧结束信号;
确定单元,用于根据所述帧起始信号和帧结束信号确定所述数据帧的时间间隔;
计算单元,用于根据所述数据帧的时间间隔,根据公式计算CAN总线的平均负载率和瞬时负载率,其中T表示测量周期,td表示在测量周期T内,CAN数据帧占用的总时间。
7.根据权利要求6所述的一种CAN总线负载率检测装置,其特征在于,
检测单元包括:
获取子单元,用于通过脉宽检测方法,获取时间周期T内,输入波形的最小比特脉宽;
计算子单元,用于根据实时累加平均算法迭代公式,对所述最小比特脉宽进行实时累加平均计算,得到波特率,时累加平均算法迭代公式包括:
A0=average*D0/average;
T0=average*A0;
……
An=(Tn-1–An-1*weight+Dn*weight)/average;
Tn=average*An;
其中,average为平均次数、weight为权重值、Dn表示最小比特脉宽检测模块的第n次输出、Tn表示第n次迭代的临时变量、An表示第n次波特率的输出;
判断子单元,用于判断前后2次的波特率的变化范围是否超过5%
更新子单元,用于更新波特率。
8.根据权利要求6所述的一种CAN总线负载率检测装置,其特征在于,
所述提取单元包括:
采样子单元,用于以输入波形的边沿作为计数起点,计数到BD*1/4、BD*2/4、BD*3/4时分别采样波形到3个不同寄存器,其中BD表示波特率的值;
仲裁子单元,用于对采样到的3个电平信息进行仲裁;
提取子单元,用于提取其中相同的两个采样电平作为此时CAN总线的数据位信息。
9.根据权利要求8所述的一种CAN总线负载率检测装置,其特征在于,
所述采样子单元包括清零模块,用于当边沿到来时,计数清零。
10.根据权利要求6所述的CAN总线负载率检测装置,其特征在于,
所述装置还包括插入单元,用于当发送节点传输5个连续的相同极性位后,在接下来的位流中插入一个极性相反的位。
CN201710160662.9A 2017-03-17 2017-03-17 一种can总线负载率检测方法及装置 Active CN107070743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710160662.9A CN107070743B (zh) 2017-03-17 2017-03-17 一种can总线负载率检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710160662.9A CN107070743B (zh) 2017-03-17 2017-03-17 一种can总线负载率检测方法及装置

Publications (2)

Publication Number Publication Date
CN107070743A true CN107070743A (zh) 2017-08-18
CN107070743B CN107070743B (zh) 2023-05-12

Family

ID=59620861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710160662.9A Active CN107070743B (zh) 2017-03-17 2017-03-17 一种can总线负载率检测方法及装置

Country Status (1)

Country Link
CN (1) CN107070743B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109471425A (zh) * 2018-12-14 2019-03-15 上海星融汽车科技有限公司 一种识别商用车obd口can通讯针脚波特率的方法
CN109802878A (zh) * 2019-03-29 2019-05-24 广州亚美信息科技有限公司 一种can设备与can总线波特率自动匹配方法及装置
CN110535650A (zh) * 2018-05-23 2019-12-03 罗伯特·博世有限公司 用于对通过总线传输的消息进行验证的方法和装置
CN111464396A (zh) * 2020-04-02 2020-07-28 昆易电子科技(上海)有限公司 Can总线负载率异常预警的方法及电子设备
CN111935027A (zh) * 2020-09-03 2020-11-13 北京经纬恒润科技有限公司 整车网络负载优化方法及系统
CN112769714A (zh) * 2020-12-31 2021-05-07 江苏徐工工程机械研究院有限公司 工程机械及其网络优化方法和装置
CN114172760A (zh) * 2021-11-15 2022-03-11 广州极飞科技股份有限公司 通信控制方法、装置、无人车、存储介质及电子设备
CN114762299A (zh) * 2020-01-09 2022-07-15 住友电气工业株式会社 检测装置、车载系统及检测方法
CN114827046A (zh) * 2022-03-22 2022-07-29 西北工业大学 总线负载率的处理方法、装置以及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111286A (zh) * 2009-12-23 2011-06-29 比亚迪股份有限公司 在控制局域网网络结构中监控整个网络的运行状态的方法
CN104378260A (zh) * 2014-11-18 2015-02-25 中联重科股份有限公司 Can总线的负载率测试方法及装置、系统
CN104852825A (zh) * 2014-09-15 2015-08-19 北汽福田汽车股份有限公司 总线通讯测试方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111286A (zh) * 2009-12-23 2011-06-29 比亚迪股份有限公司 在控制局域网网络结构中监控整个网络的运行状态的方法
CN104852825A (zh) * 2014-09-15 2015-08-19 北汽福田汽车股份有限公司 总线通讯测试方法及系统
CN104378260A (zh) * 2014-11-18 2015-02-25 中联重科股份有限公司 Can总线的负载率测试方法及装置、系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535650A (zh) * 2018-05-23 2019-12-03 罗伯特·博世有限公司 用于对通过总线传输的消息进行验证的方法和装置
CN109471425A (zh) * 2018-12-14 2019-03-15 上海星融汽车科技有限公司 一种识别商用车obd口can通讯针脚波特率的方法
CN109802878A (zh) * 2019-03-29 2019-05-24 广州亚美信息科技有限公司 一种can设备与can总线波特率自动匹配方法及装置
CN114762299A (zh) * 2020-01-09 2022-07-15 住友电气工业株式会社 检测装置、车载系统及检测方法
CN114762299B (zh) * 2020-01-09 2024-03-01 住友电气工业株式会社 检测装置、车载系统及检测方法
CN111464396A (zh) * 2020-04-02 2020-07-28 昆易电子科技(上海)有限公司 Can总线负载率异常预警的方法及电子设备
CN111935027A (zh) * 2020-09-03 2020-11-13 北京经纬恒润科技有限公司 整车网络负载优化方法及系统
CN111935027B (zh) * 2020-09-03 2022-03-25 北京经纬恒润科技股份有限公司 整车网络负载优化方法及系统
CN112769714A (zh) * 2020-12-31 2021-05-07 江苏徐工工程机械研究院有限公司 工程机械及其网络优化方法和装置
CN112769714B (zh) * 2020-12-31 2022-07-19 江苏徐工工程机械研究院有限公司 工程机械及其网络优化方法和装置
CN114172760A (zh) * 2021-11-15 2022-03-11 广州极飞科技股份有限公司 通信控制方法、装置、无人车、存储介质及电子设备
CN114827046A (zh) * 2022-03-22 2022-07-29 西北工业大学 总线负载率的处理方法、装置以及计算机可读存储介质

Also Published As

Publication number Publication date
CN107070743B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
CN107070743A (zh) 一种can总线负载率检测方法及装置
JP6510835B2 (ja) Bmc処理回路及びusbパワーデリバリコントローラ
CN104714920A (zh) 一种自适应波特率的信号接收方法
CN108390752B (zh) 信号接收方法
US10334089B2 (en) Method for serially transmitting a frame from a transmitter to at least one receiver via a bus system, and a subscriber station for a bus system
US20110206067A1 (en) Synchronization signal detection apparatus
CN108683482B (zh) 一种估计定时位置的方法及装置
US20170155458A1 (en) Multi-lane synchronization method, synchronization apparatus and system, and computer storage medium
CN106941399B (zh) 一种双速率can fd的波特率测量方法及装置
US20140355724A1 (en) Receiving apparatus and method for detecting the number of bits of the same value in a received bit stream
US20200076643A1 (en) Controller area network receiver
CN102546084B (zh) 异步串行通信数据接收时的抗干扰纠错采样系统和方法
CN103701498B (zh) 电力线载波通信的信号处理方法与装置
CN104008080B (zh) 串行数据解析方法和装置
US20110026572A1 (en) Baud rate error detection circuit and baud rate error detection method
CN103891194B (zh) 测量值传输设备
CN111177060A (zh) 串口数据发送方法、接收方法、相应装置及终端设备
CN104144032A (zh) 一种帧检测方法及装置
US11101973B2 (en) Fast initial phase search for digital clock and data recovery and related systems, devices, and methods
MXPA02005495A (es) Metodo y aparato para filtracion de datos recursivos..
CN102231890A (zh) 特殊突发的检测方法及装置
CN106452627A (zh) 一种用于宽带频谱感知的噪声功率估计方法和装置
US8214722B2 (en) Method and system for signal error determination and correction in a flexray communication system
CN103716271A (zh) 基于二进制帧的通信系统中的自适应检测阈值补偿
WO2006041616A2 (en) Master electronics card with adaptive bandwidth circuit

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