cancel
Showing results for 
Search instead for 
Did you mean: 

stm32h750vbt6 adc 16bit 14bit issue

mize
Associate III

Hello,

mize_0-1723793714498.png

while using this mcu 16bit adc a strange thing happens.

the adc signal is test under a sinusoid signal(0.5Hz from a signal generator), and as shown in the figure at certain level adc keeps unchanged, after leaving this level then the signal increased again, however the trace has deviate from a standard sin signal.

as I checked the value is 0d57345 which is 0b1101 1111 1111 1111 and this phenomenen occurs everytime the 14th bits is 0 and lower bits are 1.(at 0b0001 1111 1111 1111, 0b0101 1111 1111 1111, 0b1001 1111 1111 1111 a value constant platform occurs)

mize_1-1723793728792.png

and at some other points there is a leap where the trace goes back to original trace.

mize_2-1723794431864.png

this happens for 14bits resolution adc sometimes as well.

mize_3-1723794529822.png

sometimes for 15th bit as well.

I have tried several times to fix this including

1.longer sampling cycs

2.longer delay between conversion

3.independent mode/ dual mode(adc1, adc2)

4.LL LIB/HAL LIB

5.fast/slow adc clock

6.calibration/no calibration before enable and start conversion

7.fast/slow channel

none of above worked, so anyone have any idea please kindly reply

thanks

 

IOC file has been attached and my cube version is 6.12.0-RC9

 

 

12 REPLIES 12

Hi,

I haven't read all the notes here, however, I did see a LM358 as your buffer... This is most likely where your problem is. If it is too difficult to change the LM358, then put a 10K resistor from the output to ground - this should fix (improve) it.

KInd regards
Pedro

AI = Artificial Intelligence, NI = No Intelligence, RI = Real Intelligence.

hi,

I made a mistake before, the LM358 is not for generating VREF+ for MCU ADC, it generates ref voltage for INA821IDR, which amplifies the differential signal from sensor.

A TL431AIDBZR connecting cathode and ref generates 2.5V reference voltage Vref+. However, I check TI LM358 data sheet, and didn't find a reference application that a 10K R is necessary. could you give me detail about the purpose of bypass resistance?

best

PGump.1
Senior III

"could you give me detail about the purpose of bypass resistance"  - NO!

I can't be bothered cleaning my scanner for this issue.

Everyone who has used a LM358 for the last 60 years knows that they have nice step in their output (just like the one you posted) as they attempt to change from Push to Pull (and vice versa) on their output. Putting the 10k resistor on the output to ground keeps it in the Push state...

Kind regards
Pedro

AI = Artificial Intelligence, NI = No Intelligence, RI = Real Intelligence.