RS_Flexible static memory controller (FSMC)
RM0082
674/844
Doc ID 018672 Rev 1
The delays are:
tset = (Tset 1) * clock period
twait = (Twait 1) * clock period
thold = (Thold_value) * clock period
thiz = (Thiz_value) * clock period
So timing registers must be programmed with this value:
Tset =(timing for tset/clock period) -1
Twait =(timing for twait/clock period) -1
Thiz=(timing for thiz/clock period)
About Thold_value the right value is:
(Timing period - tset - twait)/Tclk.
FSMC parameters are:
TCS = Clock cycles between Chip Selects = 3
TCLK = Hclk period.
TWAIT = number of TCLK to get wait signal active = 3
Chip delays:
toutdel = Output delay from the flip-flops to the board.
tindel = Input delay from the board to the flipflop
Dtoutdel = maximum difference between output delay: toutdel.
Some suggested values:
toutdel = 7
tindel = 5
Dtoutdel = 5
If you want to have some margin on it:
toutdel = 15
tindel =10
Dtoutdel = 10