查看: 13651|回复: 0

关于CAN/CANFD采样点的内容分享

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3299

    主题

    6546

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32024
    最后登录
    2024-4-25
    发表于 2020-11-10 14:26:11 | 显示全部楼层 |阅读模式
    关于CAN/CANFD采样点的内容分享


    前两天抽时间参加了CiA technology day线上网络会议交流,然后发现自己之前对于CAN/CANFD采样点的理解不是很理想,特别是关于CANFD的第二采样点的理解过于浅薄,这两天查了些资料,特做此记录。


    1.位时序
    由发送单元在非同步的情况下发送的每秒钟的位数称为位速率。一个位可分为4段,分别为:
    ·同步段(SS:Synchronization Segment)
    ·传播时间段(PTS:Propagation Time Segment)
    ·相位缓冲段1(PBS1:Phase Buffer Segment 1)
    ·相位缓冲段2(PBS2:Phase Buffer Segment 2)
    1位分为4个段,每个段又由若干个Tq构成,这称为位时序,这些段又由可称为Time Quantum(以下称为Tq)的最小时间单位构成,如下图所示:  
    11.png
    1位由多少个Tq构成、每个段又由多少个Tq构成等,可以任意设定位时序。通过设定位时序,多个单元可同时采样,也可任意设定采样点。
    各段的作用和Tq数如下表所示:
    12.png
    ·每个比特的位沿 (上升沿,下降沿)应位于1个时间量的同步段内;
    ·同步段之后是传播段, 该部分必须足够大,以处理由延迟引起的所有相位偏移;
    ·两个相位段(PSEG1,PSEG2)应足够大,以覆盖所有位偏移和由SJW补偿的时钟偏移。
    ·同步跳变宽度(SJW):作为重新同步的结果,可以延长PSEG1或缩短PSEG2。相位缓冲器段的延长和缩短的量具有由同步跳变宽度给定的上限。


    2.采样点
    采样点是接收节点判断信号逻辑的位置,采样点对CAN/CANFD总线来说极其重要,尤其是在组网的时候,网络中多个节点尽量保持同一个采样点,若网络中节点采样点不一致会导致同样的采样频率出现采样错误,进而会使整个网络出现故障。
    所谓采样点是读取总线电平,并将读到的电平作为位值的点。位置在相位缓冲段1结束处。其计算公式为:Sample Point = (1+TSEG1) / (1+TSEG1+TSEG2)。
    13.png
    3.传输延迟
    在传统CAN里面,ISO 11898-5:2007规定了最大总线传输延迟是255ns,对于最高波特率为1Mbit/s来说,此时对应的位宽为1us/bit,按照极限情况下计算每位由8个Tq组成,则每个Tq为125ns,而总线最大传输延迟是255ns,则传播时间段设置2Tq(250ns)就可以吸收该延迟。
    14.png
    15.png
    ·CAN驱动器发送端TX到总线延时在20到200ns纳秒之间
    ·CAN驱动器在总线到接收端RX延时在20到200ns纳秒之间
    ·绝缘隔离在CAN控制器与CAN驱动器之间大概有10到40ns纳秒的延时


    但当使用CANFD总线时,假设波特率设为5Mbit/s时,则此时对应的位宽为200ns/bit,如果每位仍然由8个Tq组成计算,则25ns/Tq,而最大传输延迟是255ns,即相当于总线最大传输延迟为10Tq。原来的传播时间段(1~8Tq)显然无法覆盖,该如何解决这个问题?
    1.增加传播时间段的Tq组成数量,但这样会导致位的Tq组成数量增加,反而会降低波特率;
    2.测出传输的时延,然后进行补偿。
    16.png
    如果考虑总线的时延,则CANFD的数据段(高波特率)采样点相比于仲裁段(低波特率)的采样点会进行后移,具体如下图所示:
    17.png
    关键词:
    ·Transmitter delay (TD) 发送器延时
    ·Bit asymmetry 比特的不对称性
    ·Unstable RX signal due to ringing 由振铃引起的不稳定RX信号
    ·SP(sample point; not considering TDC) 采样点
    ·SSP(secondary SP; taking TDC into account)第二/辅助采样点
    ·TDC(transmitter delay compensation) 发送器延时补偿


    在CANoe软件中对此也有相关配置,如下图所示:
    18.png
    辅助采样点偏移(SSP)用于补偿传输节点延迟(TD)。为了补偿TD,发送器必须能够将其发送的位与CAN网络上的当前位进行比较。然后从发射机接收比特的开头开始测量SSP。从波特率1Mbit/s开始,TD补偿会自动激活。因此,对于SSP偏移,将使用默认值。


    为什么需要“传输节点延迟(TD)”和“二次采样点(SSP)”?
    为了检测发送错误,CAN控制器接收其自身发送的帧的位并将其与所需值进行比较。传输节点延迟(TD)是从控制器的Tx FlipFlop到Rx FlipFlop的信号传播延迟。
    TD包含控制器和收发器的延迟时间。在CANFD数据阶段的比特率为1Mbit/s或更高的情况下,TD可能大于物理比特时间。为了将发送的位值与接收的位电平进行比较,需要对TD进行补偿——所谓的发送节点延迟补偿Transmitting Node Delay Compensation (TDC)。CAN控制器测量TD并据此知道回读位的开始——所谓的辅助采样点Secondary Sample Point (SSP)。因此,从发送位的开始到回读位(SSP)的采样点的时间间隔为SSP = TD + SSP偏移。
              19.png    
    4.位定时设置建议
    1、设置Tq_A(Tq Arbitration Phase) = Tq_D(Tq Data Phase),用来减少量化错误;
    2、使Tq_A尽可能短,这可以将量化错误最小化;
    3、选择最高可用的CAN时钟频率(例如40 MHz或80 MHz);
    4、在仲裁阶段,所有节点应具有完全相同的采样点;
    5、数据阶段的采样点应放置在,该位的开始处在尽可能的晚的边缘后,和该位的结束处尽可能的早的边缘的中间,在这段时间中,当总线信号稳定的时候。
    6、启用TDC(基于测量)以获得高于1 Mbit/s的数据阶段比特率。


    CiA 601-2文档中关于数据阶段抽样点范围和推荐的寄存器长度如下:
    20.png
    不同时钟晶振下的推荐值如下:
    21.png




    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-26 03:26 , Processed in 0.120961 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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