Electrical – Power issues with SD to USB IC

microchipsdusb

I am building a microSD to USB adapter using the Microchip USB2244 IC. The device is in a miniPCIe form factor and communicates via USB to the host which is an embedded platform that runs on batteries.

I found that when idle (no SD access), the device's battery life went from 4hr 53min to 3hr 51min. It seems strange to me that my adapter uses so much battery life when idle, so I was wondering if anyone knows if there's something I can do to improve the power usage.

Update: I did some more tests. The device has a 2210mAh battery. With a generic USB microSD adapter connected, the difference in 2 hours of idle (screen on, no activity) use gave a difference of 75mAh in remaining battery. That means there's an average difference of 38mA with and without the USB device.

With my adapter though, the difference was about 121mA so I think that the host does not support USB suspend mode–the USB2244 uses 110mA while active in full speed and I think the generic USB adapter uses a chip that's more power efficient.

But what's strange is that in another test, I made sure the device is completely powered off (the host keeps the USB port powered even if the device is off) and found that 528mAh was used in a span of 8 hours. Since normally the host can last months powered off, this means the average of 66mA was completely due to my adapter. I know there's no USB activity when the device is powered on, so it should be in suspend mode, right?

If it helps, I've attached the schematics below.

Schematics

Best Answer

When "no SD access", it doesn't mean that USB is in SUSPEND state. Even if no access, the SD is still mounted and USB bus is active, clocks are running, current is consumed in all communication layers.

To get power saving in "idle" mode, the port (where USB2244 device is attached) must be forced into SUSPEND state. It means that the any traffic must be terminated by host, and then the USB2244 conteroller will enter into low power state (350 uA typical from 3.3V) after 3-ms bus idle time.

More, there is a caveat: even if the 2244 controller goes to SUSPEND, the attached SD card might still consume idle current, unless its power supply is completely turned OFF. For this purpose the 2244 has a built-in FET power switch, which turns SD power off when entering SUSPEND state. If the card is designed that the SD power is not supplied from this switch, power savings might be seriously reduced.

Without SUSPEND state the 2244 controller will consume up to 80-100 mA, and obviously drain your battery.