ZHCAF63 June 2024 MSPM0G3507
在本文档的设计中,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 之间传输数据。此缓冲器不仅实现数据缓存,还实现数据格式转换。这相当于在两个通信接口之间添加了屏障。用户可以针对过载情况,添加过载控制操作。