Skip to main content
Visitor II
February 15, 2024
Solved

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

  • February 15, 2024
  • 3 replies
  • 1486 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

     

    3 replies

    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

    Visitor II
    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?

    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ƎALLEmAnswer
    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