Circuit to Detect Floating Signal Line

adcanalogsignal

I have a few external input probes on a device I'm making which are connected to an ADC. Is there an electrical (i.e. non-mechanical) method of detecting whether the ADC input is floating/disconnected/tristate or actually connected to a signal source, without altering the input signal? The signal should be considered analog; not necessarily a digital logic signal.

The purpose is to ascertain whether the ADC data being read is significant or not, so that the gaps when the probe is disconnected can be noted with respect to time.

Best Answer

If the ADC is part of a typical microcontroller (MSP430, the AVR in an Arduino for example) you will probably find there are optional pullup and pulldown resistors with high values (50kilohms for example).

If you enable the pullup only, read the ADC, enable the pulldown only, read the ADC again, and the two readings are very different, you can reasonably conclude the signal is floating without any additional hardware.

[EDIT] assuming the ADC is monitoring a slow moving voltage. If it is monitoring high amplitude noise, a single pair of readings may not be enough to make the decision. Nevertheless the pullup/pulldown resistors should pull the signal close to the appropriate rail.