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

中断处理

从 CPU 级别(PIE、IFR 和 INTM)来看,DCAN 和 MCAN 之间的中断处理是相同的。但是,中断处理在模块级别有很大不同。表 6-1 总结了 DCAN 和 MCAN 模块之间中断处理的基本差异:

表 6-1 DCAN 和 MCAN 中的中断处理
类别 DCAN MCAN
中断源与每个消息对象相对应的错误、状态和发送/接收中断30 个内部中断源(在下表中指定)
全局中断寄存器用于启用、读取和清除存在的全局中断的寄存器对应的寄存器不存在
配置接收中断可以根据需要,通过设置每个消息对象中的 RxIE 位来单独启用接收中断可以针对专用 Rx 缓冲器中接收的任何新消息启用或禁用中断。
确定接收中断的源从寄存器 CAN_INT 读取的值对应于已接收到消息的消息对象编号中断仅表示 Rx 缓冲器中已接收到新消息。从 MCAN_NDATx 寄存器读取的值对应于已接收到消息的 Rx 缓冲器元素编号。
Rx FIFO 中断不支持单独的中断功能其他中断源可用,包括 FIFO 中的新消息、FIFO 已满和 FIFO 达到水线(可在消息 RAM 配置期间配置水线,以便在 FIFO 填充到特定水平时生成中断来满足应用需求)
配置发送中断可以根据需要,通过设置每个消息对象中的 TxIE 位来单独启用发送中断可以通过配置寄存器 MCAN_TXBTIE 来单独启用发送中断,其中每个位对应一个单独的 Tx 缓冲器元素。
确定发送中断的源从寄存器 CAN_INT 读取的值对应于已发送消息的消息对象编号中断仅表示发送已完成。从 MCAN_TXBTO 寄存器读取的值对应于已发送消息的 Tx 缓冲器元素编号。