I'm working with a customer that is using I2C in controller (master) mode. They are working with the pre-production silicon and will update to the final production silicon soon. They need to also periodically go into Standby1 mode to obtain <2uA operation. We have found, through experimentation, that the I2C peripheral is drawing ~1.2mA when requesting to go into Standby1 mode. This is even though there are no active I2C transactions requested or occurring.
We found that by calling DL_I2C_disableController() before executing the __WFI() instruction and then calling DL_I2C_enableController() upon waking up from the __WFI() instruction, we can achieve the <2uA of Standby1 current.
Subsequently, we have a few questions:
- Is this expected behavior?
- On pre-production silicon?
- On final production silicon?
- Do other peripherals require a similar "disable"? The same project has an active UART peripheral in it and it did not need to be similarly disabled to achieve <2uA.
- Is there a list of peripherals that need to be disabled in Standby1 in order to achieve datasheet levels of current consumption?
- Is this the proper solution, or is another solution preferred?
Thanks,
Stuart