主题中讨论的其他器件: ISO1541、 ISO1640、 TCA9517A、 TCA9800、 ISO1641
大家好、
客户使用 I2C 来读取 INA226的数据。他们使用0x40地址来读取这个电流、但是他们没有 ACK 应答。 我怀疑该地址或格式 错误。 请帮我检查一下吗?
非常感谢。
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 来读取 INA226的数据。他们使用0x40地址来读取这个电流、但是他们没有 ACK 应答。 我怀疑该地址或格式 错误。 请帮我检查一下吗?
非常感谢。
您好!
INA226在第9个时钟脉冲上是 ACK。 您的代码似乎没有执行任何操作、而是重复发送从地址。
因此、第一个帧(帧1)是通过写操作发送的从器件地址(脉冲8上为0)。 INA 提供一个 ACK (脉冲9上为0)。 然后、您必须保持 I2C 通信并将要写入数据的寄存器发送到。 请参阅 INA226数据表中的表4。 接下来的两个帧将是写入帧2中寄存器集的数据。 在第4个帧之后、I2C 通信可以结束。这是对寄存器的写入。
当尝试写入 INA 时、帧之间不应发生启动/重新启动。
下面是写入 INA226的时序图。
我猜您也会尝试从 INA226中阅读、如果您对此有任何疑问或上述内容、请回复。
此致、
化学文摘社
您好,Castrense
我是这个地址的问题、现在的情况如下:无论后续数据的读取和写入时序配置如何、我们都将0x40写入地址。 根据示波器、第九个位置较低、但实际上、我们将此块的 ACK 值打印为1、该值应在 SDL 的上升沿进行挑选。 由于我们的代码在第一步中直接报告了错误、因此无法在稍后出现该问题、因为我们尚未执行该步骤。 我想问您、在这种情况下、您排除了器件地址错误的问题、原因可能是什么?
谢谢!
您好!
示波器快照? 在代码中的 INA 通信期间、当接收到的 IACK 信号为1时、它将直接转至 CLOCK_EXIT 并报告错误、直到下一次 I2C 通信。 当接收到的 ACK 信号为0时、它将证明有一个应答信号并且它将开始发送寄存器地址。 接收到 ACK 响应后、将再次生成 START 信号。 I2C 开始读取一个字节序列或写入一个字节序列的周期、直到完成。当我替换到完整的机器时、问题仍然存在。
谢谢!
你好!
以下是我们公司 INA226 I2C 通信无法连接的问题:
根据测试波形、I2C 隔离器 ISO1541输出低电平为高电平(0.75V)。
所附为 INA226 I2C 接口电路的原理图。
1.1 ISO1541D I2C 接口故障
症状:在处理器(主器件)发送读/写 INA226寄存器地址(0x40)后、ACK 信号为高电平:INA226 (从器件)不响应。
测试 INA226 I2C 总线时钟和数据总线、如下所示:
测试隔离器 ISO1541D SDA/SCL1 I2C 总线时钟和数据总线、如下图所示:
测试 I2C 总线缓冲器 PCA9511 SCLIN/SDAIN I2C 总线时钟和数据总线如下图所示:
根据 ISO1541D SDa1/SCL1 I2C 总线的时钟和数据波形、SDA1的第九位 ACK 为0.7V 半高电平。
因此、处理器读取的 ACK 为1:INA226 (从器件)不响应、I2C 通信停止。
仔细阅读 ISO1541D 手册、发现 sda2为"0"、sda1由于接地端有一个二极管、输出为0.75V。下图对 ISO1541D 的这一部分进行了说明。
由于采用 ISO1541D、INA226的 ACK "0"输出更改为0.75V。0.75V 是处理器的不确定状态、
当处理器要求低电平小于0.6V 时,它会将 ACK 信号标记为“1”:INA226 (从机)不响应,I2C 通信停止。
您好!
根据讨论内容、我假设该系统中的 MCU 连接到 ISO1541的1侧。 如果情况并非如此、请告诉我。
正如您在响应中提到的、MCU 将与 ISO1541不兼容、因为1侧的低电平输出电压大于 MCU 所需的低电平电压。 为了使这两个器件的电压电平相互兼容、我们建议在 ISO1541和 MCU 之间连接一个 I2C 缓冲器。 TCA9517A 和 TCA9800都是 I2C 缓冲器、 我们建议用于此目的。
我们还建议从 ISO1541切换到 ISO1641。 ISO1641在提供增强型隔离的同时具有较低的低电平输出电压、是该器件的最新版本。
此致、
Kenneth