AnsweredAssumed Answered

FXOS8700 I2C SDA Held Low

Question asked by Warren Woolsey on Jul 18, 2018
Latest reply on Jul 27, 2018 by Warren Woolsey

Head note to the reader, this is a hardware issue (we believe) and is a rare occurrence in a production level setting that we have seen multiple times.

 

Backstory: We utilize the FXOS8700 configured for I2C in a production device of ours. Our PCBs are manufactured and populated with a contract manufacturer, we have fielded three to four hundred of these devices and have experienced the following failure mode of the FXOS8700 in a handful of instances. We would like to know if NXP or any other end users of the FXOS8700 have experienced this same failure mode and if they have been able to determine the root cause of the issue.

 

Failure Mode Description: At some point in the devices life (whether it be days, months, or a years of normal operation) the FXOS8700 permanently drives the SDA line of the I2C bus to logic low (it is not fully driven to ground which is shown in scope captures below). The SDA line is stuck in logic low state regardless of what we do to the device. Our error handling code attempts to reset the FXOS8700 using the external reset pin, and we have even tried a full power cycle of the device by removing the power source and re-inserting it.

 

In order to verify that the FXOS8700 was indeed driving the SDA line low instead of the host processor, we obtained a device displaying this failure mode and cut the SDA trace past the pull-up resistor as shown in the schematic below:

 

Cut Schematic

 

We probed the FXOS8700 side of the pull-up resistor and it was being driven logic low by the FXOS8700 as shown in the scope captures below:

Probing FXOS Side of Pull-up

FXOS Driving SDA Low

 

We then hooked a discrete resistor to VCC and probed the other side of the SDA line that is hooked up to the processor. This was done as an effort to prove that it was the FXOS8700 driving the signal low and not the processor. As seen in the below scope capture the line was pulled high by the pull-up resistor.

Discrete Pull-up Configuration

Probing Processor Side of SDA

Logic High

 

As stated above, this is not an issue that presents it self right away. If it were a manufacturing defect when populating the PCB, these devices would fail immediately instead of some time into their service life after normal operation. I am unsure what the problem might be, whether it could be mechanical stresses on the PCB, or if there is something that is breaking internally on these FXOS8700 devices after some time. Or something else.

Outcomes