DSO 150 : Input Gain and not so good ADC accuracy


This is a follow up of 2 other posts about the dso 150 : input gain and calibration

While doing the fine calibration for the DSO, i noticed that on all ranges, the ADC swing was very low.
It is a 12 bits ADC, so with one bit taken by the sign, it should leave 11 bits, i.e. +-2048 swing.

I was seeing a much lower value, like 500 for the max value for a given range.

So i went back to the input gain stages and computed the actual volt /div and the used volt/div

The result is as follows :


Real Vanilla FW
20mv5mv
40mv10mv
80mv20mv
200mv50mV
400mv100mV
800mv200mV
2v500mv
4v1v
8v2v
20v5v
40v10v
80v20V

(computed with 80% swing for each range, so we should be safe from the ADC point of view).

As a result, we are only using 25% (1/4 = 2 bits)  of the ADC swing, so it acts as a 11-2=9 bits ADC.

That explains why the accuracy is not that great. 

So let's use the real swing value so that we have the full 11 bits accuracy whenever we can.

and....... drum roll.....

Surprise, it does not work on some ranges, but works fine on others, with a not so bad accuracy.

On the "bad ranges", the ADC is maxing out at low value such as 500 or 1000 instead of around 2000.


Wtf ? why does it saturate ?

See next episode for the explanation
(hint : debatable choice of components)

Comments

Popular posts from this blog

Component tester with STM32 : Part 1 ADC, Resistor

Fixing the INA3221

INA3221, weird wiring