dmas

General discussion and support for the Peaberry SDR V1.

dmas

Postby edingraham » Mon Jan 14, 2013 4:56 pm

Can you explain at a simple level why there 3 dmas on RXI2S? I suppose that this might get into the subject of smooth flow of data to USB?
edingraham
 
Posts: 11
Joined: Mon Nov 19, 2012 9:37 pm

Re: dmas

Postby AE9RB » Mon Jan 14, 2013 8:32 pm

DMA is used to move data from the I2S hardware to the USB hardware while performing the necessary format conversions and clock synchronization. There are 15 DMA channels that operate synchronously to make this all happen.

It's not necessary to understand this for successfully constructing and operating a Peaberry. A simple explanation of how to turn a PSoC chip into a USB audio device is very low priority given the current state of documentation for hams new to homebrew SDR. It's great that you're interested in the engineering, and I make the source available so you can explore it and even create and distribute your own projects based on my work, but my documentation priorities lie elsewhere.
73 David AE9RB
AE9RB
Site Admin
 
Posts: 511
Joined: Thu Nov 15, 2012 5:27 am
Location: Portland, Oregon, USA (CN85ql)

Re: dmas

Postby edingraham » Tue Jan 15, 2013 12:34 am

These DMA channels,,,how large are the buffers which they use? (I can't find the definition)

No, it isn't necessary to understand some of these things to successfully build and use the Peaberry. And I don't expect you to write a detailed theory of operation. But I hope you don't mind me asking a few questions. I find it amazing what the PSOC can do, and I salute you for accomplishing the successful design.
edingraham
 
Posts: 11
Joined: Mon Nov 19, 2012 9:37 pm

Re: dmas

Postby edingraham » Wed Apr 17, 2013 3:58 pm

Let me answer my own question:
RxI2S_Stage DMA collects audio sample bytes (in RxI2S_SWAP buffer) and makes them available in parallel fashion for the next DMA. There are 9 or 12 bytes, depending on what byte reordering is required.
RxI2S_Swap DMA makes audio bytes available in the necessary order to the next DMA. A combination of these orderings is used: Big-endian–to-little-endian, I/Q swap, and changing 3-byte to 2-byte samples.
RxI2S_Buff DMA takes audio bytes one-at-a-time and buffers them in RxI2S[3][384] for the USB.
.
edingraham
 
Posts: 11
Joined: Mon Nov 19, 2012 9:37 pm


Return to Peaberry SDR V1

Who is online

Users browsing this forum: No registered users and 2 guests

cron