ZHCAF63 June   2024 MSPM0G3507

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 连接 CAN 和 I2C 的桥接器
  5. 2实施
    1. 2.1 原理
    2. 2.2 结构
  6. 3软件说明
    1. 3.1 软件功能
    2. 3.2 可配置参数
    3. 3.3 自定义元件的结构
    4. 3.4 FIFO 的结构
    5. 3.5 I2C 接收和传输(透明传输)
    6. 3.6 I2C 接收和传输(协议传输)
    7. 3.7 CAN 接收和传输
    8. 3.8 应用集成
  7. 4硬件
  8. 5应用程序方面
    1. 5.1 结构灵活
    2. 5.2 I2C 的可选配置
    3. 5.3 可选的 CAN 配置
    4. 5.4 CAN 总线多节点通信示例
  9. 6总结
  10. 7参考资料

原理

在本文档的设计中,CAN-I2C 桥接器同时使用 CAN 接收和传输功能以及 I2C 接收和传输功能。所以,必须配置 CAN 模块和 I2C 模块。由于不同通信的消息格式不同,CAN-I2C 桥接器还必须转换消息格式。

对于 CAN,CAN 模块支持传统 CAN 和 CAN FD(具有灵活数据速率的 CAN)协议。CAN 模块符合 ISO 11898-1:2015 标准。如需更多信息,请参阅相关文档。对于 I2C,可使用该接口作为从机或主机,在 MSPM0 器件和另一个 I2C 器件之间传输数据。如需更多信息,请参阅相关文档。由于 I2C 从机的接收和传输由 I2C 主机控制,因此 I2C 从机无法发起到 I2C 主机的传输。为了实现从机到主机的通信,该设计中增加了一条线路。从机的 IO 下拉会通知主机有需要发送的信息。

图 2-1 所示为 CAN-I2C 桥接器的基本原理。通常,CAN 的通信速率与 I2C 的通信速率不同。CAN FD 的波特率可以高达 5Mbps,而 I2C 以 400kHz 的总线速度运行,如示例代码所示。因此,一个接口接收到的数据可能未被另一个接口及时发送。为了匹配速率,该方案使用缓冲器在 CAN 和 I2C 之间传输数据。此缓冲器不仅实现数据缓存,还实现数据格式转换。这相当于在两个通信接口之间添加了屏障。用户可以针对过载情况,添加过载控制操作。

 CAN-I2C 桥接器的基本原理图 2-1 CAN-I2C 桥接器的基本原理