Circular DMA buffers for Usb communication in PSoC 5LP

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

cross mob
Anonymous
Not applicable

 PSoC 5LP ARchitecture TRM mentions about circular DMA mode in which multiple TDs are chanined together and used in a circular manner. Is there any way to use to use circular DMA mode during usb communication? The application note says that DMA is configured with the first call to USBFS ReadOutEP or LoadInEP. So how do we specify multiple buffers which can be filled up by DMA in circular manner? Application note AN56377 gives an example of Auto DMA transfer with only a single buffer. Is there any example of using multiple DMA buffers in circular manner for USB communication?

   

Regards,

   

Manuj

0 Likes
1 Reply
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I do not have an example, but the mechanism is quite easy to implement.

   

Each TD contains a pointer to the next TD to execute when finished.

   

So TD[0] points to TD[1] which points to TD[2]. which points to TD[0] again and now the circle is made.

   

Look at the description for

   

CyDmaTdSetConfiguration(uint8 tdHandle, uint16 transferCount, uint8 nextTd,uint8 configuration)

   

where the next TDs are specified.

   

 

   

Bob

0 Likes