[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