Quantcast
Channel: I2C device responds with ACK but cannot read - Electrical Engineering Stack Exchange
Viewing all articles
Browse latest Browse all 2

I2C device responds with ACK but cannot read

$
0
0

I have three sensors on a board. Two of the sensors are the same model and firmware with the same address (MLX90397). I used an LTC4316 to translate the address of one of the MLX90397s.

In Linux (Raspberry Pi Zero), when I used i2cdetect -y 1 all sensors show up correctly.

enter image description here

When I attempt to write to the sensor behind the translator, I receive no errors from the I2C bus API. However, when I attempt to read back from its memory to confirm the read, it doesn't return the asked number of bytes.

The non-translated sensor, however, works just fine.

My bus runs on 3.3 V and I have hooked up 2.2 kΩ pull-up resistors. Is this value too low?

The PCB looks like this:

enter image description here

The chip on the far left is the non-translated sensor. The chip to the left of the middle is the third sensor. To the right of the middle line is the translator, and just before the connector (all the way to the right) is my translated sensor. I'm stating this to demonstrate that the trace isn't too long.

I tried to test every address in the address space for read/write and all addresses except the three fail to READ/WRITE and the one behind the translator fails to READ.

What else should I try?

My Schematic

imgur link to schematic


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>
<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596344.js" async> </script>