Edit online

Time-Trigger CAN (TTCAN)

3 Mar 2025
Read time: 1 minute(s)

Time-Trigger CAN(时间触发 CAN,TTCAN )是一种根据 ISO 11898-4 标准协议定义的操作模式,将帧在预定义的时间窗口进行发送。一共有三种时间窗口类型:

  • 独占时间窗口 (Exclusive time window) :同一时间内只允许一个节点发送定义好的 ID 的帧数据。
  • 自由时间窗口 (Free time window):保留为后续扩展用的时间窗口。
  • 仲裁时间窗口 (Arbitrating time window):多个节点占用并发生仲裁的事件窗口。
TTCAN 时序由系统管理员组织起一个系统矩阵,如TTCAN 系统矩阵所示:
  • 每一行称为基本周期,同时由参考信息发起。
  • 参考信息只允许由时间主机发送。其它信息时间窗口无主从机限制。
  • 信息的 SOF 时间称为同步标记 (Sync Mark) 。参考信息的同步标记称为参考标记 (Ref Mark) 。时序由一个 16 位定时器完成。
  • 计时器和参考标记的偏差称为循环时间 (cycle time) 。换句话说,每个基本周期在参考标记处开始周期时间,循环时间存储于 RBUF 中作为一个时间戳 (time stamp)
1. TTCAN 系统矩阵

如果 CANFD 控制器需要作为一个时间主机,则参考信息需要放在 TBUF 中,并且当硬件触发器激活时可以被发送出去。时间从机和时间主机对参考消息的检测都是自动完成的。该过程可以配置正确的 REF_ID 和 REF_IDE 值来实现。在检测完成后,CANFD 控制器自动更新参考标记用于启动循环时间。

CANFD 控制器还提供了一个观测触发器用于辅助检查上一个参考信息到当前时间是否超时。主机应当设置观测触发器,用于周期场景确认。每两个基本周期之间,或者事件触发场景在当前与下一个事件触发周期之间,必须存在一个时间间隔。

当 TTTBM = 1,TBUF 在 TTCAN 模式下,STB 中的每层数据都可以由 TBPTR 寻址,并且可以通过 TBF 和 TBE 进行“满”或者“空”的标记,被标记为“满”的层会被写保护。TBSEL 和 TSNEXT 在此种模式下无效。PTB 可以被 TBPTR = 0 寻址,PTB 跟 STB 优先级相等,没有特殊优先级。此时 TBUF 中也没有 FIFO 或者优先级模式的处理方式。信息触发器定义了该信息需要被发送的时间点,并且通过 TTPTR 进行选取信息。如果触发器触发事件发生,则被选择的信息就启动发送。TPE,TSONE,TSALL,TPSS,以及 TPA 在 TTCAN 模式下无效。

当 TTTBM = 0,TBUF 在 TTCAN 模式下变成了事件驱动的 CAN 通讯模式,以及时间戳下的接收信息方式。如果 TTEN = 0 则 PTB 和 STB 仍然保持跟之前相同的行为,即 PTB 优先级高于 STB,以及 STB 可以工作于 FIFO 或者优先级模式。

如果 TTEN = 1,则 16 位定时器开始运行。如果参考信息被检测到或者如果时间主机成功发送了它的参考信息,CANFD 控制器会复制该信息的同步标记变成参考标记,并且设置周期时间为 0。对参考信息的成功接收会置位 RIF,而成功发送则会置位 TPIF 或者 TSIF。然后主机需要准备下一次触发行为。