Flexible static memory controller (FSMC)
A[25:0]
NEx
NWAIT
NWE
D[15:0]
1. NWAIT polarity depends on WAITPOL bit setting in FSMC_BCRx register.
11.6.5
Synchronous transactions
The memory clock, FSMC_CLK, is a submultiple of HCLK. It depends on the value of
CLKDIV and the MWID/ AHB data size, following the formula given below:
Whatever MWID size: 16 or 8-bit, the FSMC_CLK divider ratio is always defined by the
programmed CLKDIV value.
Example:
•
If CLKDIV=1, MWID = 16 bits, AHB data size=8 bits, FSMC_CLK=HCLK/2.
NOR Flash memories specify a minimum time from NADV assertion to CLK high. To meet
this constraint, the FSMC does not issue the clock to the memory during the first internal
clock cycle of the synchronous access (before NADV assertion). This guarantees that the
rising edge of the memory clock occurs in the middle of the NADV low pulse.
Data latency versus NOR memory latency
The data latency is the number of cycles to wait before sampling the data. The DATLAT
value must be consistent with the latency value specified in the NOR Flash configuration
register. The FSMC does not include the clock cycle when NADV is low in the data latency
count.
272/1163
Figure 47. Asynchronous wait during a write access waveforms
address phase
don't care
FSMC_CLK divider ratio
Memory transaction
data setup phase
data driven by FSMC
=
max CLKDIV
(
+
RM0402 Rev 6
don't care
1HCLK
3HCLK
(
1
,
MWID AHB data size
RM0402
MS30464V2
)
)
Need help?
Do you have a question about the STM32F412 and is the answer not in the manual?
Questions and answers