DMA from SAR to VDAC

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

cross mob
Anonymous
Not applicable

I'm trying to get this going with the DMA wizard but it tells me there's no valid size for bytes-per-burst. Can someone suggest the obvious mistakes I might be making?

   

 

   

Thanks

   

Joe

0 Likes
7 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

VDAC is one byte in width. See that the ADC is configured to be 1 byte in width,too. Then bytes per burst must be set to 1.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Thanks Bob

   

 

   

In Creator, I set the SAR to 1-byte. The DMA Wizard still complains about it.

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

Can you post your complete project, so that we all can have a look at all of your settings? To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.

   

 

   

Bob

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Bob

   

Here's the archive. I forced the Wizard to accept the values, despite the protestations.

   

 

   

I'm a newbie to all this, eventually trying to make a SSB demod with 2 A-D's at the input (i/Q), 2-channel filter w/Hilbert on one side and an output DAC. I have some rudimentary things going, but the DMA stuff  has baffled me. Thanks for any educational guidance.

   

Joe

0 Likes
lock attach
Attachments are accessible only for community members.
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

These might help, attached.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Thanks Dana

   

I did see these and go through them, but I still can't get it working. I uploaded an archive of the simple example I'm trying to build, using a WaveDAC to drive an SAR ADC with result DMA'd to a DAC. If someone can help me get this going, I think I can extend it to do what I need.

   

Thanks

   

Joe

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

Well, when you look at your line

   

CyDmaTdSetConfiguration(DMA_1_TD[0], 1, CY_DMA_DISABLE_TD, 0);

   


then I read: Transfer one byte. When done then disable further DMA (of this TD)

   

I would suggest you to increase the byte count (4095 is maximum) and select to use the same TD again.

   

 

   

Bob

0 Likes