ZHCZ040C November 2024 – November 2025 MSPM0G1518 , MSPM0G1519 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0G3529-Q1
I2C 模块
功能
当 I2C 时钟低于 24kHz 及更低时,SMBus 高电平超时功能会失败
当 I2C 时钟速率低于 24kHz 及更低(20kHz、10kHz)时,SMBus 高电平超时功能会失败。根据 SMBUS 规格,活动事务期间 SCL 高电平时间的上限为 50us。从将 START MMR 位写入 SCL 低电平所需的总时间为 60us,即 >50us。它将触发超时事件,并使 I2C 控制器进入 IDLE 状态,而不会在传输本身开始时完成事务。以下是详细说明。对于 SCL 配置为 20kHz 的情况,SCL 低电平周期和高电平周期分别为 30us 和 20us。首先,在高电平超时计数器开始递减的同时开始 MMR 位写入。然后,从开始 MMR 位写入到 SDA 变为低电平(启动条件)需要一个 SCL 低电平 (30us)。接下来,从 SDA 变为低电平(启动条件)到 SCL 变为低电平(数据传输开始)需要另一个 SCL 低电平周期 (30us),此时应该停止高电平超时计数器。从计数器开始到结束总共需要 60us 的时间。但是,由于高电平超时计数器的上限 (50us),尽管 I2C 事务会正常工作,而且不出现问题,但仍将触发超时事件。
当 I2C 时钟低于 24kHz 及更低时,请勿使用 SMBus 高电平超时功能。