Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
9 years, 11 months ago.
Startup time
Not sure where best to ask this question. I am using LPC1768 and am interested in a low power application. I have used the excellent work that has been done on PowerControl.h and the DeepPowerDown routine. In the end it will run on custom hardware, so I can aim for around 1uA in DeepPowerDown. A big battery cost could be associated with the start-up time though as it's about minimising the length of time at 10's of mA. I am happy to run off the IRC at 4MHz (or lower).
Minimum Start-Up Time: Does anyone know how low I can get the start-up time (following DeepPowerDown and RESET)? I have done some simple measurements and based on using the 12MHz xtal as the clock source I currently have about 2ms. The Datasheet says it's about 100us to FLASH availability so I was hoping for something of that order.
Low Power RUN: Does anyone know about running at low speed and power (can happily use well under 1MHz)?
3 Answers
9 years, 11 months ago.
What was your clock configuration when you measured the 2ms start up time? IIRC the normal clock configuration uses the PLLs which can take a while to lock on at start up. If you are running at a low speed and can run either directly from the crystal (or whatever your clock source is) or at that frequency divided down and not use the PLL, that should speed up the wakeup time significantly.
Unless you need to run external communication ports at specific speeds you shouldn't see any issues running at very low speeds. In that situation you should also be able to drop the supply voltage down as well, depending on your source that could save even more power
9 years, 11 months ago.
However then two questions from me:
First one, do you need an LPC1768? For low power applications there are other options which consume significantly less. Especially if you also mention running at much lower frequencies I wonder if you actually need the processing power of an LPC1768.
Question two would be if you are sure about the 1uA Deep power down being required. I don't know about the LPC1768, but I know of several others which have a powerdown current of a few uAs, which is alot easier to use than deep powerdown (which has to reboot to wake up, while powerdown can continue where it was when it entered sleep). One uA corresponds to roughly 25 years of batterylife on a single CR2032, which might be slightly on the overkill side. (Of course in active it also uses power which lowers that, but did you make a break down how long it will be active, how long it will sleep, and how much it is allowed to use? And also which battery you are planning to use, if that requires an LDO then you need an extremely low power LDO).
Thanks Erik Olieman. For now I do need the processing power unfortunately, but its use is infrequent. The rest of the time it is waking up, doing something very simple and then going back to sleep/powerdown. DeepPowerDown is around 1uA whereas PowerDown is 31uA which is considerably more. I have other parts in the circuit and have done a fair amount of work on the PSU circuit already so am pretty confident of that portion.
posted by 05 Jan 20159 years, 11 months ago.
Thanks Andy A. The 2ms was measured using the default mbed clock setup (so 96MHz from external 12MHz crystal). I started experimenting with lower speed clocking (including the internal IRC) but the time went up a lot so I hadn't got it working properly before I lost SWD on my custom board. The last thing I did was unbrick it by using a mbed1768 board as ISP programmer.
My next approach will be to try the IRC again and also the 32kHz crystal. I espect I will have to do a fair amount of work in system_LPC17xx.c (Keil).
The issue with running on IRC is that when waking from deeppowerdown it has to go through its entire setup again. If you for example has serial objects, it needs to recalculate the baudrates, it needs to initialize all peripherals, it needs to copy variables from flash to your RAM, etc. This all goes slower with a slower clock, despite that it does not need to wait on the PLL to get a lock.
And indeed was afraid powerdown on LPC1768 isn't as low as others. On the K20D50M for example (an M4 running at 48MHz) the powerdown current is something like 3-4uA. Others in its family also have 10 times that, probably depends on which transistors are used in the MCU.
While it does of course increase the BOM, you might even consider using two MCUs if that is possible, an M0 and an M3/M4 which is only active for the heavy duty work.
posted by 05 Jan 2015