I am using FMCOMMS2 with ZedBoard. I was wondering how the DAC works. We make a portion of data accessible to DAC through the DMA from a certain location in memory. Are these values treated as integers and then are transmitted or they are treated bitwise!? I mean since the DAC has a 12-bit resolution does it read the bits in memory with a step of 12 bits or how it works!?
Also there are two different DAC for two channels in AD9361. How do they get the data from the memory location using the DMA!?
I do recommend that you read the AD-FMCOMMS2-EBZ user guide, with a focus on the functional overview section.
The data in memory is stored 16-bit aligned, this means that the data for each channel…
Thanks for the response. So I have to put my data in 16 bit aligned memory where the four last bits won't be considered by DAC!? How the capture function will save the data!? Should I discard…
Looks like the followup questions has already been answered here.
Thanks for the response. So I have to put my data in 16 bit aligned memory where the four last bits won't be considered by DAC!? How the capture function will save the data!? Should I discard the last four bits by reading with a step of 16 bit in memory!? Or the capture function will write from ADC with 16 bits so I do not have to discard the last 4 bits.
So if a have a 8 bit of data I will put it in the uppermost 8 bits of 16 bit memory location to make it accessible for DAC. After I capture the data with adc_capture() should I have to read just the uppermost 8 bits of 16 bit memory location and to discard the lower ones or I have to read the 16 bit memory location with 8 bit step.
One more question. It is stated that the ADC reads the data from DMA using 2s complement. So should I change the data to 2s complement before making it accessible for DAC!?