On Sat, 15 Apr 2000, Russell McMahon wrote: > >I never heard of a Sigma-Delta AtoD converter before. Can anyone tell me > how > >it works, and has anyone had experience with this new part? > > I am using a software implemented Sigma Delta converter in a current project > (using a Z8 :-)) > > > The SD converter is essentially a tracking integrator. > > A comparator is used to compare the input voltage with the voltage on a > capacitor. > Once per clock cycle, if the capacitor voltage is lower than the input then > a positive drive signal is applied via a resistor to the capacitor. If the > capacitor voltage is too high a negative drive signal is applied. The drive > signal continues for the rest of the clock cycle EVEN IF THE COMPARATOR > CHANGES STATE BEFORE THE END OF THE CYCLE. The relative number of highs and > lows of the driving signal allow one to calculate the value of the input > relative to the reference. > > Using a Z8 with an internal comparator this essentially allows a converter > to be made with a reference, one capacitor and 2 resistors. In practice I > add 2 opamp sections before this to provide voltage gain and buffering. > Still a cheap and accurate converter. I get about 10 bits of accuracy but > more can be had with longer conversion times. > > I was wondering when you were going to chime in Russel. A pic version of what Russel describes can be found here: http://www.dattalo.com/technical/software/software.html I know one person that's trying to use this. I won't mention names, but let's say that she's pulling her hair out to get it to work. The point being, there are subtleties with this circuit that aren't immediately obvious. For one, the circuit has a relatively low input impedance compared to most A/D converters. In addition, the output impedance of the signal being measured is assumed to be low. But a buffer amplifier like Russel mentions can fix both of these problems. Depending on the source, you could add a 'large' capacitor - say 10 times the integrating one - instead of a buffer at the input of this poor person's sigma-delta converter and some what alleviate problems associated with high impedance signals. Another caveat is that the R's and the C need to be tightly coupled with the loop time of the software. If the RC time constant is too large you run the risk of not being able to have the pic charge or discharge the capacitor during a pass through the algorithm. If the RC time constant is too small then every iteration through the algorithm would cause the digital input to switch states. The values on my web page for the R and C are 10k and 0.56uF were the result of convenience - I'm not sure if they're optimum. Scott