cancel
Showing results for 
Search instead for 
Did you mean: 

STM32U073 VREFINT wrong calibration value in flash?

thkais
Associate

Hello community,

I am running in an issue with the VREFINT calibration value of the ADC.

For calculation I use the __LL_ADC_CALC_VREFANALOG_VOLTAGE function from the stm32u0xx_ll_adc.h file and I'm getting wrong values.
The Chip is powered with 3.3V and so I expect a reading of approx. 3300 from this function, but what I'm getting is a value of around 2993.
The measured voltage at the VDDA/VREF+ pin (48-pin package) is 3.296V, the reading of the VREFINT Channel is approx. 1660.
If I change the supply voltage to 3V, I get around 1820 from the VREFINT Channel.
The readout of the VREFINT address (0x1FFF6EA4) is 1654 (0x0676) so point 2.1.2 of the errata sheet is not applicable.
If I change the value VREFINT_CAL_VREF in stm32u0xx_ll_adc.h from 3000UL to 3300UL the return values are plausible.
For me it looks like the calibration was done using 3.3V instead of 3.0V as stated in the datasheet.

The marking of the controller reads like
STM32U073CCT6
CQ27C 9R A
CHN 435 1M (or LM)

Can anyone confirm or is there anything I missed?
Sincerly
T.K.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
thkais
Associate

Hello community,

found it... 
Several days ago I had issues with the ADC-calibration and disabled it.
Now *with* proper ADC-calibration it's working like intended. 
So the problem exists between the chair and the keyboard...
Sorry for the confusion, hope this helps someone else who falls into the same trap.

Sincerly
T.K.

View solution in original post

1 REPLY 1
thkais
Associate

Hello community,

found it... 
Several days ago I had issues with the ADC-calibration and disabled it.
Now *with* proper ADC-calibration it's working like intended. 
So the problem exists between the chair and the keyboard...
Sorry for the confusion, hope this helps someone else who falls into the same trap.

Sincerly
T.K.