I’m considering using one of the ARM7TDMI microcontroller variants in a battery powered design which MUST achieve ultra low power and extreme battery duration. There will be four alkaline cell with access to the intermediate connection. That means two power voltages will be available: 2-3V and 4-6V (discharge-full charge).
One of the strategies I’ve come up with is powering the 1.8V core via a LDO regulator and keep the I/O pins unpowered. IIRC, the RTC oscillator will keep on running and an interrupt can be used to wake up the CPU. The idea is to enable then an external regulator that will provide the 3.3V for the I/O.
However, if the I/O is not powered, how can I control an external regulator?. The interrupt will wake up the CPU but it won’t be able to do anything useful!!!.
Any ideas on how to do this or what ARM uC to use?
To turn on the regulator when the ARM goes out of sleep I was thinking of using another MCU, maybe an MSP430F1121.
The MSP runs with 32KHz rtc, and when necessary (rtc timer timeout, external pushbutton,…) first turns on the regulator, then sends an interrupt to wake the ARM.
We do something similar to your MSP idea, but we actually power off the arm entirely. Dunno how long wakeup can take for your app, but that might work. Power consumption is extremely negligible in that config.
Heres a hacky idea, but might work… use a low power opamp to monitor the current to the core; as it will spike when the RTC wakes it up. When that spike occurs, turn on power to the IO pins. With some clever R’s + C’s you could have the core even power the IO off and have enough time to shutdown before the IO gets turned on again.
Powering off the ARM completely will reduce the consumption to a minimum, 2uA (MSP with 32KHz xtal)+power consumption of 3v regulator for the MSP only (My plan is to use a Lithium rechargeable battery)
Anyway, I need to preserve ram content in the ARM, that’s why I can’t turn it off completely. The MSP will be present anyway in the design, so I prefer to use it instead of an op-am to handle wakeup, even if the idea is very clever.
The only two things I need to know are (I haven’t yet chosen which ARM to use)
-In a LPC2106 turning off 3.3v and leaving only 1.8v will save ram content?
-In a LPC2138 Vbat alone is sufficient save ram content?
The answers to these questions will let me choose the appropriate ARM, then I can start thinking a schematic, and do some test