This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

External Flash (via FSMC) too slow

Hello,

I'm working with an STM32 (specifically the STM32F103ZE) with an external NAND Flash memory connected to it. I'm using the memory chip and schematic described in ST's application note AN2784 (www.st.com/.../14779.pdf). I've used the example code that comes with uVision for reading from the flash, however I took out the loop that reads from the data area of the FSMC NAND region and replaced it with a DMA transfer to the internal SRAM. Even then, transfer speeds are too slow (about 4.5 to 5 ms for reading a 16 KB block, which works out to 3.2 MB/s).

I've clocked the processor and FSMC bus at the maximum frequency of 72 MHz, so I can't improve on that. Probing the Read line of the flash with an oscilloscope, I see a delay of about 280 ns between each pulse in the line, or 20-21 processor cycles. According to the flash memory's datasheet, this delay could be reduced to 50 ns. Now I know the DMA unit has certain delays, but from what I read of the Insider's Guide to the STM32 (www.st.com/.../1221142709.pdf) and ST's application note AN2548 (www.st.com/.../13529.pdf), it should be perhaps half that, unless I'm missing something. Can anyone provide some suggestions to improve performance?

Thanks

Décio

0