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.
PS: This is NOT an online support (https://ols.st.com) but a collaborative space. So please be polite in your reply. Otherwise, it will be reported as inappropriate and you will be permanently blacklisted from my help/support.

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.
PS: This is NOT an online support (https://ols.st.com) but a collaborative space. So please be polite in your reply. Otherwise, it will be reported as inappropriate and you will be permanently blacklisted from my help/support.