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

摘要

C2000 实时 MCU 具有三种类型的控制器局域网 (CAN) 模块:eCAN、DCAN 和 MCAN。eCAN 和 DCAN 仅支持传统 CAN,而 MCAN 同时支持传统 CAN 和 CAN FD。诸如 TMS320F2838xD、TMS320F2838xS、TMS320F28003x 和 TMS320F280015x 等器件同时具有 DCAN 和 MCAN 模块。一些 C2000 器件仅具有 MCAN 模块,因为它同时支持传统 CAN 和 CAN FD。尽管上述所有 CAN 模块均符合 CAN 协议标准,但它们彼此之间软件不兼容。具体来说,DCAN 和 MCAN 模块采用完全不同的架构,因此寄存器和位结构也不同。这就要求在模块之间采用完全不同的编程方法。本文档旨在轻松实现从 DCAN 到 MCAN 模块的迁移,讨论了常见操作(例如模块初始化、位时序配置、消息 RAM 配置、缓冲器和 FIFO 配置、数据发送、接收(带过滤)和错误处理),并介绍了如何在 DCAN 和 MCAN 模块中完成这些操作。代码片段根据需要显示。