主题中讨论的其他器件: ISO1540、 ISO1640、 TCA9535、 PCF8574
大家好、
根据数据表、ADS1110正在响应 I2C 常规调用。 然后、它通过 Ack 逻辑响应总线上的00h 器件地址。
下面是我的问题:
它是否仅在00h 地址是起始信号后的第一个字节时才确认它?
配置:
在我的系统中、ADS1110和 AT24C04 (EEPROM)连接在同一个 I2C 上。
向 AT24C04写入数据需要3个字节(器件地址为1个字节、EEPROM 字节位置为1个字节、将要写入的数据为1个字节)。
当 ADS1110连接到总线上时、我遇到了奇怪的行为、无法在 EEPROM 中写入字节值01h。
通过使用示波器查看 i2c 帧、可以发现数据字节的 lsb 位在不应该被拉低的情况下被拉低。
下面是在 I2C 总线上连接 ADS1110并在位置29h (AT24C04地址为50h)写入01h 时的示波器屏幕截图:查看第三个字节(黄色)的 lsb:
以下是相同的写操作,但 ADS1110未连接到总线(ADS1110安装在可拔下的附加电路板上):
我的问题是:第二个"ack"位和后面的七个位(形成一个00h 字节)是否可以理解为 ADSS1110的常规调用?
这不应该是因为它不是一个地址字节、但到目前为止、这是我唯一的理解。
还有其他想法吗?
感谢你的帮助。
勒内
PS:这是附加电路板原理图: