Flexible static memory controller (FSMC)
Bits 19:16 BUSTURN[3:0]: Bus turnaround phase duration
These bits are written by software to add a delay at the end of a write-to-read (and read-to-
write) transaction. The programmed bus turnaround delay is inserted between an
asynchronous read (muxed or mode D) or write transaction and any other asynchronous
/synchronous read or write to or from a static bank. The bank can be the same or different in
case of read, in case of write the bank can be different except for muxed or mode D.
In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed
as follows:
• The bus turnaround delay is not inserted between two consecutive asynchronous write
transfers to the same static memory bank except for modes muxed and D.
• There is a bus turnaround delay of 1 FMC clock cycle between:
–Two consecutive asynchronous read transfers to the same static memory bank except for
–An asynchronous read to an asynchronous or synchronous write to any static bank or
–An asynchronous (modes 1, 2, A, B or C) read and a read from another static bank.
• There is a bus turnaround delay of 2 FMC clock cycle between:
–Two consecutive synchronous writes (burst or single) to the same bank.
–A synchronous write (burst or single) access and an asynchronous write or read transfer to
–Two consecutive synchronous reads (burst or single) followed by any
• There is a bus turnaround delay of 3 FMC clock cycle between:
–Two consecutive synchronous writes (burst or single) to different static bank.
–A synchronous write (burst or single) access and a synchronous read from the same or a
0000: BUSTURN phase duration = 0 HCLK clock cycle added
...
1111: BUSTURN phase duration = 15 x HCLK clock cycles added (default value after reset)
Bits 15:8 DATAST[7:0]: Data-phase duration
These bits are written by software to define the duration of the data phase (refer to
to
0000 0000: Reserved
0000 0001: DATAST phase duration = 1 × HCLK clock cycles
0000 0010: DATAST phase duration = 2 × HCLK clock cycles
...
1111 1111: DATAST phase duration = 255 × HCLK clock cycles (default value after reset)
For each memory type and access mode data-phase duration, please refer to the respective
figure
Example: Mode1, write access, DATAST=1: Data-phase duration= DATAST+1 = 2 HCLK
clock cycles.
Note: In synchronous accesses, this value is don't care.
382/1693
modes muxed and D.
dynamic bank except for modes muxed and D.
or from static memory bank (the bank can be the same or different for the case of read.
synchronous/asynchronous read or write from/to another static memory bank.
different bank.
Figure
43), used in asynchronous accesses:
(Figure 31
to
Figure
DocID024597 Rev 3
43).
RM0351
Figure 31
Need help?
Do you have a question about the STM32L4x6 and is the answer not in the manual?
Questions and answers