cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7S7 XSPI Thermal Issues

RobertT
Associate II

Hi there,

 

We are having some issues with our STM32H7 when the MCU is heated above approximately 55C. This leads to a fault of some form within the STM32 which prevents it from reading an external flash which the code is being run from. This memory is MX66UM1G45GXDI00 being run in memory mapped mode and XIP. We also have external RAM setup on the other XSPI interface, APS256XXN-OBR-BG, with the design being based on the STM32H7S7-DK.

The XSPI devices are being run at 1.8V and we have confirmed that all the rails (3.3V, VDD, VCore) are up and stable. Both XSPI devices are being run at 200MHz. 

We saw a similar forum thread where there was discussion about the SBS Cell Compensation used in the XPI where there was speculation that issues could arise from updating the compensation value during operation. I attempted this fix however the issue still occurs. The symptoms experienced in that thread very closely match the issues we are experiencing. 

https://community.st.com/t5/stm32-mcus-products/stm32h7s7l8h6h-xspi-instability/td-p/749315

Is there any further advice here?

Best Regards, 

Robert T

 

5 REPLIES 5
KDJEM.1
ST Employee

Hello @RobertT and welcome to the community;

 

Does the problem persist even when the IO compensation cell is disabled?

Could you try to implement the following steps:

1.Enable the compensation cell before XSPI1 communication.

2.Copy the code found by the cell inside the user code register.

3.Start the communication with the compensation cell off.

 

I hope this help you.

Thank you.

Kaouthar

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.

STOne-32
ST Employee

Dear @RobertT ,

as suggested by @KDJEM.1 , can you please apply the proposed sequence on that thread and let is know , but completely disabling the I/O compensation cell. Your case is very interesting!

Let us know ,

STOne-32

RobertT
Associate II

Hi @KDJEM.1 & @STOne-32,

We have tried the code below:

  /* Configure the compensation cell */
  HAL_SBS_ConfigCompensationCell(SBS_IO_XSPI1_CELL, SBS_IO_CELL_CODE, 0U, 0U);
  HAL_SBS_ConfigCompensationCell(SBS_IO_XSPI2_CELL, SBS_IO_CELL_CODE, 0U, 0U);

  /* Enable compensation cell */
  HAL_SBS_EnableCompensationCell(SBS_IO_XSPI1_CELL);
  HAL_SBS_EnableCompensationCell(SBS_IO_XSPI2_CELL);

  /* wait ready before enabled IO */
  while(HAL_SBS_GetCompensationCellReadyStatus(SBS_IO_XSPI1_CELL_READY) != 1U);
  while(HAL_SBS_GetCompensationCellReadyStatus(SBS_IO_XSPI2_CELL_READY) != 1U);

  uint32_t code1, code2, nmos1, nmos2, pmos1, pmos2;

  HAL_SBS_GetCompensationCell(SBS_IO_XSPI1_CELL, &code1, &nmos1, &pmos1);
  HAL_SBS_GetCompensationCell(SBS_IO_XSPI2_CELL, &code2, &nmos2, &pmos2);

  HAL_SBS_ConfigCompensationCell(SBS_IO_XSPI1_CELL, SBS_IO_REGISTER_CODE, nmos1, pmos1);
  HAL_SBS_ConfigCompensationCell(SBS_IO_XSPI2_CELL, SBS_IO_REGISTER_CODE, nmos2, pmos2);

  HAL_SBS_DisableCompensationCell(SBS_IO_XSPI1_CELL);
  HAL_SBS_DisableCompensationCell(SBS_IO_XSPI2_CELL);

  /* high speed low voltage config */
  HAL_SBS_EnableIOSpeedOptimize(SBS_IO_XSPI1_HSLV);
  HAL_SBS_EnableIOSpeedOptimize(SBS_IO_XSPI2_HSLV);

We have also tried completely disabling the compensation, by removing the above code, leaving on the below:

 /* high speed low voltage config */
  HAL_SBS_EnableIOSpeedOptimize(SBS_IO_XSPI1_HSLV);
  HAL_SBS_EnableIOSpeedOptimize(SBS_IO_XSPI2_HSLV);

This code also seems to fail at the rough 55C mark.

I noticed you only mentioned XSPI1. Is there any significance of one or the other? We have ran some testing with compensation on and off for both in all the combinations but still see similar results. 

Regards, 

Robert

 

RobertT
Associate II

I believe we have resolved this issue. It does seem that the XSPI Compensation was the root cause. It was an additional issue on the PCB caused by derating of a PTC Fuse that caused further issues at a similar temperature. 

Regards, 

Robert. 

Dear @RobertT ,

Thank you for the feedback,  can you please elaborate more ?  an how it was solved .   I'm curious to know 

Ciao

STOne-32.