cancel
Showing results for 
Search instead for 
Did you mean: 

stm32H753zi ADC Linearity Tests.

MasterT
Lead

Test procedure.

Nucleo-H753zi with "arduino style" shield installed.

Hardware includes DAC80501 to generate linear ramp 512 points, than OP amp to scale up and convert SE to Diff.

ADC2 runs in Diff mode, channel 3 (PA.6 & PA.7 -> SB 33/ 35 modified),

clock 10.5 MHz, S/H 16.5 clocks, oversampling 256, than software oversampling x16 - total 4096.

Linear regression done on the same nucleo, data plotted on TFT ILI9486 .

Scale in 16-bits, meaning all screen 32 = 5 LSB, or  0.001611328 V, where LSB =  50.354 uV.

adc2 diff adc shield 1.jpgH753 ADC Diff Linearity Test.pngadc2 diff  calibrated brd.jpgadc2 diff N-4 M-1A0.jpg

 Results: Linearity is exceptionally good, error  less than 1 LSB (limited by 16-bits DAC). Left side slightly distorted by OP amp not capable to get 6.4 mV to ground.

Last image shows intentionally introduced distortion to calibration factor N-4, value changed from 1FF to  1A0, for verification.

2 REPLIES 2
mƎALLEm
ST Employee

Hello @MasterT and thank you for the sharing.

For curiosity, what is the purpose of the blue board you shared at the left? does it contain the TLV2360 chip?

May be also better to share a photo for all the setup.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

The purpose of the blue board is SE-to-Diff converter. Designed in KiCAD and made by JLCPCB, especially for adc tests G474 and H743 /753. On a schematic it's drawn in red square on the right. Since this parts directly interfaced with ADC inputs (arduino numeration D11 D12) I made shield to minimize distance, and driver share same +3.3V as nucleo board for safety.

All other components have "buffer" in inverting configuration in this case, and I simply may connect anything powered by +5 or -+15V and assembled on a breadboard. So dac and scale-up opamp were on a breadboard and I already disassembled it. 

 Regarding opamp on a shield , a also tested drivers - soldering a few versions.  It seems posted picture has ADA4891-2  from analog device - for THD tests mostly, linearity was done using LME49721. 

ada4891-2 shows long settling time & stability issue, I'd not recommend, the better option opa2626.

For low cost and even higher linearity in MHz range I use THS7373 posted in another thread here.

Strange selection  someone 'd say,   but from my experience those video chip outperformed the best differential adc drivers (ths45xx) on a market in case of  power +3.3V only, and R2R output  close to max range.  

More pics for comparison H753 to G474re (12-bits). Distortion too high, scale changed .

adc2  SE 14-bit.jpgclock 10.5 Mhz.jpgscope.jpg