09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Flexible static memory controller (FSMC) <strong>RM0090</strong><br />

SRAM/NOR-Flash chip-select timing registers 1..4 (FSMC_BTR1..4)<br />

Address offset: 0xA000 0000 + 0x04 + 8 * (x – 1), x = 1..4<br />

Reset value: 0x0FFF FFFF<br />

This register contains the control information of each memory bank, used for SRAMs, ROMs<br />

and NOR Flash memories. If the EXTMOD bit is set in the FSMC_BCRx register, then this<br />

register is partitioned for write and read access, that is, 2 registers are available: one to<br />

configure read accesses (this register) and one to configure write accesses (FSMC_BWTRx<br />

registers).<br />

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

Reserved<br />

ACCMOD<br />

DATLAT<br />

1347/1416 Doc ID 018909 Rev 3<br />

CLKDIV<br />

BUSTURN<br />

rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw<br />

Bits 29:28 ACCMOD: Access mode<br />

Specifies the asynchronous access modes as shown in the timing diagrams. These bits are<br />

taken into account only when the EXTMOD bit in the FSMC_BCRx register is 1.<br />

00: access mode A<br />

01: access mode B<br />

10: access mode C<br />

11: access mode D<br />

Bits 27:24 DATLAT: Data latency for synchronous burst NOR Flash memory<br />

For NOR Flash with synchronous burst mode enabled, defines the number of memory clock<br />

cycles (+2) to issue to the memory before getting the first data:<br />

0000: Data latency of 2 CLK clock cycles for first burst access<br />

1111: Data latency of 17 CLK clock cycles for first burst access (default value after reset)<br />

Note: This timing parameter is not expressed in HCLK periods, but in Flash clock (CLK)<br />

periods. In asynchronous NOR Flash, SRAM or ROM accesses, this value is don't care.<br />

In the case of CRAM, this field must be set to ‘0’.<br />

Bits 23:20 CLKDIV: Clock divide ratio (for CLK signal)<br />

Defines the period of CLK clock output signal, expressed in number of HCLK cycles:<br />

0000: Reserved<br />

0001: CLK period = 2 × HCLK periods<br />

0010: CLK period = 3 × HCLK periods<br />

1111: CLK period = 16 × HCLK periods (default value after reset)<br />

In asynchronous NOR Flash, SRAM or ROM accesses, this value is don’t care.<br />

Bits 19:16 BUSTURN: Bus turnaround phase duration<br />

These bits are written by software to add a delay at the end of a write/read transaction. This<br />

delay allows to match the minimum time between consecutive transactions (t EHEL from NEx<br />

high to NEx low) and the maximum time needed by the memory to free the data bus after a<br />

read access (tEHQZ):<br />

(BUSTRUN + 1)HCLK period ≥ t EHELmin and (BUSTRUN + 2)HCLK period ≥ t EHQZmax if<br />

EXTMOD = ‘0’<br />

(BUSTRUN + 2)HCLK period ≥ max (t EHELmin , t EHQZmax ) if EXTMOD = ‘1’.<br />

0000: BUSTURN phase duration = 0 HCLK clock cycle added<br />

...<br />

1111: BUSTURN phase duration = 15 × HCLK clock cycles (default value after reset)<br />

DATAST<br />

ADDHLD<br />

ADDSET

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!