cancel
Showing results for 
Search instead for 
Did you mean: 

external DMA triggering using a GPIO pin

michael239955_st
Associate II
Posted on January 13, 2014 at 00:40

Hi,

is it possible to trigger a DMA transfer (8 bit data from gpios) on a falling edge on a gpio pin? (without using interrupts!!!).

I think it is standard on all other mcu's with dma support (like kinetis mcus or nxp/ti devices) but i can't find any solution on ST cortex M3/M4 devices...:(.

Greetz
5 REPLIES 5
Posted on January 13, 2014 at 01:40

The STM32 is pretty lame it that regard, you can perhaps play games with a timer input and DMA triggering.

For clocked input, look at the camera interface (DCMI)
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
michael239955_st
Associate II
Posted on January 13, 2014 at 10:44

I know the DCMI functionality but it is only available on devices with 100pins++ and is very expensive. So I want to emulate the DCMI.

I found your post about the same problem:

https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Data%20transfer%20from%20GPIO%20port%20to%20RAM%20buffer%20using%20DMA%20upon%20receiving%20a%20trigger%20signal%20on%20the%20timer%20capture%2...

Your code can solve my problem, right?

michael239955_st
Associate II
Posted on January 13, 2014 at 17:07

ok that works.

But it is limited to 6 MHz on the input channel of the timer???

(on a stm32f103 @ 72 MHz(

Posted on January 13, 2014 at 17:25

Your idea of very expensive, and

http://www.mouser.com/ProductDetail/Altera-Corporation/5CSEBA6U23C6N/?qs=sGAEpiMZZMtOXy69nW9rM/O7BajVnW5VytLYGIaRZOc%3d

appear to be different.

I haven't evaluated the maximum frequency for an F1 design.
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on January 13, 2014 at 18:19

I wonder whether DMA from FSMC to SRAM (memory-to-memory) could be used for this purpose, employing NWAIT as the handshake signal.

I know that FSMC is available on the 100+ pin devices only, too; it's just an academic question 🙂

JW