知识分享 | 什么是波特率

知识分享 | 什么是波特率

信息在通信通道中传输的速率被称为波特率。通俗地说,波特率是数据在网络上传输的速度/速率。这是以比特/秒表示的。因此,一秒钟内在通信网络上传输的比特数就是波特率。

对于串行多主 CAN 总线,如果波特率被称为“500000波特”,则 CAN 上的该端口每秒最多可传输500000位。

CAN总线上支持的不同波特率:

● 125kbps

● 250kbps

● 500 kbps(大多数汽车应用的标准配置)

● 1000 kbps(1mbps)

各式各样的软件允许用户根据 CAN 总线的需要来设置总线速度。下面的图片来自 Influx 的 DiaLog 软件,用户可以自行选择总线速度(从各种可用的选项中选择)。

每一个波特率支持多少条信息?

CAN总线支持8字节长的数据传输。但是,这种长信息的传输会导致较大的延迟。在比特率约为1 Mbit/s的情况下,平均数据长度为4字节,使用标准格式每秒可传输多达10,000条信息,即在数据长度为8字节的情况下,每秒可发送多达7,200条信息。

使用简单的公式,人们可以计算出在 CAN 总线上传输一个帧的大概时间。

现在,举例来说,1个CAN帧大约包含125比特。

1 假设比特率=250 kBits/psec

位时间=1/位速率=1/(250*1000)s=4*s=4μs

因此,在使用250kBit/s时,1位在总线上的传输时间为4μs

因此,传输1帧的大致时间是(4 µs/bit * 125 bit)=500 µs

2 假设比特率=500 kBit/s

位时间=1/位速率=1/(500*1000)s=2*s=2µs

因此,当使用500kBit/s时,1位在总线上的传输时间为2µs

因此,传输1帧的大致时间是(2µs/bit * 125 bit)=250 µs

CAN总线负载率计算公式

总线负荷以百分比计算。

总线负载 = #bytes发送/速度

总线负载% = 字节数(在一秒钟内发送)*(8位)/(波特率bps)*100%。

假设一秒钟内要发送的字节数为1000

因此,在250kbps的情况下,总线负载%将成为:-

1000*8/250000*100% = 3.2%

同样,在500kbps时,总线负载%将变成:-

1000*8/500000*100% = 1.6%

然而,在较高的信息优先级下,通常可以实现70%到80%的总线使用率。

在给定的秒数内在总线上传输给定数量的帧。除非定义,否则每个消息(32位数据)的平均位假定为76位(可能有所不同)。

● 5ms -5帧

   1/ 0.005 * 5 * 76 = 760,00

● 10ms -5帧。

   1 / 0.010 * 5 * 76 = 38,000

● 100ms - 5帧

   1 / 0.100 * 5 * 76 = 3800

总帧数=760,00+38000+3800=117800

波特率为250 kbps时的总线负载=117800/250000*100%=47.12%

波特率为500 kbps时的总线负载=117800/500000*100%=23.56%

在下面的截图中,我们可以看到 Influx 的Rebel CT/LT,通道(HS)的活动日志和跟踪查看器。在这里可以看到比特率和总线负载(总量、每秒和负载)等参数。此外,Rx/Tx 信息和错误帧(总数、每秒和负载)也可以轻松查看。

波特率是如何影响 CAN 总线长度的?

对于 CAN 总线来说,波特率和线缆的长度是成反比的,波特率越高,线缆的长度越短。

波特率线缆长度

免责声明

Influx 公司的知识库仅供参考。我们Influx 声明,这绝不是我们研究的文件,而是为了更好地理解而收集的数据。信息的获取、研究和汇集来自于不同的平台,如独立网站、视频、博客、研究论文等,目的是为了提供信息,让我们的读者可以更容易理解内容。因此,我们并不拥有这些材料的版权。浏览者或读者允许以电子方式复制和打印本知识库的部分内容,其唯一目的是为了提供信息、理解和教育。Influx 公司不以任何方式对内容研究的准确性负责。

你可能感兴趣的:(知识分享 | 什么是波特率)