cancel
Showing results for 
Search instead for 
Did you mean: 

Clock source for ADC of The STM32H7 CPU

Volker Bremauer
Associate III

In former CubeMX versions an Clock to ADC of 400MHz was possible

Now I am working on CubeMX V 6.3.0 with STM32Cube FW_H7 V1.9.0.

The maximum Clock frequency I can adjust is now 79MHz (selected clock source is the PLL2)

0693W00000DmOGpQAN.jpg0693W00000DmOH4QAN.jpg 

What is the meaning of the "79 to ADC (MHz)" exactly.

If, it is the input for the prescaler of the ADC, why it is limited to 79MHz

0693W00000DmODcQAN.jpgWenn > 79 MHz is selected, CubeMX shows an error.

If it is the maximum Clock frequency of the ADC, why is it not limited to 50Mhz as discribed in the datasheet for the V design

0693W00000DmOMJQA3.jpgV-design is also selected

0693W00000DmOOZQA3.jpg

1 ACCEPTED SOLUTION

Accepted Solutions

Happy for that 😊

In this case, please click on the Select as Best button on my reply . This will help other members of the community find the answer more quickly .

Khouloud.

View solution in original post

9 REPLIES 9
TDK
Guru

> STM32H7 CPU

Which chip exactly?

If you feel a post has answered your question, please click "Accept as Solution".
Volker Bremauer
Associate III

Sorry, STM32H743VG

Volker Bremauer
Associate III

With 75 MHz Clock selection, also an DIV1 is allowed, is there an addition divisior in between ?

Or an Bug in the CubeMX ?

0693W00000DmP0OQAV.jpg0693W00000DmP0sQAF.jpg

TDK
Guru

It's likely just a bug in CubeMX. They have thousands of chips, hard to get everything right. I wouldn't go past the 50 MHz listed limitation. In any case, the max clock used in thier app note is 50 MHz.

https://www.st.com/resource/en/application_note/dm00628458-getting-started-with-the-stm32h7-series-mcu-16bit-adc-stmicroelectronics.pdf

CubeMX limits it to 80 MHz for me.

0693W00000DmP46QAF.png 

> With 75 MHz Clock selection, also an DIV1 is allowed, is there an addition divisior in between ?

Why would DIV1 not be allowed? The clock scheme is shown in the reference manual well.

0693W00000DmP6HQAV.png 

If you feel a post has answered your question, please click "Accept as Solution".

Hello @Volker Bremauer​, @TDK​ ,

First let me thank you for your feedbacks.

Actually, I assume that what you are observing is the expected behavior of STM32CubeMX.

To explain briefly the cause behind the displayed warning message in clock tree "ADC Clock Source frequency must be =< 80Mhz":

0693W00000DmWyqQAF.pngIn fact, the frequency value you are seeing in the clock tree (which shouldn't exceed here the 80MHz in your case) is the adc_ker_ck, please refer to STM32H743xI/G Reference Manual > Table 59. Kernel clock distribution overview:

0693W00000DmX3uQAF.pngThus, assuming that you're setting your Power Regulator Voltage Scale to VOS0, STM32CubeMX tool is correctly displaying the constraint of the maximum allowed adc_ker_ck.

Then, after dividing this value by the ADC prescalers we should not exceed the 50MHz/ 25MHz/ 12.5MHz/ 6.25MHz which are the ADC internal frequency as mentioned in the STM32H743xI/G Data Sheet > Table 184. ADC characteristics:

0693W00000DmX8LQAV.png 

Hope this answers your question.

Please do not hesitate to raise any feedback/ issue.

Khouloud.

Volker Bremauer
Associate III

Thank you Khouloud for your detailed explanation.

One more Question:

How are the BOOST-bits set. In the older FW Version the was the possibility in the ADC_init structure.

   hadc1.Init.BoostMode = ENABLE;

Thanks in advance

Volker

Hello @Volker Bremauer​ ,

Actually starting from the Firmware version STM32Cube_FW_H7_V1.4.0, the filed BoostMode is removed from ADC_InitTypeDef structure. Hence, the boost mode parameter is set automatically using a firmware function ADC_ConfigureBoostMode(ADC_HandleTypeDef* hadc); and it is no longer configurable through STM32CubeMX interface.

Boost configuration is handled by ADC driver inside HAL_ADC_Init there is a call to ADC_ConfigureBoostMode (in stm32h7xx_hal_adc.h file). This was done to avoid errors when setting these bits.

Hope that I've answered your question.

Khouloud.

Volker Bremauer
Associate III

Thanks a lot, now it´s clear for me, now I found the Boost setting in the firmware.

Best regards Volker😀

Happy for that 😊

In this case, please click on the Select as Best button on my reply . This will help other members of the community find the answer more quickly .

Khouloud.