cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H755 Supply connection

koyocik
Associate II

Hello,

I'm working on project with STM32H755ZIT6. Currently I use Nucleo Board, but I designed prototype board, but the board don't work. I supose that problem is caused by wrong connection for supply.

I use +3.3V from DC/DC connerter for suplly. Can someone help to find out where could be the problem?

Thank you all in advance for any tips.

13 REPLIES 13

Please accept as solution the comment that answered your question.

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.

I addapted my prototype board in order to cuircuit below. After connecting board to programmer I can program

board one time and I get "Deadlock" and I can't program my board not more. When I connect BOOT pin to 3.3V then I'm able program board again. As I understand I get this issue because my hardware and software configuration are not right.

Supply after changes.png

I use external clock HSE 25MHz and I addapted clock configuration as below, but I still get "Deadlock". Is something more what I should check?

void SystemClock_Config(void)
{
	RCC_OscInitTypeDef RCC_OscInitStruct = {0};
	RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
	
	/** Supply configuration update enable
	*/
	HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
	
	/** Configure the main internal regulator output voltage
	*/
	__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
	
	while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
	
	__HAL_RCC_SYSCFG_CLK_ENABLE();
	__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);
	
	while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
	
	/** Initializes the RCC Oscillators according to the specified parameters
	* in the RCC_OscInitTypeDef structure.
	*/
	RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
	RCC_OscInitStruct.HSEState = RCC_HSE_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 = 5;
	RCC_OscInitStruct.PLL.PLLR = 2;
	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();
	}
}

 

Because from the beginning you configured the MCU with the wrong power config.

You need to recover your board from that situation and set the correct power supply SMPS or LDO. Read this article:

https://community.st.com/t5/stm32-mcus/how-can-i-recover-my-stm32h7-board-after-facing-a-power/ta-p/49579

For the schematics, I invite you again to look at the schematics of NUCLEO-H753ZI for LDO: https://www.st.com/resource/en/schematic_pack/mb1364-h753zi-c01_schematic.pdf

and NUCLEO-H753ZI for SMPS: https://www.st.com/resource/en/schematic_pack/mb1363-h755ziq-d01_schematic.pdf

PS: you don't need to set VOS level in two steps.  Keep VOS0:

	__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0);
	
	while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}

And remove the settings of VOS1.

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.

I had additional problem with programmer used from other nucleo board. I can't connect because target voltage was 0V. After recovering I can programm and run my board.

Thank you for your help!