DC offset values

DC offset values, a forum discussion on Cleverscope Mixed Signal USB Oscilloscopes. Join us for more discussions on DC offset values on our Questions forum.

Back to Forum Index : Back to Questions   RSS

28th April
Posts: 4

I get some DC values (in the Signal information window) that seem rather large (depending on the range), and would like to know if it’s considered normal or perhaps a problem with the unit or software.
CS328A v5 (serial AG4020, HW v3.6, FW v6473) with the CS302 app v5.4.2.

I performed a yearly and standard calibration (after warming the unit up for half an hour)
Before the yearly calibration the reference voltage via on the PCB was measured with a multimeter to be 2.054V, but chose to leave the default value of 2.048V in the calibration Vref field (don’t know if this makes a difference?). The ADC result showed 455 for both channels.

DC values after calibration (with probes disconnected - but values are the same with probes connected and tips shorted to ground clip):

Range and DC values
±100mV: -0.6mV
±1V: -1.3mV
±5V: -21mV
±10V: -28mV
±20V: -132mV

Do I understand it correctly that the software should zero the DC values to about 0mV for all ranges after calibration?


30th April
Posts: 481

Hello Pete,
Thanks for your enquiry.
Just as a bit of background, the CS328A uses a 12 bit DAC for offset, and a 10 bit DAC for gain. For each range we find the Gain and Offset so that the input voltage range is mapped to the ADC range. There is no actual 0V reference - instead we are asigning an offset that is just a little below the minimum end of the range to the ADC minimum value, and finding a gain that puts the voltage just a little higher than the max end of the range at the ADC maximum value.

So no, the software does not zero the values for 0V DC input. We use a 12 bit reference DAC to generate the voltages we self calibrate to. The zero value is in the middle of its range. So sadly we do not have an absolute 0 to use.

There are several source of error here - we use variable gain amplifiers driven by the 10 bit DACs, and these amps are pretty linear, but are still subject to error. Plus we are using 1% components, which add a bit of error as well. The full range for +/-20V is 40,000mV.

Looking at your table:
Total range 0V error %error on full range
±100mV: -0.6mV - 0.3%
±1V: -1.3mV -0.065%
±5V: -21mV -0.21%
±10V: -28mV -0.14%
±20V: -132mV -0.33%

Now our specified accuracy is ± 1%, but we try to do better than that, as you can see.
In v5 of the CS328A, we got these sort of errors. In version 6 we tweaked a bit and got the error down to about ± 0.2%. However the design can't really be pushed better than this.

Your scope was made in Jan 2007, and used our best knowledge at the time.

In the CS548 we have a completely different approach, and we have a real zero we calibrate to. So now the zero error is less than about ±300uV on the ±8V range.

I hope this helps in understanding.



3rd May
Posts: 4

Hi Bart,

Thanks for taking time to write this thorough explanation. It makes sense now that there’s no absolute zero to calibrate against.
And the ±1% accuracy (even better in reality at about 0.3% worst-case) is more than fine for my purposes which is mostly audio and synthesizer design, which normally doesn’t need very high accuracy.

In cases where high accuracy is needed, do I understand it correctly that it helps to limit the range by ‘zooming’ in on parts of the signal? For example measuring the amplitude of a triangle signal as precisely as possible, I would first zoom closely in on just the top peak and write down the Max value (from the Signal information window), and then zoom in on the bottom peak and write down the Min value. Then subtract the values to get the amplitude.
I.e. is it correct this method is more accurate than simply viewing the full-range triangle and reading the Vpp (pk-pk) value?

Best regards,
Back to Forum Index : Back to Questions   RSS
You must be logged in to post a reply

You need to Register or Log In before posting on these forums.


Your shopping cart is empty.