ZHCAD88 October   2023 TMS320F280039

 

  1.   1
  2.   摘要
  3.   商标
  4. 1 引言
  5. 2 DCAN 和 MCAN 之间的主要差异
  6. 3 模块初始化
    1. 3.1 DCAN 初始化
    2. 3.2 MCAN 初始化
    3. 3.3 初始化序列
    4. 3.4 模块初始化代码片段
  7. 4 位时序配置
  8. 5 消息 RAM 配置
  9. 6 中断处理
    1. 6.1 MCAN 中断源
    2. 6.2 DCAN 中断处理
    3. 6.3 MCAN 中断处理
  10. 7 发送数据
    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. 8 接收数据
    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. 9 避免网络错误
  13. 10参考资料

MCAN 接收

  1. 配置过滤器元素大小(总数)、Rx 缓冲器大小和 Rx FIFO 大小以及缓冲器和 FIFO 的元素大小。元素大小可以根据每帧的估计数据大小进行配置。这些步骤是在消息 RAM 配置过程中完成的。配置过滤器元素,其中包括设置所需的消息 ID/过滤条件,以及配置存储每个相应过滤器元素的匹配帧的位置(在 Rx 缓冲器和 Rx FIFO 0/1 之间)。
  2. 对于每个接收到的帧,模块按升序检查过滤器元素(标准或扩展,取决于接收到的帧)。获得第一个匹配帧后,该帧将按照配置存储到过滤器元素中。不匹配的帧也可以配置为存储在 Rx FIFO 0/1 中。
  3. 通过轮询或使用中断,确定新数据的接收。对于轮询,在寄存器 MCAN_NDAT1 和 MCAN_NDAT2 中,每个可能的 Rx 缓冲器元素都对应有一个位。因此,对于 Rx FIFO 中的新消息,可以检查 MCAN_RXFxS.FxFL 位以获取填充级别。对于使用中断,相应章节中已概述了该过程。
  4. 使用 Driverlib API 从接收到的帧中读取数据。