FX3 DMA understanding

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
VlKh_2251656
Level 5
Level 5
10 likes given 5 likes given First like received

Hello.

Please, tell us a little about DMA for FX3/CX3

How does it work, how to set it up?

What regimes exist?

How does manual mode differ from automatic?

How to forcefully send (read) a buffer?

0 Likes
1 Solution
abhinavg_21
Moderator
Moderator
Moderator
50 likes received 25 likes received 10 likes received

Hello,

-- How does it work, how to set it up?

Please refer to the "dmamode" examples present in the "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples"

-- How does manual mode differ from automatic?

In automatic DMA mode as soon as the DMA Producer socket buffer gets full it will be automatically committed to Consumer Socket without any CPU interrupt. In manual mode you can perform any data processing, add/remove the data because it will interrupt CPU, whenever producer buffer gets filled.

-- How to forcefully send (read) a buffer?

To forcefully commit the buffer you have to use DMA manual channel.

Thanks & Regards

Abhinav

View solution in original post

4 Replies
Anonymous
Not applicable

Hi,

I recommend you to go through the useful notes in FX3 programmer's manual.

Refer section 5.2.5 (DMA engine)

Programmer's manual link:

http://www.cypress.com/documentation/reference-designs/fx3-programmers-manual

Regards

- Madhu Sudhan

abhinavg_21
Moderator
Moderator
Moderator
50 likes received 25 likes received 10 likes received

Hello,

-- How does it work, how to set it up?

Please refer to the "dmamode" examples present in the "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples"

-- How does manual mode differ from automatic?

In automatic DMA mode as soon as the DMA Producer socket buffer gets full it will be automatically committed to Consumer Socket without any CPU interrupt. In manual mode you can perform any data processing, add/remove the data because it will interrupt CPU, whenever producer buffer gets filled.

-- How to forcefully send (read) a buffer?

To forcefully commit the buffer you have to use DMA manual channel.

Thanks & Regards

Abhinav

Many thanks!

FX3 and CX3 DMA are identical?

0 Likes

Hi,

Yes they are identical.

Regards

Abhinav

0 Likes