Hi Dave, see below one chapter of an application Note that is still in progress but should probably help you right now. In particular the paragraph about pull-ups and the Interrupt inputs / Analog inputs seems something that could help you to reduce your Power Down values. Reducing Power Consumption ========================== To reduce current consumption on the 3.3V rail in power-down mode (let's consider the 144-pin devices): There are 80 pins with internal pull-ups on Ports 1,2 and 3. These pull-ups are always active. Set those pins high or keep them floating before entering power down mode. If set low, they will consume around 50uA (typical) on each pin. Port 0 does not have any internal pull-ups. These pins can be set low. In LPC2114/2124/2212/2214/2119/2129/2194/2290/2292/2294 and 2210, there is leakage current (around 200uA) on External Interrupt/ADC pins if these pins are pulled higher than 1.8V. External Interrupt pins will contribute to the leakage irrespective of the pin configuration. ADC pins will contribute to the leakage only if they are configured as analog inputs. Below are some hints which will reduce power consumption. All the LPC2000 devices have two power saving modes: Idle and Power down. Please refer to the Power Control section in the System Control Block chapter in the User Manual. Enable the MAM if the application is run from the on-chip Flash. Enabling the MAM will enable various buffers and reduces the number of Flash fetches thereby reducing power consumption. Disable unused peripherals using the PCONP register. The peripherals can run at a lower speed as compared to the ARM7 core frequency. Using the VPBDIV register, the peripherals can run at either half or one-fourth of the system frequency. Most embedded applications, terminate with a while(1) loop and they service interrupts whenever needed. In this case, code is still constantly fetched from the on-chip Flash and executed which adds to the power consumption. A better solution would be to switch to the Idle power saving mode and then wait for interrupts. An interrupt from a peripheral would then wake the device from Idle mode. Considerable power savings can be achieved by keeping the ARM7 core in Idle mode while it is waiting for interrupts. As mentioned above, Flash fetches adds to power consumption. If the program is encoded using the Thumb instruction set then with each Flash fetch eight instructions are fetched instead of four (as compared to ARM). Thus, the number of Flash fetches could be reduced by using Thumb code. On a side note, since the on-chip SRAM controller incorporates a write-back buffer which holds the last data sent by software to the SRAM, a dummy write needs to be done before entering idle or power down mode. Hence, if a variable is updated before entering either power saving mode, a dummy write to the same variable is necessary. Please refer to section On-Chip Static RAM (SRAM) in Chapter 1 of the respective User Manual for more detailed information. Philips Apps team --- In lpc2000@yahoogroups.com, "dpbevin2k" <dbevin@s...> wrote: > Hi all, > > I'm trying to use an LPC2292 in a extremely low power situtation (i.e. > the whole board < 0.5mA at 3.3V). > > So far, I've put the 2292 into Power Down mode (I see the oscillator > stop) and the board gets down to about 0.8mA. > > I've tried things like: > > - disabling the EMC and making all pins GPIO inputs (0.8mA) > - disabling the EMC and driving all GPIO pins high (1.6mA) > - not disabling the EMC with 1M pullups on D0-D15 (2.0mA) > - disabling the EMC and driving all GPIO pins low (2.8mA) > > NOTE: There are NO peripherals on the memory bus at the minute. > > Does anyone have any ideas as to what I'm doing wrong??? What's the > best state to leave the 2292 in to acheive the best results? > > Thanking you in advance > > Dave Bevin
Message
Re: LPC2292 in Power Down Mode
2005-10-05 by philips_apps
Attachments
- No local attachments were found for this message.