Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

RE: [lpc2000] Re: Low power multithreaded OS suggestion?

2005-10-07 by Bruce Paterson

> > 3.  If app can afford 4096+ clk dly post interrupt, enter Power
> Down in RTOS 
> > idle loop.  Wakeup condition via external interrupt.  Be sure to
> read the 
> > Wakeup Timer section in UM_LPC21XX_LPC22XX_2.pdf
> 
> I don't think I can use power down mode, because I need to 
> wake up upon new character arrive at the UARTs. Here's my 
> reasoning, please correct me if I'm wrong: I think the UARTs 
> are off on power down mode, so even if I externally cheat an 
> interrupt at the character's start bit, the UART wouldn't 
> wake up fast enough to receive the character (at 57600 
> bauds). It would take at least ~410 µS to wake up with a 10 
> MHz xtal. One bit at 57600 is ~17µS.

You're right. You'll miss many characters at the start during wakeup. Often this isn't a problem as whatever is at the other end may re-send the message if it gets not reply. It all depends on your application. We have a system that does exactly the cheat above, reprogramming the RX1 Uart Pin to be an external interrupt before going to sleep, and in our case it works well. 

[Note, however, with the lpc2124 at least there seems to be some unresolved strangeness when you are trying to use all external interrupts to wake-up depending on the combination of edges and polarities: in some situations 1 of the 3 won't work. I *think* these problems go away with lpc2123 and later when Philips fixed the VPBDIV bugs.]

Cheers,
Bruce

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.