Sigma Delta ADC explained?
T Chap
Posts: 4,223
I have read up on the ADC in the ap notes 001, which describes the ADC in limited detail. I then read the wiki on sigma delta ADC, but am still trying to understand how the Prop is doing this. This is just for fun btw. I used the basic ADC code that comes with the Prop tool to experiment with getting a voltage into the Prop and displaying it. I used the AC method with a cap and not resister for input.
What I am assuming is, that the counter is outputting a pulse that could be read back in on the feedback pin as a known value. The feedback input counts how long it takes for the voltage to drop below a threshold(stop counting), and that time can be interpreted into a voltage. So that, the duration of counts (or total count) is a representation of the voltage. I know this is incomplete or rather quite off, so I am trying to understand what is really going on. What doesn't make sense is how when reading AC, if no signal is present, the reading sits at 50% of the total maximum reading. ie, if the total bits are 12, the reading max is 4095, and with no signal it is at around 2100(floating around there). But with a signal, the values bounce from 0 to 4095. So is this working by the input (pos or neg) summing with the pulse on the Prop output, to produce a new result on the input pin being counted? I am only assuming the the input pin being counter starts counting the instant the pulse goes out, then counts 1's until the voltage fades below the trip point. So, on the negative side of the AC signal, the pulse duration shortened, and on the positive side, the pulse is lengthened? I am not sure why the .001 caps are needed to the 3v3 and gnd, maybe for noise reduction? It seems the 'summing' theory with the output pin would not really be affected by the bypass caps.
Post Edited (T Chap) : 7/7/2010 1:00:51 AM GMT
What I am assuming is, that the counter is outputting a pulse that could be read back in on the feedback pin as a known value. The feedback input counts how long it takes for the voltage to drop below a threshold(stop counting), and that time can be interpreted into a voltage. So that, the duration of counts (or total count) is a representation of the voltage. I know this is incomplete or rather quite off, so I am trying to understand what is really going on. What doesn't make sense is how when reading AC, if no signal is present, the reading sits at 50% of the total maximum reading. ie, if the total bits are 12, the reading max is 4095, and with no signal it is at around 2100(floating around there). But with a signal, the values bounce from 0 to 4095. So is this working by the input (pos or neg) summing with the pulse on the Prop output, to produce a new result on the input pin being counted? I am only assuming the the input pin being counter starts counting the instant the pulse goes out, then counts 1's until the voltage fades below the trip point. So, on the negative side of the AC signal, the pulse duration shortened, and on the positive side, the pulse is lengthened? I am not sure why the .001 caps are needed to the 3v3 and gnd, maybe for noise reduction? It seems the 'summing' theory with the output pin would not really be affected by the bypass caps.
Post Edited (T Chap) : 7/7/2010 1:00:51 AM GMT
Comments
http://www.pulsedpower.net/Applets/Electronics/SigmaDeltaADC/SigmaDelta.html
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
My explanation is probably not so good, but something along these lines :
Effectively the input pin needs to toggle around its threshold voltage, so the feedback pin alters its duty cycle to make that occur. The lower the input voltage, the higher the required duty output to balance it, and vice versa. By counting the ratios of high to low pulses you can determine the required balancing value, and from that extrapolate the input value.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"I mean, if I went around sayin' I was an emperor just because some moistened bint had lobbed a scimitar at me they'd put me away!"