繁体   English   中英

I2C,在SCL线为低电平期间,SDA线为高电平,紧随地址+ R / W字节之后

[英]I2C, SDA line high during SCL line low, just after address + R/W byte

我想知道我在I2C测试中看到的一种现象。

我观察到,当我在从主机到从机的地址0上写入数据时,刚好在发送第一个字节(地址+ R / W位)之后的两个SCL滴答之间将SDA线置于高电平。 它不会改变行为,但我想知道为什么会这样。

注意:在图像上,地址为0,我正在写入3个字节0x00。 这就是为什么除了我的现象以外,SDA线上的所有产品都很低的原因。

i2c:SDA峰值

有人有建议吗?

在从主机到从机的I2C通信中,每个传输的字节包括主机发送的8个数据位和从机发送的1个确认位。 因此,在第8位之后,主机释放SDA线,以便从机可以控制它。

如果主机释放SDA与从机控制之间存在一定的延迟,则两方均不会控制该线路,并且必须通过强制上拉电阻将其拉高。 这就是示波器上可见的内容。

由于SCL线很低,因此非常好。 仅当SCL为高时才对SDA进行采样。

我只能推测为什么只在第一个字节出现。 从站可能需要一些时间来比较接收到的地址,并确定它是否是已寻址的从站并必须响应。 对于后面的字节,不再需要它,因为从设备预先知道它是活动I2C通信的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM