ZHCAD88 October   2023 TMS320F280039

 

  1.   1
  2.   摘要
  3.   商标
  4. 引言
  5. DCAN 和 MCAN 之间的主要差异
  6. 模块初始化
    1. 3.1 DCAN 初始化
    2. 3.2 MCAN 初始化
    3. 3.3 初始化序列
    4. 3.4 模块初始化代码片段
  7. 位时序配置
  8. 消息 RAM 配置
  9. 中断处理
    1. 6.1 MCAN 中断源
    2. 6.2 DCAN 中断处理
    3. 6.3 MCAN 中断处理
  10. 发送数据
    1. 7.1 基本发送过程
      1. 7.1.1 使用 DCAN 发送
      2. 7.1.2 使用 MCAN 发送
    2. 7.2 MCAN 与 DCAN 发送过程差异
    3. 7.3 MCAN 发送概念
      1. 7.3.1 Tx 事件 FIFO
  11. 接收数据
    1. 8.1 接收简介
    2. 8.2 基本接收流程
      1. 8.2.1 DCAN 接收
      2. 8.2.2 MCAN 接收
    3. 8.3 过滤器元素
      1. 8.3.1 过滤器元素结构
    4. 8.4 Rx 缓冲器
      1. 8.4.1 在 Rx 缓冲器中接收
    5. 8.5 Rx FIFO
      1. 8.5.1 在 Rx FIFO 中接收
    6. 8.6 接收高优先级消息
  12. 避免网络错误
  13. 10参考资料

过滤器元素

过滤器元素是定义的结构,需要在消息 RAM 中对其进行配置,以确定要接收哪些帧以及需要将这些帧存储在消息 RAM 中的什么位置。

标准过滤器元素用于存储标准 ID 帧,模块可以配置为具有多达 128 个元素。扩展过滤器元素用于存储扩展 ID 帧,模块可以配置为具有多达 64 个元素。标准过滤器元素和扩展过滤器元素的结构相同,但消息 ID 类型除外。以下对于标准过滤器元素的描述也适用于扩展过滤器元素。

模块具有某些全局过滤器配置(在初始化期间在 MCAN_GFC 寄存器中设置),用于确定是要接受还是要拒绝远程帧和不匹配帧(对于标准 ID 和扩展 ID 使用独立的配置)。

每个接收到的帧都会按顺序与配置的过滤器元素列表进行比较(标准 ID 帧与标准过滤器元素进行比较,等等)。在获得匹配项时,将根据相应过滤器元素的配置接受或拒绝帧,并按照配置的方式将其存储在消息 RAM 中(如果接受)。

注意:

MCAN 有一个单独的寄存器 (MCAN_XIDAM),可用作与扩展 ID 进行“与”运算的掩码。默认情况下,寄存器(掩码)的所有位均设置为 1,这会禁用掩码。

然而,在初始化期间,启用掩码时,在执行过滤器列表之前,所有接收到的扩展 ID 都与该掩码进行“与”运算。该寄存器用于屏蔽 SAE J1939 中的 29 位 ID。

通过为特定扩展过滤器元素设置扩展过滤器类型 (eft) = 0x3,可以实现范围过滤器,从而不应用扩展 ID 和掩码的“与”运算。