How achieve GPIO data transfer to RAM through DMA ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How achieve GPIO data transfer to RAM through DMA ?

997 Views
wilk
Contributor II

Hi all !

I read a couple of article about DMA so I got the main idea but I'm still confused about the application possibilities of DMA.

I want to collect high speed data (up to 100 Mb/s) from a GPIO pin and send them to an external RAM.

GPIO -> DMA -> RAM

Then i need to get access to these data from my uP to do some computing.

RAM -> uP

Is it possible, if yes then how ?

Thanks in advance for your reply !

0 Kudos
Reply
1 Reply

713 Views
r8070z
NXP Employee
NXP Employee

Have a great day, my name Sergey

You did not point which processor you are going to use. I suppose you mean some Freescale PowerQUICC processor which has DMA and GPIO. In general the DMA can read GPIO pins state in cycle and write it RAM. But for one GPIO pin and 100 Mb/s it is not effective. DMA will read at least 8-bit which has only one relevant bit.  Also 100 M samples per second for many PowerQUICC processor is too high. There are PowerQUICC and QorIQ processors (for example MPC8270, MPC8323, MPC8306, P1021, P1025) which have serial controller. Such controller supports transparent protocol when it samples state of input pin at selected rate (or synchronously with external clock) packs it into bytes and moves bytes into memory buffer (i.e. each byte contains 8 states of the input pin). Such controller is serviced by its own DMA and moves data from the input pin to the memory without processor core intervention. In this case 100 Mb/s may be achieved.

You can read details for example in the QUICC Engine Block Reference Manual with Protocol Interworking (QEIWRM.pdf). It support modern PowerQUICC and QorIQ processors. You can download this manual from Freescale site.
https://www.freescale.com/webapp/Download?colCode=QEIWRM
See Chapter 15 Transparent Controller

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply