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

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

3天内不再提示

CAN FD的波特率到底能跑多快?

西西 来源:未知 作者:致远电子 2018-08-22 17:55 次阅读

众所周知,CAN FD是基于CAN 2.0的升级版协议,为了满足汽车电子日益增长的高带宽和高传输速率的要求,CAN FD主要升级了以下几个方面:

一、更高的传输波特率

图 1 可变数据段波特率结构

CANFD速率包含两个段的速率,一个是仲裁段和ACK段,沿用CAN2.0的规范,最高速率为1Mbit/s,中间的数据段是可以加速的,标称可以达到5Mbit/s,甚至更高。

二、更高效的数据段

对于汽车电子来说,对车辆动力系统、地盘以及主被动系统来说,加长的数据段避免了数据非必要的拆分,大大提升了CAN帧的传输效率。

图 2 CAN FD高效的数据段

三、更可靠的CRC校验和额外的控制位

在传统的CAN 2.0中,由于填充规则会对CRC产生干扰,在CAN FD中升级了算法,将填充位加入多项式的运算,主要作为格式检查,考虑数据长度变化的区间很大,CRC也根据区间会生成两种校验算法,当帧长小于210位,使用CRC_17,当帧长小于1023位,使用CRC_21位算法。

CAN FD的波特率到底能跑多快?

图 3 可靠的CRC校验

另外在CAN FD中利用了部分保留标志位,新增三种控制位,包括EDL(是否是CANFD帧)、BRS(是否可变速率)以及ESI(错误状态),丰富帧内的有用信息

CAN FD的波特率到底能跑多快?

图 4 新增控制位

接下来我们回到正题,升级后的CAN FD到底能跑多快呢?直接讲参数很肤浅的,我们要分析。。.。。.那我们就用一个问题开始,大家都知道CAN 2.0最高速率可以到1M,但是为什么汽车电子高速CAN只跑到500K呢?

对于CAN总线的传输速率来讲,传输距离和传输速率是成反比的,一般来说传输距离(m)=(50000/波特率kbps)*0.8,如图 5所示。

图5 传输距离和传输速率的关系。

收发器和传输距离到底关系何在?刚才提到,收发器输出是电平值,电平在传输的过程中难免衰减,线缆本身的阻抗和容抗无法避免,其次首尾终端电阻也是必要的,主要有两个功能:

首尾120欧姆终端电阻,保证阻抗连续性(防止电信号反射);

放电作用;

针对终端电阻放电作用,我们下面从两个层面分析:

电平传输层面分析

图 6 CAN FD波形

我们先来看一个CANFD分解波形,其中是由显隐性电平构成的,其中上升沿是由CAN收发器芯片本身驱动的。当显性电平转变为隐形电平的时候,需要终端电阻放电,所以下降沿是我们的终端电阻放电的造成的。

CAN FD的波特率到底能跑多快?

图 7 负载电阻与差分幅值的关系

如果下降沿缓慢是什么原因导致?

检查收发器外围电路是否存在容性较大的器件(不影响电路正常工作的情况下拆除),重新测试波形是否正常;

检查线缆的参数,每米容抗是否在正常范围内,正常线缆电容在40-70pF/m,容抗太大,建议更换线缆;

增加终端电阻放电,建议采用专业设备测试网络阻抗容抗做正确匹配。

CAN FD的波特率到底能跑多快?

图8 CANscope总线阻抗容抗测试

四、总线网络数据能否正确传输层面

阻抗太大,电压幅值压降太大,传输距离大大降低。现象就是在手牵手的网络拓扑中,当然差分辅幅值最好不要低于1.3V,防止在强干扰的环境下,导致收发器无法识别或误识别总线信号

容抗也是影响下降沿的重要因素,如果下降沿太缓慢会导致位宽拉长,导致收发器错误识别,导致0/1的翻转,CAN总线是错误重发的机制,会一直重发,直到这一帧被正确接收。

图 9 电容对下降沿的影响

同样的我们回到阻抗和容抗的匹配是如何影响CAN FD的传输速率的呢,接下来我们用实测证明:

图 10 稳定时间140ns

前面我也提到5M数据速率时,位时间是200ns,,实际传输过程中,一位时间包含了上升沿、下降沿以及数据稳定时间,如图 15所示,数据稳定时间按是140ns,那其中上升沿和下降沿占了60ns,理想情况下,上升沿和下降沿完全对称,其中上升沿时间是30ns,按照边沿极限值12%计算,实际算出来的位时间=30/(12/100)=250ns,那么相对应的传输波特率就=1/250ns=4M波特率,所以实际5M波特率也就是在测试使用,如果按照7%的边沿时间为安全值来计算,实际的位时间=30/(7/100)约等于42ns,相对应的传输波特率=1/42ns约等于2.3M,所以想要实际在工况下稳定可靠传输,数据端波特率在2M左右比较合理。

综上所述,影响CAN FD到底能传输多快影响的因素非常多,也是我们大多数工程师在实际CAN总线开发的过程中会忽略的问题,如果需要CAN总线的相应的产品解决方案,随时致电我们,期待与您的探讨和交流。

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

    关注

    145

    文章

    1791

    浏览量

    129513
  • CAN
    CAN
    +关注

    关注

    54

    文章

    2434

    浏览量

    458687
  • 波特率
    +关注

    关注

    2

    文章

    277

    浏览量

    33731
收藏 人收藏

    评论

    相关推荐

    can波特率计算

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

    CAN FD波特率到底能跑多快

    众所周知CAN FDCAN 2.0的升级协议,也是汽车电子行业未来发展的主要趋势,那CAN FD到底
    的头像 发表于 09-17 10:01 1.5w次阅读

    使用cubemx设置CAN波特率与实际测得的波特率不一致的原因?

    使用cubemx设置CAN波特率与实际测得的波特率不一致。
    发表于 03-26 07:06

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

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

    CAN怎么设置CAN波特率

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

    实现CAN的高速超远程传输--CAN波特率转换器BTL-CAN

    CAN总线可以在5Kbps波特率时传输最远10Km、在10Kbps波特率时传输最远5Km、在100Kbps波特率时传输最远500m,增加波特率
    发表于 03-24 14:28

    请问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 FD波特率到底能跑多快看了就知道

    众所周知,CAN FD是基于CAN 2.0的升级版协议,为了满足汽车电子日益增长的高带宽和高传输速率的要求,CAN FD主要升级了以下几个方
    发表于 08-04 07:45

    STM32的CAN波特率计算公式

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

    CAN波特率的计算

    车辆使用的250K 的波特率,使用STM32制作的控制板中的CAN波特率的计算波特率=APB1Clock/(1+CAN_BS1+CAN_BS
    发表于 08-20 08:11

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

    波特率=APB1Clock/(1+CAN_BS1+CAN_BS2)/CAN_Prescaler(PS:CAN_SJW表示重新同步跳跃宽度,不参与波特
    发表于 08-23 06:10

    S32K148如何更改CAN FD波特率

    我将 S32_SDK_S32K1xx_RTM_4.0.3 中的 flexcan_encrypted_s32k148用于 S32K148EVB,我需要以 1000 kbps 的波特率发送 CAN
    发表于 03-17 08:45

    CAN通信波特率设置

    CAN通信波特率设置 LM3S2000、LM3S5000、LM3S8000系列CPU内部有1~3路CAN控制器,通过对CAN位定时寄存器CANBIT及
    发表于 04-06 18:00 24次下载

    CAN通信波特率不对会怎样?

    CAN通信波特率不对会怎样?  CAN通信是一种流行的通信协议,它广泛应用于许多现代车辆的系统中。CAN通信协议通过处理器之间的数据交换,实现车辆的控制。
    的头像 发表于 10-11 17:19 1119次阅读