大家好、
数据表中指出"如果 I2C 总线保持空闲状态的时间超过25ms、则总线超时。"
空闲状态是否仅 SDA =高电平、SCL =高电平状态?
在我们客户的情况下、在保持 SDA=低电平且 SCK=低电平30ms 后、在 Flame1: 保存地址字节之后不会发生 ACK 信号。
我们认为这是 因为 I2C 总线空闲状态使总线超时保持在25ms 以上。
此致、
teritama
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
数据表中指出"如果 I2C 总线保持空闲状态的时间超过25ms、则总线超时。"
空闲状态是否仅 SDA =高电平、SCL =高电平状态?
在我们客户的情况下、在保持 SDA=低电平且 SCK=低电平30ms 后、在 Flame1: 保存地址字节之后不会发生 ACK 信号。
我们认为这是 因为 I2C 总线空闲状态使总线超时保持在25ms 以上。
此致、
teritama
您好、Teritama:
Unknown 说:空闲状态仅 SDA=Hi、SCL=Hi 状态吗?
是的、I2C 总线的空闲状态定义为 SDA=HI 且 SCL=HI、当没有通信 发生时、这应该是在停止条件之后和启动条件之前的默认状态。
在我们的数据表"如果 I2C 总线保持空闲超过25ms、则总线超时。" 为了避免产生混淆、我们可能已经使用了"idle"以外的字、因为您是正确的、I2C 中的 IDLE 定义为 SDA=HI 和 SDA=HI。
数据表中所谓的"空闲"是指、如果超过25ms 没有新通信发生、当器件预期进行通信时、器件将超时、因此器件不会进行 ACK。
[quote userid="386772" url="~/support/data-converters-group/data-converters/f/data-converters-forum/1243144/ads1115-about-i2c-idle-state在我们客户的情况下、在保持 SDA=低电平且 SCK=低电平30ms 后、在 Flame1: 保存地址字节之后不会发生 ACK 信号。
我们认为这是 因为 I2C 总线空闲状态使总线超时保持在25ms 以上。
[/报价]正确、由于在器件预期进一步的 I2C 通信时、没有新的时钟脉冲并且在超过25ms 的时间内没有进一步的通信发生、因此器件没有 ACK 位、因此器件超时。
混淆可能源于 数据表说明中宽松使用的 IDLE 一词。
以下应用手册可帮助您更好地理解 I2C 总线 《理解 I2C 总线》(TI.com)。
此致、
天使