您好!
I2C 总线上有两个 INA236器件。
对于12V 输出、INA236B 的读数
INA236A 的读数是该值的两倍:大约是6.5V,而不是3.3V?
固件工程师说、对于这两个器件、所有寄存器 A 的配置是相同的。
是否有任何想法或您是否遇到过类似的问题来读取总线电压?
此致、
超级 GDx
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.
嗨、Mitch
感谢您的答复、非常感谢。 3.3V (6.5V)的双精度值似乎是巧合。
我们今天执行了更多测试、查看请求的捕获。
1 -我们读取了两个器件的错误器件 ID:a0ff 而不是 a080。
2 -在总线电压寄存器中、我们在 它开始工作后读取从最高6.55V 到最大值的0x0fff 来读取电压值。
这就是第一个器件看起来不错的原因、12V 电压高于6.55V。
器件由+2.5V 电源供电
您好 SuperGDx:
这是有点难分辨的,但传输的示波器屏幕截图看起来像低水平的通信是在 GND 之下... 我建议验证它是否在限制范围内。 无论是哪种方式、这似乎是一个通信问题。 从示波器屏幕截图中可以看出、数据看起来不是0xFFF、所以最好将示波器缩小、并确保它与您的逻辑分析仪和代码结果一致。 当总线开始正确读取时、您是否能够读取正确的器件 ID?
另外、您能否将 INA236周围的原理图部分发送给我审查?
此致、
米奇
尊敬的 Mitch:
请参阅随附的图片、以了解器件如何连接到我们的 PCB 产品上。
SMT 传感器电阻器和 I2C 上拉电阻器位于 PCB 上、所有其他部件/连接都是有线/焊接的。
在这种布局下、我们不希望精确测量电流、但应该可以精确读取总线电压。
如前所述、我们为两个器件读取了错误的器件 ID:a0ff 而不是 a080。
我们始终正确读取 MANUFACURE_ID:0x5449。
此外、我们已配置的所有寄存器也会正常读回。
例如、寄存器 ALERT、写入0x5555、读回0x5555、 写入0xAAAA、读回0xAAAA。
我们将 INA236A 替换为 INA236B (新地址)、结果是相同的。
我们移除了 DDR 模块、结果是相同的。
我们目前正面临瞬发浪涌、但将继续调查、 探测 I2C 总线是否有您的要求以确保
所有信号、时序和消息均符合 INA236数据表规格。
此致、SuperGDx
您好、Mitch。
请在下面找到读取的设备 ID 的快照。 在这两种情况下均使用 INA236B。
设备1:
在读回开发1 (1001000)之前、将寄存器指针更新为0x3F。
Dev1的回读快照。
器件2:
在读回器件1 (1001001)之前将寄存器指针更新为0x3F。
Dev2的回读快照。
预期的器件 ID 读取为0xA080。 但是、我们在这两个快照上使用的是0xA0FF。