跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Blogs
  3. CANFD第二采样点相关

CANFD第二采样点相关

已定时 已固定 已锁定 已移动 Blogs
1 帖子 1 发布者 138 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • SSEZKXS 离线
    SSEZKXS 离线
    SSEZKX YunTu
    编写于 最后由 SSEZKX 编辑
    #1

    1 第二采样点(Secondary Sample Point)的意义

    传统CAN最大传输速率1Mbps, CAN-FD采用两种位速率, BRS到ACK中间(数据传输段)为可变速率,速率最高为8Mbps,其余部分(仲裁段和数据控制段)为原CAN总线用的速率,最高1Mbps,针对不同的速率有相应的时间定义寄存器。

    CAN控制器要经过CAN收发器将信号发往CAN总线,再经过收发器反馈总线信号。而CAN协议规定,发送方发送位时,需要检测接收到的位与发送的位是否一致,否则会产生位错误帧。对于传统CAN来说,因为其最高波特率位1Mbps,位宽只有1us,所以大部分情况下传输的延迟不会超过位宽的一次采样点Sample Point SP (通过TSEG1设置)。发送延时对传统CAN位校验的影响如下图:
    62c63f21-aa24-42f1-8b4f-880ff888ca28-image.png

    传输延迟受收发器环路延迟、传输距离和传输线缆带来的硬件延时影响。
    CAN FD的数据段具有比传统CAN更高的波特率,位宽也更小,因此传输延时对CAN FD的采样准确性的影响就比较大了,在一次采样点采样容易产生位错误。发送演示对CANFD位校验的影响如下图:
    7a698f94-e654-495a-99ff-fbab5627350d-image.png

    在汽车应用中,受限于车辆线缆布局的限制,难免会有长距离布线的要求,而因为传输延迟无法避免,所以在CAN FD通讯中引入了发送延时补偿Transmitter Delay Compensation (TDC)和 二次采样点Secondary Sample Point (SSP)的机制,将发送的数据与二次采样点时刻接收到的数据进行比较,从而保证发送与接受的位可以更好地匹配。

    在采用CANFD时,建议启动此功能。

    2 关于CAN的一些定义

    2.1 采样点SP

    采样点是CAN控制器读取总线电平,并解释各个比特的逻辑值的时间点。

    2.2 TQ

    e72adc57-3356-47c1-b47d-0bdd3eeeb548-image.png

    传输的个bit位由若干个Tq组成,根据功能传输一个BIT位需要分成四个阶段:同步段、传输段、相位缓冲段1和相位缓冲段2.
    aa0d4e27-37a2-4798-9eb4-e8fb13f8ffe8-image.png

    2.3 同步段(Sync_Seg)

    用于实现时序调整,总线上各个节点的跳变沿产生在同步段内,通常为1个Tq;

    2.4 传播段(Prop_Seg)

    用于补偿网络上的物理延迟时间。这些延迟时间包含信号在总线上的传输延迟和CAN节点内部的处理延迟。传播段保证了2倍的信号在总线上的延迟时间;

    2.5 相位缓冲段1(Phase_Seg1)和相位缓冲段2(Phase_Seg2)

    用于补偿跳变沿的相位误差,其长度会在重同步的实现过程中延长或缩短。

    采样点位于相位缓冲段1的结尾。由于相位缓冲段1和相位缓冲段2能够延长或缩短,采样点也能够随之变化。

    2.6 收发器延迟补偿(TDC)

    当开启TDC后,控制器将自动测量Tx信号线上FDF位到r0位下降沿与Rx信号线上FDF位到r0位边沿的之间的延迟时间(FDF位是CAN FD帧的“身份证”,隐性电平标志协议升级;r0位的下降沿与FDF跳变共同构成TDC延迟测量的时间锚点,二者协同保障高速数据段可靠传输)

    3 SDK下关于第二采样点设置

    第二采样点由transceiver loop delay收发器环路延迟和可配置的transceiver delay compensation offset收发器延迟补偿偏移组成。
    Transceiver loop delay收发器环路延迟是在每个发送帧中从EDL位(同FDF位)到下一位r0的边沿,对应发送位边沿和接收位边沿之间测量的。测得的loop delay不足以用于定义secondary sample point,因为它与位边沿有关.
    23fff827-fbd9-4829-86fc-2a967478626d-image.png
    Transceiver delay compensation offset收发器延迟补偿偏移用于将secondary sample point从边沿转移到bit time内的中间点,远离其边沿。因此,offset值不能大于data phase的bit time.所以为了使TDC可靠地工作,偏移必须使用最佳设置,但是根据是否支持BTE特性分为以下两种情况
    ·不支持BTE
    a840864c-b459-47e4-ac3f-2e34469dafbf-image.png
    ·支持BTE
    2e9e40be-f2d2-478b-86ac-0ab952c8a9ab-image.png
    故此时TDC offset不能照搬RM里的公式,应按以下公式配置:

    SSP * Tq_number * (PRESDIV + 1)
    

    计算出正确offset后,SDK代码调用API

    void FLEXCAN_DRV_SetTDCOffset(uint8_t instance, bool enable, uint8_t offset);
    

    例:
    257cfd89-afe5-4c1c-b64a-dab4a0110a75-image.png

    设置offset的API要在FLEXCAN_DRV_Init后调用,参考代码如下:

    01060a07-8c15-4094-a4a4-b2d73dc69151-image.png

    注:
    ①老版本SDK代码默认不使能BTE,1.3.1版本之后Relase代码默认使能BTE(除了LE系列芯片不支持BTE无法使能,其余支持BTE的芯片会默认使能,无论是否支持BTE,配置Offset方式不变,函数内部自行区分是否支持BTE来进行相关寄存器配置,用户无需自行配置);
    ②用户只需关心是否支持BTE功能影响的Offset取值范围,其他无需关心
    支持BTE的OFFSET为7位,最大为127
    37585869-8111-41aa-b7d3-303ce06057f8-image.png
    不支持BTE的OFFSET为5位,最大为31
    f96e34ac-b1a1-4fec-92f7-5b3fc82c115a-image.png

    4 SSP第二采样点配置错误现象

    ① ECU加入到整车CANFD网络中,整车CANFD网络中有错误帧。ECU未加入到整车CANFD网络中,整车CANFD网络中没有错误帧。

    ② ECU在该CANFD网络中,所有的CANFD帧无法正常发送,发出的CANFD帧出现Bit Stuff Error;

    ③ ECU在该CANFD网络中,所有的经典CAN帧可以正常发送。

    5 如何快速定位“SSP第二采样点”引起的Bit Stuff Error问题

    可以通过以下几个角度,逐步识别该问题:
    ① ECU在该CANFD网络中,禁用CANFD帧,仅发送经典CAN帧,CAN网络中未出现Bit Stuff Error;

    ② 确认ECU所在的CANFD网络拓扑,以及CAN双绞线的线长(CANFD网络的CAN线不宜太长,否则也会出现Bit Stuff Error);

    ③ 使用示波器实际测量MCU与CAN收发器之间的“环路延迟时间”,确认其延迟时间是否在一个CANFD数据段位时间的临界点上,如果是,尝试修改MCU与CAN收发器之间的RC阻容电路,以减小该物理延迟时间,再将该ECU放回该CANFD网络中,查看Bit Stuff Error有无减轻;

    ④ 启用TDC/SSP,查看Bit Stuff Error有无减轻。

    1 条回复 最后回复
    2

  • 云途论坛规则/Yuntu Forum Rules

    发帖前请查看

  • YCT离线License申请流程

    帮助没办法联网的电脑使用YCT

  • YT CONFIG TOOL调查问卷

    帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

  • can
    15
    demo
    14
    uds
    7
    lin stack
    6
    fbl
    5
    yt-link
    5
    md14
    4
    adc模块
    3
    Online Users
    • 登录

    • 登录或注册以进行搜索。
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门