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.

RM0008<br />

Flexible static memory controller (FSMC)<br />

19 Flexible static memory controller (FSMC)<br />

Low-density devices are <strong>STM32F101xx</strong>, <strong>STM32F102xx</strong> <strong>and</strong> <strong>STM32F103xx</strong><br />

microcontrollers where the Flash memory density ranges between 16 <strong>and</strong> 32 Kbytes.<br />

Medium-density devices are <strong>STM32F101xx</strong> <strong>and</strong> <strong>STM32F103xx</strong> microcontrollers where<br />

the Flash memory density ranges between 32 <strong>and</strong> 128 Kbytes.<br />

High-density devices are <strong>STM32F101xx</strong> <strong>and</strong> <strong>STM32F103xx</strong> microcontrollers where the<br />

Flash memory density ranges between 256 <strong>and</strong> 512 Kbytes.<br />

Connectivity line devices are <strong>STM32F105xx</strong> <strong>and</strong> STM32F107xx microcontrollers.<br />

This section applies to high-density devices only.<br />

19.1 FSMC main features<br />

The FSMC block is able to interface with synchronous <strong>and</strong> asynchronous memories <strong>and</strong> 16-<br />

bit PC memory cards. Its main purpose is to:<br />

● Translate the AHB transactions into the appropriate external device protocol<br />

● Meet the access timing requirements of the external devices<br />

All external memories share the addresses, data <strong>and</strong> control signals with the controller.<br />

Each external device is accessed by means of a unique chip select. The FSMC performs<br />

only one access at a time to an external device.<br />

The FSMC has the following main features:<br />

● Interfaces with static memory-mapped devices including:<br />

– Static r<strong>and</strong>om access memory (SRAM)<br />

– Read-only memory (ROM)<br />

– NOR Flash memory<br />

– PSRAM (4 memory banks)<br />

● Two banks of NAND Flash with ECC hardware that checks up to 8 Kbytes of data<br />

● 16-bit PC Card compatible devices<br />

● Supports burst mode access to synchronous devices (NOR Flash <strong>and</strong> PSRAM)<br />

● 8- or 16-bit wide databus<br />

● Independent chip select control for each memory bank<br />

● Independent configuration for each memory bank<br />

● Programmable timings to support a wide range of devices, in particular:<br />

– Programmable wait states (up to 15)<br />

– Programmable bus turnaround cycles (up to 15)<br />

– Programmable output enable <strong>and</strong> write enable delays (up to 15)<br />

– Independent read <strong>and</strong> write timings <strong>and</strong> protocol, so as to support the widest<br />

variety of memories <strong>and</strong> timings<br />

● Write enable <strong>and</strong> byte lane select outputs for use with PSRAM <strong>and</strong> SRAM devices<br />

● Translation of 32-bit wide AHB transactions into consecutive 16-bit or 8-bit accesses to<br />

external 16-bit or 8-bit devices<br />

Doc ID 13902 Rev 9 409/995

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

Saved successfully!

Ooh no, something went wrong!