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

FROM http://news.21dianyuan.com/detail/34859.html

众所周知,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位算法。
 

图 3 可靠的CRC校验
 

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

图 4 新增控制位
 

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

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

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

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

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

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

图 6 CAN FD波形
 

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

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

如果下降沿缓慢是什么原因导致?
• 检查收发器外围电路是否存在容性较大的器件(不影响电路正常工作的情况下拆除),重新测试波形是否正常;
• 检查线缆的参数,每米容抗是否在正常范围内,正常线缆电容在40-70pF/m,容抗太大,建议更换线缆;
• 增加终端电阻放电,建议采用专业设备测试网络阻抗容抗做正确匹配。
 

图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总线开发的过程中会忽略的问题.

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值