FSMC Burst
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2014-01-22 8:05 AM
Posted on January 22, 2014 at 17:05
Hello, everyone!
I'm trying to use the FSMC synchronous burst mode on a STM32F407 and I'm not sure how to activate the burst. Whenever I write a 16 bit word in the Bank, the chip generates 4 clocks for the address and one clock for the data. I want to transmit 360 words in a single burst (only 4 clocks for the address and another 360 clocks for the data).So far, the only way I found to transmit more than 1 word in a burst is using the DMA burst, but it's limited to 128 bits (because of the FIFO). Therefore, I can only transmit 8 words in a burst, using 12 clocks. So each 8 words uses 12 clocks, resulting in 540 clocks. If I could use one burst for the 360 words, it would only take 364 clocks.Does anyone know how to generate a FSMC burst transfer with more than 8 words?Thanks in advance. #stm32-fsmc-burst-synchronous-dma
Labels:
- Labels:
-
FMC-FSMC
This discussion is locked. Please start a new topic to ask your question.
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2014-01-25 2:37 PM
Posted on January 25, 2014 at 23:37
Hi,
I am a bit confused about your problem.uint16_t byte = 0xAA;*((volatile uint16_t *)(base address)) = byte;As far as I know the code above will result in 2 write cycles on FSMC bus, not one. If you write again it will generate 2 more write cycles. If you are using the address lines for FSMC these will reflect the address that you write to on stm32. I am unsure what you mean by the chip generates 4 clocks for address? To my knowledge it will not do this. Do you have any code to show, perhaps I misunderstand something here.Regards,rygelxvi