• 注册 / 登录
  • 切换到窄版
  • 查看: 1888|回复: 0

    CAN总线不加终端电阻会怎样?

    [复制链接]

    676

    主题

    690

    帖子

    6810

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6810
    发表于 2023-6-12 11:03:08 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    前言

    在进行CAN总线通信前,应保证正确的总线配置,比如终端电阻。它是影响总线通信的重要组件,下面我们不考虑信号的完整性,只从信号幅度和时间常数方面分析不加终端电阻时的影响。

    终端电阻添加要求

    根据ISO11898-2对终端电阻的取值规定,必须在总线的首尾两端各挂一个120Ω的终端电阻,即总线上加60Ω的终端电阻,而中间节点则不需要挂终端电阻,如图1所示。

    1.png
    图1  终端电阻

    不加终端电阻时的影响

    如图2所示,假如我们按照ISO11898标准要求,使用CANScope测试时,加上60Ω的终端电阻,然后以250Kbps的波特率自发自收数据,可以看到报文可以正常发送,且关联的波形也正常。

    2.png
    图2 加终端电阻CANScope自发自收现象

    假如CANScope在不加终端电阻的时候,以250Kbps的波特率自发自收数据,如图3所示,发送的数据都是帧ID错误,且关联的波形也出现异常。

    3.png
    图3 未加终端电阻CANScope自发自收现象

    对于报文数据,从关联的波形数据可以看到,上升沿没有任何问题,但是下降沿相对于加终端电阻的波形缓慢很多,一直未达到隐性状态,这些是为什么呢?下面我们对其进行一一的解析。

    1、为什么影响下降沿?

    众所周知,CAN总线的传输方式是差分传输方式,而总线电平的判断,就是CAN收发器根据CANH和CANL线缆之间的差分电压(CANH-CANL)来判断的,总线上传输的电平信号只有两种可能,一是显性电平,二是隐性电平,其中显性电平代表逻辑0,隐性电平代表逻辑1。

    首先我们看一下CAN收发器的内部结构,如图4所示:

    4.png
    图4 CAN收发器内部结构

    当总线电平为显性时,收发器内部的Q1、Q2处于导通状态,此时CANH、CANL之间会产生压差;当总线电平为隐性时,收发器内部的Q1、Q2处于截止状态,此时CANH、CANL处于无源状态,压差为0。所以当隐性状态变为显性状态(上升沿)时,主要由收发器中的驱动模块作用,当显性状态变为隐性状态(下降沿)时,是通过整条总线与终端电阻放电产生的,所以总线的终端电阻是影响下降沿缓慢程度的主要物理因素。

    2、下降沿为什么迟迟达不到隐性状态?

    前面提到,下降沿缓慢程度,受终端电阻的影响,是如何影响的,那这就和时间常数τ有关系了。我们知道,时间常数可由电容(C)和负载电阻(R)确定,即τ=RC,所以当总线上无终端电阻时,CANH和CANL之间的阻值很大,例如CANScope,在未加终端电阻时,测量的电阻值,约91KΩ左右,所以根据时间常数的公式,τ值会很大,所以无法快速消耗掉总线上寄生电容上的电能,从而导致下降沿缓慢,迟迟达不到隐性状态。

    5.png
    图5 RC电路

    3、为什么会产生错误帧?

    如图6所示,是图3对应的示波器截图,从图中看出,当光标区域的ΔX为一个位,即4us时,差分信号在光标B处的电压YB为3.341V,远高于CAN规范中的隐性电平判断上限值0.5V,显性电平判断下限值0.9V,所以此时的位被判断为显性位,而又由于时间常数远大于250Kbps波特率下的位时间,所以会有超过5个位被判断为显性位,从而破坏了CAN规范中的填充规则,出现了帧ID填充错误。

    6.png
    图6 250Kbps波特率波形细节

    为了加深对错误帧产生原因的了解,我们举一个反例,看位时间远大于无终端电阻情况下的时间常数时,会出现什么样的现象。

    下面以CANScope不加终端电阻,波特率为10Kbps进行自发自收为例,如图7所示,CANScope报文列表中,无错误帧产生。通过观察同步的示波器截图,如图8所示,光标区域ΔX为45.6us时,差分信号在光标B处的电压YB为0.4813V,又由于CANScope默认的采样点是75%在光标区域之后,所以此时可正常判断该位为隐性,从而不会导致错误帧的产生。

    7.png
    图7 10Kbps波特率发送报文

    8.png
    图8 10Kbps波特率波形细节

    终端电阻添加的方法

    在使用CANScope作为测量设备时,除了用户自己外部添加终端电阻的方法外,还可以通过软件配置给被测节点或网络添加终端电阻,其添加的方法,会根据不同的PORT头配件,选择不同的配置方法。当使用标配件P8251T、P1040T时,勾选图9中的启用终端电阻,即可在总线上添加120Ω的终端电阻;当选配件使用StressZ时,如图10中的RHL,可根据需要设置对应的终端电阻。

    9.png
    图9 标配件P8251T、P1040T终端电阻设置

    10.png
    图10 选配件StressZ终端电阻设置

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-12-22 20:07 , Processed in 0.047084 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表