I'm adding a microSD socket to a board that I want to be as miserly as possible with power usage.
Is it worth adding the facility to cut the power from the socket to save power when the card is not being used?
I gather some go into a uW standby mode anyway if not being accessed, if that's the case it's not worth the extra hardware, especially if there's a large overhead in starting the card up again.
I found one card that uses 150uA in standby. I think I'll forget cutting power and if you want to data log for 6 months off a battery then just use the right card. OTOH if I have some spare hardware I may still add the feature.
How did you go with this? I am trying to do the exact same thing but with little success. Ive got similar readings for the sleeping SD (about 150uA) however seeing how the Ultra Mini Arduino I have uses 1.7uA while sleeping and the accelerometer I'm using to generate the interrupt uses 50uA it seems like a real waste.
Ive been using a transistor to switch the SD card on and off however simply interrupting the VCC or GND doesn't change the SD's power consumption that much. It only drops 20uA or so. More accurately, if I measure the power consumed by the Arduino and the SD its starts around 150uA, disconnecting SD vCC drops to 130uA, disconnecting SD GND drops again slightly. Then disconnecting Data In and the clock drops the power to 1.7uA (just the power being used by the board).
Disconnecting the Data Out is a bit unpredictable. If the SD is the only device on the bus the power spikes and quickly drops however if the accelerometer is connected by SPI the power spikes then slowly drops but never gets as low. I find this strange as while sleeping the accelerometer doesn't use the SPI bus, it simply delivers and interrupt and before sleep I'm calling SPI.end() to shutdown the BUS.
Ejecting the card does the same thing. Power spike then a decrease to 1.7uA
How do I achieve this with hardware. Put a transistor on each pin of the SD????
In my design I have just cut the VCC but I am not using SPI to interface with the SD so I can just turn the 5-6 pins I am using to inputs. That way I think there should be almost no leakage.
If the SPI has to be used for other devices you are in trouble because I would be pretty certain that the SD circuitry will be being powered through the MOSI, MISO and SCK pins.
Maybe use a TXB0104 chip, this will both level convert (5v -> 3v3) and isolate when the power is removed from the SD.