Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > PSoC® Software > DMA on PSoC 3 and PSoC 5

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



DMA on PSoC 3 and PSoC 5
Moderator:
JFMD

Post Reply
Follow this topic



DMA on PSoC 3 and PSoC 5

Robert-CY posted on 01 Aug 2011 9:09 PM PST
Cypress Employee
129 Forum Posts

Hi,


did you know that PSoC 3/5 has 24 DMA channels with highly sophisticated descriptors? There is an excellent application note that describes how to use DMA with 8- /16- / 32-bit wide peripherals, how to do burst transfers, how to combine the DMA with ADC, DAC, memory to memory transfers and so much more.


See how powerfull components in PSoC 3/5 are


The Application Note is here: http://www.cypress.com/?docID=29495


To support you and complement the Application Note, there is a Video as well.



Finding new ways of doing things that don't even use the CPU provides highly deterministic options for real-time critical systems. Best real-time performance usually does not include a latency of a CPU :-)


Cheers, Robert




Re: DMA on PSoC 3 and PSoC 5

Wavelength posted on 19 Dec 2011 02:00 PM PST
Member
8 Forum Posts

Robert,

I actually find the DMA frustrating... especially with use outside of the internal devices and SRAM.

I have programed for decades now and DMA always requires a request and an ack. I don't see anyway in PSOC3 to get an ack from the DMA controller. How am I suppose to figure out when the request is complete?

For example and several people have asked for this. Say we are using a simple high speed AD converter or some other host device. The ADC complete triggers the read of say an IO port to read the sample. BUT... what is going to trigger the ADC for the next sample?

Really we need more info on how to make DMA work out side the box.

The DMA wizard BTW is pretty useless.

Thanks

Gordon



Re: DMA on PSoC 3 and PSoC 5

hli posted on 20 Dec 2011 05:13 AM PST
Top Contributor
675 Forum Posts

The DMA component has a 'nrq' output, which signals that the DMA transaction is complete. Or do you need something which acknowledges every single transferred byte?

For your ADC example - why don't you use a clock component triggering both the DMA and the ADC? This would allow you a flexible configuration of your timing. You would drive the DMAs drq input by the clock, which is then also the signal to trigger the next ADC conversion.






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Spec No: None; Sunset Owner: KXP; Secondary Owner: VWA; Sunset Date: 01/01/20