Speed up CyU3PDmaMultiChannelSetWrapUp.

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

cross mob
GiVa_292201
Level 1
Level 1

Hello,

   

we're working with a multi-channel manual-out dma on the FX3, but we noticed that wrapping up a 32 Kb buffer takes very long time (CyU3PDmaMultiChannelSetWrapUp takes 160 us while a single CyU3PDmaMultiChannelCommitBuffer takes about 10 - 20 us).

   

Is there a way to speed up the wrap up? Why does it take so much?

   

Thank you very much.

   

Gianni

0 Likes
3 Replies
Anonymous
Not applicable

 Please create a tech support case. It would be easier to understand and resolve this through the tech support channel with one of our experts.

   

Cheers,

   

Anand

0 Likes
Anonymous
Not applicable

 Was a solution ever found?

0 Likes
Anonymous
Not applicable

Hi Gianni,

   

We have not done any benchmarking on the SetWrapup API call, as this is only expected to happen rarely. The actual firmware execution delay for a SetWrapup API call would be minimal (depends on the amount of time required to get a mutex lock on the channel structure). However, you can expect to see some delay before the corresponding data buffer is accessible on the consumer side.

   

 

   

The SetWrapup call only notifies the producer that it should not wait for more data, but should wrap up this buffer and move on. In the case of a Manual channel, the Produce Event callback will be triggered after the producer actually wraps up the buffer; and the user will then have to commit the corresponding data to the consumer.

   

Thanks,

   

Sai Krishna.

0 Likes