[Tinyos-2.0wg] Concerns about ADC in 0.1mV

Vlado Handziski vlado.handziski at gmail.com
Mon Aug 7 12:58:21 PDT 2006


On 8/7/06, David Gay <dgay42 at gmail.com> wrote:
>
> I'm not quite convinced by this whole discussion about outputting
> millivolts from the HIL. Some questions/comments:
>
> - First and foremost, the meaning of any voltage reading from the ADC
> depends on the circuit by which the analog sensor is connected; in
> some cases, you may not care about voltages. For instance, a simple
> voltage divider powered by the same voltage as the ADC reference is
> really returning unitless values.



Yes, that is what I meant with (although in some cases just knowing Vref is
not enough) for the ratiometric case in my last mail

A top level ADC abstraction will have to either use this information
internally and produce an absolute value like in our original proposal, or
provide the relevant local information in addition to an uninterpreted ADC
output like Joe proposed (although in some cases just knowing Vref is not
enough).



- Clearly, in many cases, we do care what the voltage reference was;
> however, this voltage reference was selected by the code reading the
> sensor so I don't see what
> advantage you get by pre-converting the A/D result to the
> corresponding voltage (presumably, further processing is likely).
> Furthermore, the selection of reference voltages is ADC-converter
> specific.


Knowing the reference voltage is not the goal. The goal is to enable
conversion into engineering units. Sometimes we need to learn the vref to do
the conversion. And exactly because this is ADC-converter specific, this
"intermediate" conversion should be made in the HIL of the ADC using the
setup information supplied by a platform "configuration" component.

- When using a variable voltage as a reference, you need a way to
> measure that voltage.


Yes, but mica has been doing that for the RefADC in TinyOS 1.x for a long
time.

- Do we have any input from "real" sensor designers/users that this is
> the right approach?


Martin mentioned that the current practice suggests edge conversions, but
this clearly does not work for heterogeneous setups,  or when the wiring
makes the sampling dependent on the battery voltage (unless you send all the
needed info for the conversion/correction with the raw data)


My larger point may be that I'm unclear that there is a need for
> platform-independent analog sensor drivers (*). In there absence, all
> this work to convert to platform-independent units seems wasted.
> Specifically, for a platform-independent analog sensor driver to make
> sense, I would expect we would have to define standard supply and ADC
> reference voltages, which I don't think we want to get in to...


For me there is a clear benefit of being able to use a sensor board with
analog sensors on platforms with different MCUs.
At the moment a sensor board populated only with digital sensors can be
connected on any tinyos platform thanks to our MCU-chip independent bus
abstractions. Why not have the same capability for analog sensors also?

The proposed approach decouples the sensor board developer from the platform
and the MCU dependencies, so he can program any "sensor specific processing"
like engineering units conversion, filtering, calibration, etc. in a
portable way. Why duplicate this code for every platform/MCU?

David
> *: Note that this doesn't preclude from standardising, e.g., a
> TemperatureC sensor that returns temperatures in 0.1K units. That one
> is yet another can of worms.
>

Fortunately it is also in another TEP :)

Vlado
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.millennium.berkeley.edu/pipermail/tinyos-2.0wg/attachments/20060807/4615df26/attachment.html


More information about the Tinyos-2.0wg mailing list