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参考资料

MCAN 接收

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