Skip to main content
Graduate II
June 12, 2024
Solved

From H7-series to U5-series - problem with OCTOSPI

  • June 12, 2024
  • 7 replies
  • 2239 views

Hi,

I have two custom boards using the same OCTOSPI HyperFlash and for some reason the memory fails to run at higher speeds with U5-board.

Board 1
-H7 MCU at 550 MHz
-OCTOSPI at 160 MHz works fine! (max clk is 166 MHz)

Board 2
-H5 MCU at 160 MHz
-OCTOSPI at 160 MHz fails in W/R.... (works fine up to 110 MHz)

Could there be any specific reasons why the U5 cannot handle the OCTOSPI running at 160 MHz, which in this case is the same speed as the MCU clock?

    This topic has been closed for replies.
    Best answer by KDJEM.1

    Hi @Southbranch ,

    The maximum OCTOSPI frequency for STM32U5 is 100 MHz not 160 MHz. The 160 MHz is the max AHB bus frequency.

    KDJEM1_0-1719495789802.png

     

    Thank you.

    Kaouthar

     

    7 replies

    Graduate II
    June 12, 2024

    Check pin drivers / SPEEDR. Check if the memory has lower drive levels

    Graduate II
    June 13, 2024

    Could you please elaborate what you mean with SPEEDR and drive levels?

    I have checked voltage pins and they are fine. Also checked clock and other signals, a bit of ringing on both boards but accept that, it seems ok. However, my scope only measures up to 100 MHz and thus I really cant say for sure how it looks like at 160 MHz.

    Board 1 is a 6-layer PCB setup and Board 2 is a 4-layer. I have checked trace impedance to be around 50 ohms on both boards.

     

    Technical Moderator
    June 13, 2024

    Hello @Southbranch , 

    Could you please refer to STM32U5 data sheet and check the maximum OCTOSPI clock frequency in table OCTOSPI characteristics in DTR mode (with DQS)/HyperBus(1)(2) 

    The below table is OCTOSPI characteristics in DTR mode (with DQS)/HyperBus for STM32U5A.

    KDJEM1_0-1718288963802.png

     

    Thank you.

    Kaouthar

     

    Graduate II
    June 14, 2024

    Thank Kaouthar,

    However I am a bit confused, I am using the Hyperbus OCTOSPI in memory mapped mode and in AN5050 I just found this table saying the U5-series should support 160 MHz.

    Southbranch_1-1718342966783.png

    Please help me clarify,

    many thanks in advance

    Technical Moderator
    June 24, 2024

    Hi @Southbranch ,

     

    The max AHB bus frequency access indicated in An5050 table 2 is the maximum bus frequency used for the data register.

    You can show the max OCTOSPI communication frequency in "Max OCTOSPI speed (MHz) line" in AN5050 table 2.

     

    KDJEM1_2-1719219301312.png

    Note that this max frequency depends on voltage scaling as mentioned in the datasheet.

    I hope this answer your request.

    Thank you.

    Kaouthar 

    Graduate II
    June 27, 2024

    Thanks,

    I am using 3.3V + single clock + memory mapped mode.

    I seems 160 MHz should be supported, but I am still confused since you yellow marked double rows in the tablle.

    Could you please explicity confirm?

    Graduate II
    June 27, 2024

    Well typically they run the PERIPHERAL 2X faster to accommodate the data side rate of DDR / DTR, the peripheral side clock being 160 MHz, the memory side clock being 80 MHz, and the data latching on both edges.

    The SPEEDR setting (GPIO_InitStruct.Speed) for the GPIO determines how aggressively the pin is driven, it's basically a SLEW RATE under another name, but determines the amount of energy imparted by the pin-driver transistor chain, for SHORT traces presenting LOW LOADS one can back-off the "speed" so the lines don't ring.

    The pin drivers for the H7 and U5/H5 are not identical. Most ST parts top out at around 100-110 MHz at the pin level, for most practical purposes.

    Graduate II
    June 28, 2024

    Ok, thank you both