STM32H735 HyperBus speed byte vs word (32bit) vs QSPI
Hello,
I got my hands on a H735 Discovery Board which has an external "HyperRAM" (Infineon S70KL1281DABHI023) connected to OCTOSPI2.
I need to use it in memory mapped mode, which is quite easily setup via HAL stuff (just switched to register setup to learn how it works and get better control).
First of all, it's working, clock is 100 MHz. Speed checked with the ARM's cycle counter.
Speed: when reading / writing big buffers (>1kB)
- 32 bit word access, read / write ~ 50 MB/s (400 Mbit/s)
- byte access, read / write ~ 8 MB/s (66 Mbit/s)
Okay, byte access with a simple for loop takes a few more cycles per byte, but the interesting thing is that with the same clock and a QUAD SPI RAM and byte access I got speeds up to almost 25 MB/s (200 Mbit/s).
Question:
Is that some normal behavior of the peripheral due to different byte / word / ocal / quad handling inside the peripheral?
Or is there some setting I can tune for octal mode?
The one big difference I see in the settings between Hyper / quad is the "refresh rate" which the Hyper RAM needs (a high NCS every now and then to trigger its internal refresh). But even playing around with that didn't change much in byte mode.
