Arm Community
Site
Search
User
Site
Search
User
Groups
Education Hub
Distinguished Ambassadors
Open Source Software and Platforms
Research Collaboration and Enablement
Forums
AI and ML forum
Architectures and Processors forum
Arm Development Platforms forum
Arm Development Studio forum
Arm Virtual Hardware forum
Automotive forum
Compilers and Libraries forum
Graphics, Gaming, and VR forum
High Performance Computing (HPC) forum
Infrastructure Solutions forum
Internet of Things (IoT) forum
Keil forum
Morello forum
Operating Systems forum
SoC Design and Simulation forum
SystemReady Forum
Blogs
AI and ML blog
Announcements
Architectures and Processors blog
Automotive blog
Graphics, Gaming, and VR blog
High Performance Computing (HPC) blog
Infrastructure Solutions blog
Internet of Things (IoT) blog
Operating Systems blog
SoC Design and Simulation blog
Tools, Software and IDEs blog
Support
Arm Support Services
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Support forums
SoC Design and Simulation forum
Max DMA transfer speed
Jump...
Cancel
State
Not Answered
Locked
Locked
Replies
3 replies
Subscribers
88 subscribers
Views
7228 views
Users
0 members are here
GPIO
System Controllers
Direct Memory Access Controllers
Options
Share
More actions
Cancel
Related
How was your experience today?
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
Max DMA transfer speed
Michael von Hauff
over 11 years ago
Note: This was originally posted on 4th January 2009 at
http://forums.arm.com
My application requires that I transfer data from a external device connected via one of the gpio ports. I need to transfer data at about 40MSps. 8 bit samples.
From what I have read about the DMA controller, I can get transfers at 1/4 the clock speed (1/4 of 72MHz). Is that correct? I was think of pulling in two samples at a time (use a 16bit buffer).
Also, if I want to get data from the GPIO port, what would be the dma configuration that most makes sense? My external device is a A/D. I have to clock it somehow. assuming I can use any peripheral to drive the dma which should I use?
Thanks!
0
Michael von Hauff
over 11 years ago
Note: This was originally posted on 5th January 2009 at
http://forums.arm.com
Hi, sorry for the lack of info (was late when i posted)
I am using a cortex M3. Currently I am using an eval board from STMicro, but we aren't fixed on using STMicro's product.
From the data sheets, the gpio ports can be configured to run at upto 50Mhz.
The limiting issue that I see is that the DMA runs at 1/4 the main clock speed.
What I was planning to do was buffer the incoming 36MSps 8bit data into a 16bit buffer and read in two samples per dma transfer cycle (at 18MHz).
Does that sound doable (i have never used dma before so i may be totally mistaken in whats possible)?
Thanks
Cancel
Up
0
Down
Cancel
0
Peter Harris
over 11 years ago
Note: This was originally posted on 5th January 2009 at
http://forums.arm.com
What device are you using?
Cancel
Up
0
Down
Cancel
0
Jacob Bramley
over 11 years ago
Note: This was originally posted on 5th January 2009 at
http://forums.arm.com
Be aware that many microcontrollers have slow GPIO peripherals, so even though your DMA can operate at that speed, your GPIO may not be able to. The data sheet should contain this information.
If that is a problem for you, you might want to consider using some kind of communications peripheral. I²C is common on both microcontrollers and ADC chips, as is SPI. Either would be suitable. Whilst the throughput may appear slower than a parallel solution, some microcontrollers have communications peripherals that are capable of faster pin transitions than the GPIO blocks and your processor would be free to do other tasks, so it may work out better.
Cancel
Up
0
Down
Cancel