cancel
Showing results for 
Search instead for 
Did you mean: 

Internal temperature sensor, on a STM32H7 board

DPetr.2
Associate

Hello,

I want to read the value from the internal temperature sensor, on a STM32H7 board, but it is not very clear in RM0433 which unit should have the TS_DATA (voltage or ADCCounts) and if I should use a conversion factor or not.

0693W000001pVDCQA2.png

Could you, please, give me more details?

Thank you!

3 REPLIES 3
berendi
Principal

TS_CAL1 and TS_CAL2 are uint16_t values stored at 0x1FF1E820 and 0x1FF1E840 in system memory.

TS_DATA is ADC3 channel 18, it's too a 16 bit unsigned value.

Uwe Bonnes
Principal II

As the H7 has substantial internal dissipation. expect substantial higher temperatures than ambient temperature.

Hello,

I applied the formula from RM0433 (for H7) and I adjusted it like in RM0091 (for F0). More exactly, at boot-up, the value read from ADC3_IN18 was 800, so the TS_DATA, from the above formula, was expected to be 800, but, as I said earlier, I adjusted it because, otherwise, the returned value was always 30 °C. What I did was something like this: (uint16_t)voltage * VDD_APPLI / VDD_CALIB, where: voltage = 800 (the value read from ADC3_IN18), VDD_APPLI = 300 and VDD_CALIB = 330, like in the F0 example. After this, the value changed and it was around 46 - 48 °C.

Do you think it is possible the temperature to be so high, at start-up?

Thank you!