ZHCAF96 April   2025 MSPM0G3506 , MSPM0G3507 , MSPM0G3518 , MSPM0G3519

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 MCAN 特性
  5. 2MCAN 模块的 Sysconfig 配置
    1. 2.1 MCAN 时钟频率
    2. 2.2 MCAN 基本配置
      1. 2.2.1 发送器延迟补偿 (TDC)
      2. 2.2.2 位时序参数
      3. 2.2.3 消息 RAM 配置
        1. 2.2.3.1 标准和扩展 ID 滤波器配置
          1. 2.2.3.1.1 如何添加更多滤波器
        2. 2.2.3.2 TX MSG RAM
        3. 2.2.3.3 RX MSG RAM
    3. 2.3 高级配置
    4. 2.4 保留配置
    5. 2.5 中断
    6. 2.6 引脚配置和 PinMux
  6. 3演示项目说明
    1. 3.1 TX 缓冲模式
    2. 3.2 TX FIFO 模式
    3. 3.3 RX 缓冲模式
    4. 3.4 RX FIFO 模式
  7. 4解决/避免 CAN 通信问题的调试和设计提示
    1. 4.1 所需的最少节点数
    2. 4.2 为何需要收发器
    3. 4.3 总线关闭状态
    4. 4.4 在低功耗模式下使用 MCAN
    5. 4.5 调试检查清单
      1. 4.5.1 编程问题
      2. 4.5.2 物理层问题
      3. 4.5.3 硬件调试提示
  8. 5总结
  9. 6参考资料

标准和扩展 ID 滤波器配置

图 2-1中列示了标准和扩展 ID 滤波器配置块中包含哪些参数。

 标准和扩展 ID 滤波器配置图 2-5 标准和扩展 ID 滤波器配置
  • Std ID Filter List Start Address:每个标准 ID 滤波器占用 4 个消息 RAM 地址。
  • Number of Standard ID Filters:最多可以为 11 位标准 ID 配置 128 个滤波器元素。SysConfig 当前不支持配置多个滤波器。可以在用户应用程序中添加更多滤波器,但请确保在初始化期间分配足够的 RAM。
  • Standard ID Filter configuration → Filter Element Configuration:所有启用的滤波器元素均用于标准帧的接受过滤。接受过滤在第一个匹配的已启用过滤器元素处或到达过滤器列表末尾时停止。该参数的选项如下所示。
    • 0x0:禁用滤波器元素
    • 0x1:如果滤波器匹配,则存储在 Rx FIFO 0 中
    • 0x2:如果滤波器匹配,则存储在 Rx FIFO 1 中
    • 0x3:如果滤波器匹配,则拒绝 ID
    • 0x4:如果滤波器匹配,则设置优先级
    • 0x5:如果滤波器匹配,则设置优先级并存储在 FIFO 0 中
    • 0x6:如果滤波器匹配,则设置优先级并存储在 FIFO 1 中
    • 0x7:存储到 Rx 缓冲器中,忽略标准滤波器类型的配置
  • Standard ID Filter configuration → Filter Type:标准滤波器类型配置。该参数的选项如下所示。
    • 0x0:从 SFID1 到 SFID2 的范围滤波器 (SFID2 ≥ SFID1)
    • 0x1:用于 SFID1 或 SFID2 的双 ID 滤波器
    • 0x2:传统滤波器:SFID1 = 过滤器;SFID2 = 掩码
    • 0x3:禁用的滤波器元素
  • Standard ID Filter configuration → Filter ID 1 (SFID1):标准滤波器 ID 1。在过滤 Rx 缓冲区时,该字段定义要存储的标准消息的 ID。接收到的标识符必须完全匹配,不使用掩码机制。
  • Standard ID Filter configuration → Filter ID 2 (SFID2):标准滤波器 ID 2。根据滤波器元素配置,此 ID 具有不同的定义。如果滤波器元素配置为 0x1 至 0x6,则 SFID2 是标准 ID 滤波器元素的第二个 ID。如果滤波器元素配置为 0x7,则 SFID2 是 Rx 缓冲器的滤波器。

扩展 ID 滤波器的配置如下所示。

  • Extd ID Filter List Start Address:每个扩展 ID 滤波器占用 8 个消息 RAM 地址。
  • Number of Extended ID Filters:最多可以为 29 位扩展 ID 配置 64 个滤波器元素。SysConfig 当前不支持配置多个滤波器。可以在用户应用程序中添加更多滤波器,但请确保在初始化期间分配足够的 RAM。
  • Extended ID Filter configuration → Filter Element Configuration:所有启用的滤波器元素均用于扩展帧的接受过滤。接受过滤在第一个匹配的已启用过滤器元素处或到达过滤器列表末尾时停止。
    • 0x0:禁用滤波器元素
    • 0x1:如果滤波器匹配,则存储在 Rx FIFO 0 中
    • 0x2:如果滤波器匹配,则存储在 Rx FIFO 1 中
    • 0x3:如果滤波器匹配,则拒绝 ID
    • 0x4:如果滤波器匹配,则设置优先级
    • 0x5:如果滤波器匹配,则设置优先级并存储在 FIFO 0 中
    • 0x6:如果滤波器匹配,则设置优先级并存储在 FIFO 1 中
    • 0x7:存储到 Rx 缓冲区中或存储为调试消息,忽略扩展滤波器类型配置
  • Extended ID Filter configuration → Filter Type:已扩展的滤波器类型配置。该参数的选项如下所示。
    • 0x0:从 EFID1 到 EFID2 的范围滤波器 (EFID2 ≥ EFID1)
    • 0x1:用于 EFID1 或 EFID2 的双 ID 滤波器
    • 0x2:传统滤波器:EFID1 = 过滤器,EFID2 = 掩码
    • 0x3:从 EFID1 到 EFID2 的范围滤波器 (EFID2 ≥ EFID1),未应用扩展 ID 和掩码
  • Extended ID Filter configuration → Filter ID 1 (EFID1):已扩展的滤波器 ID 1。已扩展 ID 的滤波器元素的第一个 ID。在过滤 Rx 缓冲区时,该字段定义要存储的扩展消息的 ID。
  • Extended ID Filter configuration → Filter ID 2 (EFID2):已扩展的滤波器 ID 2。根据扩展滤波器元素配置,此 ID 具有不同的定义。如果扩展滤波器元素配置为 0x1 至 0x6,则 EFID2 是扩展 ID 滤波器元素的第二个 ID。如果扩展滤波器元素配置为 0x7,则 EFID2 是 Rx 缓冲器的滤波器。