1
\$\begingroup\$

I'm trying to limit the power usage of a system which uses a number of sensors and transceivers on SPI, I2C, and UART buses. I can't easily design around the sensors in use, so selecting devices with explicit shutdown modes or low quiescent current is unfortunately not an option. Some of the devices (an ESP8266 for example) offer low-power modes which are sufficient, but others do not.

The devices are varied in function: voltage/current/power sensing, temperature and humidity sensing, MEMS, transceivers.

In a question discussing unpowered I2C devices, I understand that there are some difficulties with switching off these devices entirely, due to potential parasitic effects on the bus.

One option I looked at is to insert a bidirectional galvanic isolator at the SDA pin of each I2C device that I wish to unpower, though I have concerns about propagation delay - would I need to drive the clock pin through another channel to ensure a delay match? This could quickly become expensive to implement, too, since the isolator ICs aren't the cheapest of ICs.

This still leaves me without much information on potential parasitic effects on SPI and UART buses from unpowered devices. Do these have similar problems? I'm also unsure as to the best way to actually disconnect the device from the power - is a single N-channel MOSFET inline with the device's Vcc (or equivalent) pin appropriate?

\$\endgroup\$
  • \$\begingroup\$ Try searching for FET bus switches. There are some with very low standby power. When enabled, they directly connect the inputs and outputs. When disabled, there is high impedance between the input and output. \$\endgroup\$ – mkeith Dec 20 '16 at 5:59
1
\$\begingroup\$

I would use an analog multiplexer as shown below:

Using an analog mpx to isolate a device

Use the select line to connect the master side (on the left) to the device (on the right) when it is powered up; select the dummy lines (which can go nowhere) to connect to the master and then power the device down.

The multiplexer will provide isolation.

The device may need a pullup (high value, it is not there for any reason except to put a valid level on the pins) on SDA and SCL.

\$\endgroup\$
0
\$\begingroup\$

Off devices with SDA and SCL pulled up to a power rail which is on, will leak current to the SDA and SCL pins of off device, so you need to isolate them.

I would use an analog switch to isolate the I2C lines to the device before turning it off. You will need to have voltage rails (2 atleast here, one for master and one for device) with same voltage level to maintain logic compatibility between device and master.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.