ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
I2C 模块支持 SCL 和 SDA 线路上的干扰抑制,以满足 I2C 规范中规定的 50ns 干扰抑制要求。
模拟干扰滤波器
默认情况下,模拟干扰滤波器会启用并配置为抑制脉冲宽度高达 50ns 的尖峰。I2C 规范建议抑制小于 50ns 的噪声尖峰。用户可以通过清除 I2Cx.GFCTL.AGFEN 位来禁用此滤波器,也可以使用 I2Cx.GFCTL.AGFEN 来配置抑制脉冲宽度。模拟干扰滤波器只能用于在低功耗模式下唤醒 I2C。
数字干扰滤波器
可以对 I2Cx.GFCTL 寄存器中的 DGFSEL 位进行编程,以便为 SCL 和 SDA 线路提供干扰抑制确保信号值正确。干扰抑制值以 I2C 功能时钟为单位。当干扰抑制为非零时,所有信号都将在内部延迟。例如,如果 DGFSEL 设置为 0x7,则在计算预期事务时间时应加上 31 个时钟;更多信息请参阅寄存器描述。数字干扰滤波器不能用于将 I2C 从低功耗模式唤醒。
| 模拟干扰滤波器 | 数字干扰滤波器 | |
|---|---|---|
| 默认值 | 默认启用且宽度为 50ns | 默认绕过 |
| 所抑制尖峰的脉冲宽度 | 可配置 5ns、10ns、25ns、50ns | 可编程的 I2C 时钟周期 1、2、3、4、8、16、31 |
| 优势 | 无需时钟即可使用 |
|
| 限制 | 随温度、电压和工艺而变化 | 当没有足够的时钟时,在低功耗唤醒模式下不工作。 仅在 I2C 数据包开始 3 个时钟周期后启用 |