29.01.2015 Views

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Flexible static memory controller (FSMC)<br />

RM0008<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 />

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

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

configure read accesses (this register) <strong>and</strong> 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 />

CLKDIV<br />

BUSTURN<br />

DATAST<br />

ADDHLD<br />

ADDSET<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 (see note below bit descriptions): Data latency (for synchronous burst NOR Flash)<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 />

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

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

CRAM, this field must be set to 0<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 />

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 introduce the bus turnaround delay after a read access<br />

(only from multiplexed NOR Flash memory) to avoid bus contention if the controller needs to<br />

drive addresses on the databus for the next side-by-side transaction. BUSTURN can be set<br />

to the minimum if the memory system does not include multiplexed memories or if the<br />

slowest memory does not take more than 6 HCLK clock cycles to put the databus in Hi-Z<br />

state:<br />

0000: BUSTURN phase duration = 1 × HCLK clock cycle<br />

...<br />

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

438/995 Doc ID 13902 Rev 9

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

Saved successfully!

Ooh no, something went wrong!