H7-TOOL的I2C控制器主机模式的时钟扩展功能支持

【H7-TOOL的I2C主从控制器功能】
主机功能
1、主机最高速度800KHz。
2、IO电平范围支持1.2V-5.0V。
3、支持波形展示。

从机功能
1、从机是采用硬件I2C实现,开启了Fast-mode Plus,最高支持1MHz,从机的I2C速度是由主机决定的,使用时,不需要大家配置。
2、IO电平范围支持1.2V-5.0V。
3、从机不能主动发起操作,对从机的读写操作都是由主机发起的。
4、支持波形展示。

【时钟扩展功能】
I2C主机的时钟扩展(Clock Stretching)功能,是I2C总线协议中的一个重要机制,允许从机在需要更多处理时间时,主动控制SCL线,将通信"暂停",以确保数据的可靠传输。

  1. 基本原理
    I2C通信流程
    I2C通信由主机产生时钟信号(SCL)并控制数据线(SDA)。主机发起通信、发出时钟脉冲,从机按时响应。

时钟扩展(Clock Stretching)
当从机在某一时刻无法及时响应(如处理数据或准备数据太慢)时,可以主动将SCL线拉低(保持为低电平),即使主机试图拉高SCL,从机也会持续拉低,直到准备好后才释放SCL,主机检测到SCL为高后继续通信。

  1. 工作机制
    主机驱动SCL为低电平,准备发送或接收数据。
    主机拉高SCL,期望数据稳定。
    从机如果准备好了,不会干涉,SCL正常变为高电平,通信继续。
    从机如果未准备好,在主机试图拉高SCL时,从机继续拉低SCL,主机检测到SCL未被拉高,必须等待。
    从机准备好后,释放SCL,允许其回到高电平,主机检测到后继续后续操作。

3、当前已经发布的2.31版本固件就支持,需要手动调用LUA函数i2c_bus("set_auto_delay", 1)即可,第2个参数1表示使能,0表示禁止

相关推荐
硬汉嵌入式4 天前
H7-TOOL高速DAPLINK使用pyOCD命令行操作说明
openocd·hid·pyocd·h7-tool·daplink·winusb
硬汉嵌入式9 天前
《安富莱嵌入式周报》第358期:USB4雷电开源示波器,2GHz带宽,3.2Gsps采样率,开源亚微米级精度3D运动控制平台,沉浸式8声道全景声音频录制
h7-tool·嵌入式周报
硬汉嵌入式1 年前
CMSIS-RTOS V2封装层专题视频,一期视频将常用配置和用法梳理清楚,适用于RTX5和FreeRTOS(2024-09-28)
rtos·h7-tool