cancel
Showing results for 
Search instead for 
Did you mean: 

QSPI DTR Mode

NIMISHPALOD
Associate

Hii,
Can someone please help me out in configuring QSPI in DTR mode to read and write data to the external QSPI memory. What all configurations are required to change to switch from STR to DTR? 
I am using STM32F469xx MCU with MT25QL128ABA NOR Flash in STM32CubeIDE.

5 REPLIES 5
KDJEM.1
ST Employee

Hello @NIMISHPALOD and welcome to the Community 🙂,

To configure QSPI in DDR mode you mainly need to:

-Disable SSHIFT by using QSPI_SAMPLE_SHIFTING_NONE instead of HALFCYCLE => this is a must for DDR mode.

- Enable DDR mode with QSPI_DDR_MODE_ENABLE

Also, please not forgot to change the right DTR read command, the dummy cycles value required by the memory for that DTR mode (please refer to memory datasheet) and to re-configure the prescaler to get the correct QSPI speed to support the QSPI DDR mode mentioned in the STM32F469 datasheet and to support the memory datasheet as well.

KDJEM1_0-1701262809309.png

I hope this help 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.

NIMISHPALOD
Associate

Hi @KDJEM.1 ,
Thanks for the response and your valuable suggestions. I have tried out these methods but still the MCU was not able to read correct bits from external flash. I'm getting correct response in STR mode but when shifting to DTR, the data is changing. Is there any reference available for DTR mode where I could get the process to configure?  

Changing? In a different every time sense, or not as expected and shifted by a byte or nibble sense.

Suggest starting with a known pattern, and then dumping the output in all the different modes/commands.

The command structure allows for the lengths and modes of each phase to be specified. 

Would suggest looking in the BSP for some of the newer MCU to find QSPI examples using DTR and other operating modes.

A thorough understanding of the data sheets and reference manuals is also recommended paying particular attention to timings and dummy cycles and there relationship to higher frequencies. 

I'll see if I can find some examples when I'm at a computer. 

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
KDJEM.1
ST Employee

Hi @NIMISHPALOD ,

What do yo mean by "data is changing"? Could you please give more details?

May be OSPI_NOR_AutoPolling_DTR example can help.  This example describes how to write and read data in Automatic polling mode in an OSPI NOR memory and compare the result. I think you get inspired from this application to configure QSPI in DTR mode.

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.

Or this  https://github.com/STMicroelectronics/stm32-mt25ql512abb/blob/main/mt25ql512abb.c

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..