AnsweredAssumed Answered

FSMC with Synchronous Memory

Question asked by Doherty.Rowan.001 on Sep 2, 2014
Latest reply on Sep 11, 2014 by Doherty.Rowan.001
I'm trying to connect from an STM32's FSMC to block-RAM inside an FPGA. Since this type of memory is synchronous, I need to expose the FSMC clock to the FPGA.
At the moment I have an STM32F4-Discovery connected to a logic analyser to check that the signals are behaving as I would expect. 

When I configure the device as an asynchronous SRAM as per the STM324xG_EVAL in the STM32Cube library examples, I can see the pins toggling basically as I would expect, but with no activity on the clock line. I'm finding the documentation extremely vague for synchronous operations, can I can't find any examples.

But, when I change memory to burst mode, I can see activity on the clock line, but nothing else toggles. I'm not sure if this is because the FSMC module is waiting for an extra signal or something, but I can't get it to write to the bus; I simply see the FSMC_CLK pin toggling.

I have several questions that I think will help with my problem:

  1. Is "burst mode" the only mode that uses the clock.
  3. I see that there are three types of memory: SRAM, PSRAM and NOR types. However, the library only has "stm32f4xx_hal_nor.c" and "stm32f4xx_hal_sram.c". Is there another source file for "PSRAM"? Do I use the NOR functions or the SRAM functions to configure for PSRAM mode?
  5. If I configure for synchronous operation (burst mode?), do I need to do anything with the WAIT signals? I currently have it disabled, but do I need to enable it?