RM0008
18.3
AHB interface
The AHB slave interface enables internal CPUs and other bus master peripherals to access
the external static memories.
AHB transactions are translated into the external device protocol. In particular, if the
selected external memory is 16 or 8 bits wide, 32-bit wide transactions on the AHB are split
into consecutive 16- or 8-bit accesses.
The AHB clock (HCLK) is the reference clock for the FSMC.
18.3.1
Supported memories and transactions
General transaction rules
The requested AHB transaction data size can be 8-, 16- or 32-bit wide whereas the
accessed external device has a fixed data width. This may lead to inconsistent transfers.
Therefore, some simple transaction rules must be followed:
●
AHB transaction size and memory data size are equal
There is no issue in this case.
●
AHB transaction size is greater than the memory size
In this case, the FSMC splits the AHB transaction into smaller consecutive memory
accesses in order to meet the external data width.
●
AHB transaction size is smaller than the memory size
Asynchronous transfers may or not be consistent depending on the type of external
device.
–
–
a)
b)
Configuration registers
The FSMC can be configured using a register set. See
description of the NOR Flash/PSRAM controller registers. See
description of the NAND Flash/CompactFlash controller registers.
Asynchronous accesses to devices that have the byte select feature (SRAM,
ROM, PSRAM).
In this case, the FSMC allows read/write transactions and accesses the right data
through its byte lanes BL[1:0]
Asynchronous accesses to devices that do not have the byte select feature (NOR
and NAND Flash 16-bit).
This situation occurs when a byte access is requested to a 16-bit wide Flash
memory. Clearly, the device cannot be accessed in byte mode (only 16-bit words
can be read from/written to the Flash memory) therefore:
Write transactions are not allowed
Read transactions are allowed (the controller reads the entire 16-bit memory word
and uses the needed byte only).
Flexible static memory controller (FSMC)
Section
18.5.6, for a detailed
Section
18.6.6, for a detailed
367/690
Need help?
Do you have a question about the STM32F102 Series and is the answer not in the manual?
Questions and answers