硬汉嵌入式论坛

 找回密码
 立即注册
查看: 301|回复: 3
收起左侧

[I2C控制器] H7-TOOL的I2C控制器主机模式的时钟扩展功能支持(2025-10-07)

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-7 22:32:58 | 显示全部楼层 |阅读模式
【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为高后继续通信。

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

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

2345.png


回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2025-10-8 09:24:35 | 显示全部楼层
老大,有计划支持I3C的主从功能吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
 楼主| 发表于 2025-10-8 11:08:03 | 显示全部楼层
ITOP 发表于 2025-10-8 09:24
老大,有计划支持I3C的主从功能吗?

可以的,不过得后面有时间弄,因为对于TOOL来说,能在转接板上外扩I3C控制器使用,而且更重要的是I3C还在普及阶段,用的人太少,支持的也比较少。只有部分新出的芯片才支持。
回复

使用道具 举报

0

主题

132

回帖

132

积分

初级会员

积分
132
发表于 2025-10-10 10:12:16 | 显示全部楼层


有用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-11-22 01:00 , Processed in 0.042348 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表