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

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

3天内不再提示

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

AGk5_ZLG_zhiyua 来源:未知 作者:王淳 2018-09-17 10:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文导读

众所周知CAN FD是CAN 2.0的升级协议,也是汽车电子行业未来发展的主要趋势,那CAN FD到底能跑多快呢?

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

1、更高的传输波特率

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

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

2、更高效的数据段

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

图2 CAN FD高效的数据段

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

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

图3 可靠的CRC校验

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

图4 新增控制位

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

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

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

实际在总线传输的过程中,只有在实际应用环境下稳定传输才是重中之重,所以1M波特率在汽车电子会很难,接下来就如何实现高速率的稳定传输因素做以下浅析。

首先是CAN收发器,收发器的功能是将逻辑值转换为电平值,但电平在传输的过程中难免衰减,传输线缆本身的阻抗和容抗无法避免,尤其是首位终端电阻(基于手牵手拓扑),主要有两个功能:

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

  • 放电作用。

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

一、电平传输层面分析

图6 CAN FD波形

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

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

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

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

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

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

图8 CANscope总线阻抗容抗测试

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

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

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

图9 电容对下降沿的影响

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

图10 稳定时间140ns

前面我也提到5M数据速率时,位时间是200ns,实际传输过程中,一位时间包含了上升沿、下降沿以及数据稳定时间,如图10所示,数据稳定时间按是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总线的相应产品解决方案,欢迎添加微信号:zlgmcu-888,期待与您的探讨和交流。


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

    关注

    17

    文章

    983

    浏览量

    48752
  • CAN
    CAN
    +关注

    关注

    58

    文章

    3010

    浏览量

    471473
  • crc
    crc
    +关注

    关注

    0

    文章

    205

    浏览量

    30623

原文标题:CAN FD的波特率到底能跑多快?

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    can波特率计算

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

    CAN FD波特率到底能跑多快

    众所周知,CAN FD是基于CAN 2.0的升级版协议,为了满足汽车电子日益增长的高带宽和高传输速率的要求,CAN FD主要升级了以下几个方
    的头像 发表于 08-22 17:55 1.4w次阅读

    什么是串口波特率?串口波特率的分类及应用详解

    什么是串口波特率串口波特率是指串口通信系统中传输数据的速率。在UART串口通信中,数据以位(bit)的形式传输,波特率是指每秒钟传输的位数。在串口通信中,波特率是非常重要的参数,因为
    的头像 发表于 08-08 10:09 8201次阅读
    什么是串口<b class='flag-5'>波特率</b>?串口<b class='flag-5'>波特率</b>的分类及应用详解

    CAN FD波特率到底能跑多快看了就知道

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

    CAN波特率的计算

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

    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总线的稳定通信来
    发表于 08-17 18:19 7404次阅读
    <b class='flag-5'>CAN</b>特殊<b class='flag-5'>波特率</b>如何计算

    关于UART/CAN/PLL时钟计算波特率的方法

    SWM系列关于UART/CAN/PLL等时钟相关模块,计算波特率的方法。
    的头像 发表于 03-18 16:52 9336次阅读

    CAN总线波特率的基础知识

    信息在通信通道中传输的速率被称为波特率。通俗地说,波特率是数据在网络上传输的速度/速率。这是以比特/秒表示的。因此,一秒钟内在通信网络上传输的比特数就是波特率
    的头像 发表于 04-25 08:37 3.6w次阅读
    <b class='flag-5'>CAN</b>总线<b class='flag-5'>波特率</b>的基础知识

    MPC5744p的CAN通信波特率计算

    本篇笔记主要记录MPC5744p的CAN通信波特率计算,以及需要注意的问题。
    的头像 发表于 07-10 17:40 3390次阅读

    MPC5744p的CAN通信波特率如何计算

    本篇笔记主要记录MPC5744p的CAN通信波特率计算,以及需要注意的问题
    的头像 发表于 01-20 14:58 2955次阅读
    MPC5744p的<b class='flag-5'>CAN</b>通信<b class='flag-5'>波特率</b>如何计算

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

    信息在通信通道中传输的速率被称为波特率。通俗地说,波特率是数据在网络上传输的速度/速率。这是以比特/秒表示的。因此,一秒钟内在通信网络上传输的比特数就是波特率
    的头像 发表于 08-14 15:23 9347次阅读
    什么是<b class='flag-5'>波特率</b>?<b class='flag-5'>波特率</b>是如何影响<b class='flag-5'>CAN</b>总线长度的?

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

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

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

    确定CAN总线的波特率:首先,需要确定所连接的CAN总线的波特率CAN总线的波特率通常以位/秒
    的头像 发表于 01-17 09:24 1858次阅读