当前位置: 聚焦 > 详情
CAN总线网络“负载率”计算
2023-05-15 17:41:08    面包芯语

关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

“CAN总线负载率”表征的是单位时间内总线上的“位流”相对于总线带宽的占比。换就话说,总线实际数据传输速率与理论上能达到的数据传输速率的比值。


(资料图片)

以景区的负载率为例,每个景区都有一个容纳游客负荷上限人数(比如说10000人),如果此时景区内只有1000人,则此时景区负载率是10%。景区负载率是一个空间上的概念,它说明在空间上的资源被使用情况,而“CAN总线负载率”则描述是时间维度上资源被使用的情况:波特率为500Kbps的总线上每秒钟能够传输500000个BIT,如果在某一秒中总线上只传输了100000个BIT,则总线负载率为20%。CAN负载率默认为在一秒的时间范围内位资源的使用情况。

在讲解CAN总线负载率之前,先就几个概念进行说明:

波特率:波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,它用单位时间内载波调制状态改变的次数来表示(单位为波特)。如“1个波特”指每秒传输1个码元的符号。

比特率:单位时间内,通信通道传送的二进制位数。单位为比特/秒(bit/s或bps)。

码元:在数字通信中常常用时间间隔相同的符号来表示数字。这样的时间间隔内的信号称为码元,这个间隔称为码元长度。

由于CAN通信中的信号是二进制的,所以对CAN来说波特率和比特率相等,只是业界习惯用bps表示CAN的波特率。

下面开始介绍CAN总线负载率计算:

CAN标准帧格式:帧最大长度共计108bit(默认帧长度为8)

帧起始(1bit)、仲裁域(12bit)、控制域(6bit)、数据域(8×8bit)、循环冗余码域(15bit)、1bit分隔符、应答域(2bit)和帧结尾(7bit)

CAN扩展帧格式:帧最大长度共计128bit(默认帧长度为8)

帧起始(1bit)、仲裁域(32bit)、控制域(6bit)、数据域(8×8bit)、循环冗余码域(15bit)、1bit分隔符、应答域(2bit)和帧结尾(7bit)

在实际当中,帧与帧发送之间存在间隔,帧间隔有两种不同的形式:

主动错误状态的帧间隔:

被动错误状态的帧间隔:

间隔段:连续三个隐性位;间隔段期间,所有节点不允许发送数据这或遥控帧,只要在这期间监听到显性位,接收节点就会发送过载帧。

空闲段:连续隐性位,个数不一定,0个或者多个都可以。总线空闲的时间是任意长的,只要总线空闲,节点就可以竞争总线。

暂停段:只有处于被动错误状态的节点在发送帧间隔的时候,才会在帧间隔中插入8个连续隐性位的暂停段。

对单个CAN帧来说负载率:

而CAN总线负载率是各个帧占用总线百分比之和。F = F1 + F2 + F3 + .....

另外如果已知一个CAN网络所有CAN_ID,并且知道它们的发送方式,可以粗略的估算出CAN网络的负载率:

对应一个已知的CAN Trace可以统计一秒以内发送的帧数,来粗略计算该一秒以内的CAN负载率。

关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯

关键词:

上一篇:全球微资讯!热热热!北京拉响今年首个高温预警
下一篇:最后一页

最新资讯