0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

冬至子 来源:InfluxAsia 作者:Influx 2023-08-14 15:23 次阅读

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

对于串行多主 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的情况下,总线负载%将成为:-

10008/250000100% = 3.2%

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

10008/500000100% = 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 总线来说,波特率和线缆的长度是成反比的,波特率越高,线缆的长度越短。

1.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    1812

    浏览量

    129593
  • 波特率
    +关注

    关注

    2

    文章

    280

    浏览量

    33760
  • 通信网络
    +关注

    关注

    20

    文章

    1992

    浏览量

    51550
收藏 人收藏

    评论

    相关推荐

    can波特率计算

    can波特率其实并不难计算,这里给出了can波特率的简单计算,并给出了实例STM32的CAN波特率
    发表于 12-14 17:02 1.1w次阅读
    <b class='flag-5'>can</b><b class='flag-5'>波特率</b>计算

    排查问题:降低CAN总线波特率尝试解决问题,失败

    CAN总线波特率波特率发生器can总线控制器总线
    jf_06209345
    发布于 :2022年03月18日 20:08:01

    #硬声创作季 #CAN #PLC 总线设计的波特率应该如何选择?

    CAN波特率波特率发生器
    学习电子知识
    发布于 :2022年11月02日 20:00:29

    CAN怎么设置CAN波特率

    1. 波特率计算原理说明:本文档主要解决基于SJA1000T 独立CAN控制器的接口卡编程时波特率设置问题.1.1SJA1000T CAN控制器的
    发表于 11-23 14:37

    请问如何利用程序(STM32)判断CAN总线波特率/通讯协议?

    利用STM32F103的CAN控制器可以和其他的节点进行通讯了。不过我承认,我自己对于CAN协议的理解还是太肤浅了。现在的问题是,我的节点怎么知道CAN总线
    发表于 12-28 08:54

    请问STM32的CAN波特率怎么计算?

    请教STM32的CAN波特率如何计算?按照手册上是Tbs1 = Tqx(TS1[3:0] + 1)Tbs1 = Tqx(TS1[2:0] + 1) Tq= (BRP[9:0] + 1)xTpclk
    发表于 05-17 02:44

    非标准CAN波特率的计算

    影响CAN总线稳定的因素有很多,其中波特率是一项非常重要的指标,很多工程师在选择波特率时非常头疼。今天我们就来说说该如何快速解决特殊波特率
    发表于 07-29 08:00

    如何用CAN控制器检测到CAN总线上的波特率

    CAN控制器怎样检测到CAN总线上的波特率?在不知道CAN总线
    发表于 04-22 01:12

    STM32的CAN波特率计算公式

    %波特率计算公式:波特率 = 频率/(CAN_BS1+CAN_BS2+1)/CAN_Prescaler采样点计算方式:smp = (1+CAN
    发表于 08-20 07:51

    CAN波特率的计算

    重新同步跳跃宽度,不参与波特率的计算,其值可以编程为1到4个时间单元,表示该总线波特率范围的容差度。公式中1表示同步段固定为一个单位时间。)APB1Clock=36Mhz,CAN_B
    发表于 08-20 08:11

    STM32的CAN波特率计算 精选资料分享

    总线波特率范围的容差度。公式中1表示同步段固定为一个单位时间。)eg:APB1Clock=36Mhz, CAN_BS1=3, CAN_BS2=5,
    发表于 08-23 06:10

    什么是波特率?为什么要设置波特率

    欢迎来到东用知识小课堂!一、什么是波特率波特率(BaudRate)单位bps是用于衡量串口通信速度的单位,它表示每秒钟发送的比特数。如果一个串口的波特率为9600,就表示该串口在一秒钟内可以发送
    的头像 发表于 04-08 00:00 3799次阅读
    什么是<b class='flag-5'>波特率</b>?为什么要设置<b class='flag-5'>波特率</b>?

    can总线波特率一般采用多少?

    can总线波特率一般采用多少 Can总线是指Controller Area Network,是一种高性能的串行通信协议。
    的头像 发表于 09-07 15:05 1870次阅读

    以太网CAN转换器波特率的设置步骤是怎样的?

    确定CAN总线波特率:首先,需要确定所连接的CAN总线波特率
    的头像 发表于 01-17 09:24 390次阅读

    为啥要转换波特率 波特率和传输速率的关系

    对于串行多主 CAN 总线,如果波特率被称为“500000波特”,则 CAN 上的该端口每秒最多可传输500000位。
    的头像 发表于 03-06 17:38 1167次阅读
    为啥要转换<b class='flag-5'>波特率</b> <b class='flag-5'>波特率</b>和传输速率的关系