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

中断处理

从 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 缓冲器元素编号。