2019-05-10 03:56 AM
I've turned on VREFBUFF. Datasheet claims that factory trim values should be automaticaly loaded into VREFBUF->CCR. Thru debug i can see that CCR=00000 (no relevant value loaded). And measurments at VREF+ confirm that.
REF 2.5 = 2.431V
REF 2.048 = 1.992V
REF 1.8 = 1.754V
REF 1.5 = 1.462V
VREF+ pin is unloaded and filtered by 1uF+100nF, VDDA at 3.31V.
Is there any way how to find in FLASH factory trimming constants, or VREF wasn't trimmed at all, and looking for them will be waste of time ?
if somebody needs little bit better values than zeros, i've trim my part at:
REF 2.5 = 2.4997 at CCR = 0x1c
REF 2.048 = 2.048 at CCR = 0x1c
REF 1.8 = 1.800V at CCR = 0x1a
REF 1.5 = 1.500V at CCR = 0x1a
Michal Dudka
2019-05-20 11:14 AM
Did you try also to compare VREFBUF to VREFINT? (see Datasheet STM32H750 6.3.5 "Embedded reference voltage")?
I hope VREFINT is as exact as specified (1.216V +- ca. 0.04, -40...105°C, max. 70ppm/°C (typ 20), max. 1000ppm/VoltSupply (typ. 10) this is quite ok for my application... ).
2019-06-19 07:04 PM
I am also having the issue where the VREFBUF->CCR register is all zero. According to the reference manual a factory calibration value is supposed to be loaded. When setting the reference voltage to 2.5V I measure between 2.415V and 2.45V. I did enable the VREFBUF clock :
RCC->APB4ENR |= RCC_APB4ENR_VREFEN ;