Skip to main content
Associate
February 15, 2024
Solved

STM32H747xi Direct SMPS Supply Mode doesn't working in Low Temperature (below -10°C)

  • February 15, 2024
  • 4 replies
  • 1509 views

Hi, Regard 

I Problemed with stm32h747xi mcu.

 

#Setting 

  - Power mode control is direct smps supply mode

  - clock 480MHz

  - VScale0 Setting

 

 i saw stm32h7 user manual 

direct smps supply mode doesn't setting with 480MHz

So now I Know.


But I don't know why it doesn't boot well at low temperatures. It seemed to boot well for 4 years at room temperature.

When I tried to connect ST-link V2/V3, I checked that it didn't connect either.

 

This topic has been closed for replies.
Best answer by mƎALLEm

Hello @KimJaeJoon ,

That's normal. You're using SMPS in boosted performance (VOS0) which is not allowed in the spec.

In SMPS configuration, the maximum frequency you can reach is 400MHz @VOS1. Only LDO can be used with VOS0.

This is already mentioned in the datasheet:

SofLit_0-1708346270125.png

Also as said by @STOne-32 22uF is not the right value recommended for VCAP pins.

Please refer to NUCLEO-H745ZI-Q board schematics:

https://www.st.com/resource/en/schematic_pack/mb1363-h745ziq-d01_schematic.pdf

 

4 replies

STOne-32
ST Technical Moderator
February 17, 2024

Dear @KimJaeJoon ,

Welcome in STCommunity, indeed seems a strange behavior - if you can share your power  schematics for a sanity check , also you can check this Knowledge base : https://community.st.com/t5/stm32-mcus/unable-to-connect-to-stm32h7-devices/ta-p/49296

Hope it helps you ,

STOne-32

Associate
February 18, 2024

KimJaeJoon_0-1708238706779.png

Thank you for answering my Problem.

 

I would appreciate it if you could refer to the picture above.

above picture is direct SMPS supply mode schmethics.

 

pogram source :

 

void SystemClock_Config(void)
{
 RCC_OscInitTypeDef RCC_OscInitStruct = {0};
 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

 /** Supply configuration update enable
 */
 HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_SUPPLY);

 /** Configure the main internal regulator output voltage
 */
 __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);

 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}

 /** Macro to configure the PLL clock source
 */
 __HAL_RCC_PLL_PLLSOURCE_CONFIG(RCC_PLLSOURCE_HSE);

 /** Initializes the RCC Oscillators according to the specified parameters
 * in the RCC_OscInitTypeDef structure.
 */
 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE;
 RCC_OscInitStruct.HSEState = RCC_HSE_ON;
 RCC_OscInitStruct.LSIState = RCC_LSI_ON;
 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
 RCC_OscInitStruct.PLL.PLLM = 5;
 RCC_OscInitStruct.PLL.PLLN = 192;
 RCC_OscInitStruct.PLL.PLLP = 2;
 RCC_OscInitStruct.PLL.PLLQ = 8;
 RCC_OscInitStruct.PLL.PLLR = 4;
 RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
 RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
 RCC_OscInitStruct.PLL.PLLFRACN = 0;
 if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
 {
 Error_Handler();
 }

 /** Initializes the CPU, AHB and APB buses clocks
 */
 RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
 |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
 |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1;
 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
 RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
 RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2;
 RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2;
 RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2;
 RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2;
 RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2;

 if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
 {
 Error_Handler();
 }

 /** Enables the Clock Security System
 */
 HAL_RCC_EnableCSS();
}

 

 

room temperature is well powering On & powering Off.

Conneting ST-Link V2/V3 is very well too.

 

but below -10°C Temperature, sometimes doesn't powering On.

plus, i can't connet ST-link V2/V3 too.

 

KimJaeJoon_1-1708239197844.png

umm.. and Vcore Voltage is 1.5V.

 

Reference manual & User Manual explained direct SMPS supply mode is can set up to VOS1.

and Vcore Voltage max value is 1.26V.


current My Setting is below :

1. direct smps supply mode 

2. v scale 0

3. wait for vosrdy flag

4. and application start

 

and then, My situation right now is 0.24V over.

Could this also cause the problem?

STOne-32
ST Technical Moderator
February 18, 2024

Hi @KimJaeJoon ,


May be : BC41 value seems very high and should be 2,2uF , BC40 value is too high also / close to the inductor . 

have a good Sunday 

STOne-32

mƎALLEm
mƎALLEmBest answer
ST Technical Moderator
February 19, 2024

Hello @KimJaeJoon ,

That's normal. You're using SMPS in boosted performance (VOS0) which is not allowed in the spec.

In SMPS configuration, the maximum frequency you can reach is 400MHz @VOS1. Only LDO can be used with VOS0.

This is already mentioned in the datasheet:

SofLit_0-1708346270125.png

Also as said by @STOne-32 22uF is not the right value recommended for VCAP pins.

Please refer to NUCLEO-H745ZI-Q board schematics:

https://www.st.com/resource/en/schematic_pack/mb1363-h745ziq-d01_schematic.pdf

 

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.