- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all
I want to use multi DMAs by parallel rather than using first DMA to request next DMA. For example, I use a custom trigger component to request DMAs one by one. I assume that each DMA component can work individually and run as parallel, so that total DMA speed can be accelerated. It is just what I expect and assume, could any one tell me this is available or not?? Or there is an another way which can speed up DMA.
Thanks
- Labels:
-
PSoC 5LP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You should be able to find that in the TRM of PSoC.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can trigger multiple DMAs at the same time, by connecting them to the same trigger signal. But they won't actually run at the same time - their transfers will be in sequency. Look at the TRM for more detail.
But yes, doing so simplifies things since there is no need for a custom trigger component.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I asked a similar question here.
In my case, was enough to make a shift in the signal table and perform CyDmaChEnable with some delay.
CyDmaChEnable(DMA_Wave_4_Chan, 1);
CyDelayUs(150);
CyDmaChEnable(channel, 1);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In short: There is a priorization between the different DMA-channels running in parallel.
Since you do not specify much about the problem you have got it is difficult to give you advise.
But be sure: a single DAM channel running to transfer data will always be faster than multiple channels performing the same shared job
Bob