在什么情况下,I2C主站会把SCL线拉低?

问题描述 投票:0回答:1

我有一块板子作为I2C主站。只有一个主站。它连接到两个从站。一个从机支持时钟拉伸,而另一个不支持。在读或写事务之间,线路被拉低。是否有可能从机不会将线拉低?

embedded protocols i2c soc
1个回答
0
投票

Frome 维基百科,物理层 在SCL处于低位时,发送器(最初是主站)将SDA设置为所需的值,(在一小段延迟后让该值传播)让SCL浮动高位。

当SCL为低电平时,发射机(最初是主站)将SDA设置为所需的值,并(经过一小段延迟,让该值传播)让SCL浮动为高电平。然后,主站等待SCL实际升到高电平;这将被SCL信号的有限上升时间(上拉电阻的RC时间常数和总线的寄生电容)所延迟,并可能被从站的时钟拉伸所额外延迟。一旦SCL为高电平,主站就会等待一个最短的时间(对于标准速度的I²C来说是4μs),以确保接收器已经看到了该位,然后再将其拉低。这样就完成了一个比特的传输。

所以是的,主站可以将SCL线拉低。这是传输的正常结束。

© www.soinside.com 2019 - 2024. All rights reserved.