cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F373CCT6 sdadc performances

bestyeng
Associate II

I need to measure 0 to 80V DC voltage with STM32F373CCT6 and I have some questions to get the best performance of the SDADC.
*Is this CPU and 16-bit SDADC good for this purpose?

*Is it better to use the internal 1V8 Vref or an external 1V8 or 3V3 Vref?

*In case I use an external 3v3 Vref I can insert a resistive divider to have a maximum of 3V3 at the SDADC input, such as a 1M series resistor and a 42k2 resistor to ground.
 Do I need to put an op amp on SDADC input to have a low impedance input? The measured voltage is a stable DC  voltage.
 Using the internal analog gain can I increase the resolution of the ADC as the voltage decreases without external components?

*to calibrate the gain do I have to put a stable voltage at the analog input? what value should it have? does it have to go into the same pin I use to measure 0-80V DC or another analog input?

bestyeng_0-1739222272325.png

 

Thanks very much

1 REPLY 1
Igor Cesko
ST Employee

Hello bestyeng

 

If you need 16 bit precision with good linearity and slower speed - sigma delta ADC is good choice. Our SDADC has advantage of the internal gain usage.

Regarding the reference voltage choice: internal 1.8V reference is cheap, external can be more precise but more expensive. Is better to use higher (3.3V) reference - due to less sensitivity to external noise. The top choice is to use external 3.3V precise reference. Precision of external reference depends from your needs. Very cheap solution is to use VDDA as VREFSD+ (but must be stable).

  Usage of input resistive divider is a must to adapt max external voltage (80V peak) to max input voltage (up to VREFSD+).

The input impedance of the SDADC is described in reference manual: Rin = 1/(2 x Fsdadc x C). For worst case it is 47kOhm (worst case for gain 8 and 6MHz SDADC clock). Best case is to use 1.5MHz SDADC clock and gain = 1. Then the impedance is 540kOhm. I strongly recommend to use of external OPAMP - because the resistive divider impedance (1M || 42k2) is around 40kOhm only. Without using external OPAMP - there will be very high voltage drop on resistive divider and measurement will be totally degraded. I expect that we cannot use stronger resistive divider due to power losses. 

You can increase the resolution by using internal gain (1..8)  for lower external voltages (like using external amplifier).

To calibrate the gain - you can use another SDADC channel (pin) - because the gain is present in SDADC and does not depend from input channels multiplexer. This avoid to use external analog multiplexer on the same analog input (same pin - as it is on your schematic).

Regards

                        Igor