[Tinyos-host-mote-wg] RE: [Tinyos-2.0wg] Power Management

mturon at xbow.com mturon at xbow.com
Sat Oct 1 11:55:50 PDT 2005


The devices in question are:
	1) Thermister (powered via GPIO, sampled via ADC)
	2) External Flash (powered via GPIO, accessed via UART)

Such devices have the following properties:
	1) Powered by a GPIO pin
	2) Resistive load
	3) Desirable for device to be on and available when CPU on
	4) Desirable to turn off device when sleeping (~100uA >> 10uA)
	5) Insignificant current in ACTIVE mode (~100 uA << 8mA) 

Yes, you need to keep track of whether an operation is in progress (ADC or
UART write).  This is generally true for any UART or ADC operation; I don't
think these cases are well handled currently.  

Upon thinking about it, I would expect that the CPU would be involved and
required to be operating for the majority of an ext. flash read/write
operation.  Either way, a design exists that can solve this.  Every pin
powered device could have its own dirty bit in its device driver.

Martin 
__________________________________________________
Martin Turon  |  Crossbow Technology, Inc.

-----Original Message-----
From: Philip Levis [mailto:pal at cs.stanford.edu] 
Sent: Saturday, October 01, 2005 11:27 AM
To: Joe Polastre
Cc: mturon at xbow.com; tinyos at barnowl.org
Subject: Re: [Tinyos-2.0wg] Power Management

On Sep 30, 2005, at 7:59 PM, Joe Polastre wrote:

>
> When did you run into this questions and why?  I couldn't find any
> reference to it in the notes.
>

The notes look a bit brief on the matter. There's a brief mention of  
it in the Notes2 text for 9/7. Martin proposed this mechanism as a  
way to disable devices that essentially have no wakeup time and whose  
power draw is miniscule compared to the active MCU but significant  
compared to a sleeping MCU. This way, rather than having to manually  
control the power state, TinyOS would just do it for you. The example  
Martin gave was the mica flash chip.

In the 9/7 meeting, Rob pointed out that you can't disable pins  
unilaterally because you might be in the middle of an operation and  
the MCU has no way of knowing this. This would cause you to power off  
the flash in the middle of an operation. Martin agreed that this was  
a bad idea and so we tabled the automatic pin stuff as unnecessary  
unless there is an example of where/when/how it could be used to  
conserve power.

> If you can work out how to start and stop components, the pin
> management follows automatically (and this policy of turning your pins
> off when you're done actually DOES work in TinyOS 1.x!)

That was the general conclusion from the PM discussion. I think the  
general consensus is that we want to keep the MCU power state  
mechanisms as simple as possible, but also cover the important corner  
cases which some platforms might introduce. That's why there's the  
override command.

Phil
_______________________________________________
Tinyos-2.0wg mailing list
Tinyos-2.0wg at Mail.Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-2.0wg


More information about the Tinyos-host-mote-wg mailing list