[Tinyos Core WG] Meeting: 5/30

Philip Levis pal at cs.stanford.edu
Thu May 31 09:48:04 PDT 2007


On May 31, 2007, at 9:34 AM, Kevin Klues wrote:

> "Simultaneously" is a strong word.
>
> Agreed.  What I really meant was "with as little jitter as possible".
>
> Is is possible that this could be implemented with the current
> interfaces and components, given a better ADC implementation?
>
> If I remember correctly, the ADC doesn't actually use one of the  
> standard Arbiters at the moment (or is this just the  
> ReferenceVoltage component).   I wonder if there might be a way to  
> implement an ADC specific arbiter that does what you suggest,  
> rather than reimplement the entire ADC itself.  i.e. when requests  
> come in, "schedule" them for a DMA sequence sample rather than  
> simply put a lock on the ADC.
>

Right -- the way to do this is to change the ADC from a shared  
abstraction into a virtualized one. If it were virtualized, then it  
could examine the parameters of all of its outstanding requests and  
try to service them concurrently or in the case of the MSP430, using  
DMA.

This gets back to a point that Phil B. brought up a year and half or  
so ago, that TinyOS doesn't really have a good model for managing  
concurrency with respect to N-ary abstractions. E.g., managing  
request streams for the DMA channels on the MSP430, of which there  
are three. In the current methodology, it might be possible to solve  
this using an N-ary arbiter (that can grant N concurrent requests),  
but somehow you need to either interpose or pass state back so that  
the client uses the proper one of the N resources.

Phil


More information about the Tinyos-2.0wg mailing list