2023-12-07 01:47 AM
Hello to everyone,
I have encountered a problem trying to work with ADC data on STM32H743 chip. When I read VREFINT value (19th ADC input channel) I always see 0xFFFF. Data on other channels look slightly more adequate (at least they are changed depending on the voltage applied to corresponding inputs). TEMP channel also gives a strange value after recalculations (about 900 degrees). I've got two identical boards and each board gives the same result. The channels are enabled. I tried to read the channels directly in polling mode as well as using DMA, but always got 0xFFFF from VREFINT channel.
Some time ago I worked with another board with STM32H743 and everything was OK there with VREFINT. I have never run into such a problem with other STM32 chips I worked with.
I checked VDDA, Vref+ and VSSA lines, they seem to be good and the pins are soldered to this lines without any defects.
Has anybody meet this situation before? I really appreciate your help.
Oleg
2023-12-07 02:17 AM - edited 2023-12-07 02:21 AM
VREFINT needs to be switched on in some STM32. Also, it is not available in all ADCs in models with multiple ADC. I don't know how these details are implemented in 'H7, check RM.
JW
PS.
2023-12-07 05:50 AM
Thank you for your attention to the issue. Yes,Vref is enabled. Actually I work with this the same way as I did on a previous board with STM32H743, where it worked without any problems. Moreover, I has just discovered that if I program this project to NUCLEO-H743ZI2 I get proper VREF values (around 0x627E).
I though the problem was in a faulty MCU on the board. But two boards behaves the same way, so now I think the MCU is not the case.
Can there be something with the schematics or the PCB?
Oleg
2023-12-07 06:16 AM
Let's look at the bigger picture.
Magic 8 ball says that your hardware is faulty. Certainly doesn't sound like a VREFINT-specific thing. Perhaps the schematic would shed some light.
General hardware advice:
2023-12-07 06:18 AM - edited 2023-12-07 06:21 AM
> Can there be something with the schematics or the PCB?
Maybe.
Start with checking whether *all* VSS and VDD (including analog) are properly physically connected (think not only errors in design, but also bad solder joints, although with two boards the latter is less likely). Check also VREF+ and if present on your package, VREF- connections.
If VDD is below 2.7V, check also the analog switch booster settings.
Generally, think about what the differences between the two boards are.
JW
2023-12-07 06:29 AM
One more thing, do you attempt to use VREFBUF?
You may want to tell us more about details of your hardware, for further discussion.
JW
2023-12-08 01:07 AM
Hello @OIrin.1 ,
If you would like to improve VREFBUF with internal VREFINT and ADC, you can check this AN5690
More VREFBUF application examples are provided as well for reference.
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.