cancel
Showing results for 
Search instead for 
Did you mean: 

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

KimJaeJoon
Associate

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.

 

1 ACCEPTED SOLUTION

Accepted Solutions
SofLit
ST Employee

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 on "Accept as Solution" on the reply which solved your issue or answered your question.

View solution in original post

4 REPLIES 4
STOne-32
ST Employee

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

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 Employee

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

SofLit
ST Employee

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 on "Accept as Solution" on the reply which solved your issue or answered your question.