I'm using FXMS3110 digital 3-axis magnetometer in my devices (~50pcs). In some of my devices the standby current is higher than expected, because of the magnetometer high standby current. I assume the problem is that the I2C block (of the magnetometer) is in unstable/indefinit state. What is the correct shutdown process? (assuming we want to power off the I2C lines, but the VDD voltage remains on IC). Write 0x00 to CTRL_REG1 and after that? Is it relevant how do I set to LOW the I2C lines?
The typical standby current for the FXMS3110 is about 2uA. Writing 0x00 in the CRTL_REG1 turns the magnetometer in Stand By Mode but it does not power off the I²C block.
I don't really understand how do you switch off the I²C line, because there are pull-up resistors...
We have another device with this capability (but it is a 6DOF: mag+acc) which is the FXOS8700CQ
Thank You for Your answer!
As I wrote "assuming we want to power off the I2C lines, but the VDD voltage remains on IC", which means the pull up resistors of I2C lines are connected to GND (after setting device in standby mode)
Now I measured ~23uA standby current which is independent from I2C lines state.
I read 0x00 from SYSMOD register, so the sensor is in standby mode.
So what is the reason of ~23uA standby current? I've scope measurement if it helps.
Thanks. Like Anthony had pointed out, setting the device to Standby mode doesnt turn the I2C block inside the device. Is VDD=VDDIO? Can you please share the schematics or snippet for the FXMS3110 section please? So that we can take a deeper look?