Saturday, 19 September 2015

Is there a good practice approach to powering down peripheral devices (SPI, I2C, UART) which use significant power?


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?




No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...