Post Go back to editing

ad9361 received IQ samples missing

Category: Hardware

Hello everyone,

I am facing an issue with the AD9361 on the FMCOMMS3 using the no-os drivers. I am not able to receive correctly the IQ samples even though the interface timing validation passes.

I am using the timing validation method described here: https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/interface_timing_validation, so I am setting the parameter

init_param→digital_interface_tune_skip_mode (Init Parameter)
 to 0

The function passes, so i thought  everything was good. Then

I store a sinewave in the memory, and then i select it as a source for the DAC in this way:

    axi_dac_set_datasel(ad9361_phy->tx_dac, -1, AXI_DAC_DATA_SEL_DMA);
    axi_dac_set_sine_lut(ad9361_phy->tx_dac, DAC_DDR_BASEADDR);

Then I configure the AD9361 in loopback mode TX->RX:

ad9361_bist_loopback(ad9361_phy, 1);

and after that i capture the RX samples and store them inside the DDR. Then i take the samples out of the memory:

adc_sample = *(ADC_DDR_BASEADDR + index_mem);
I1 = (adc_sample >> 16) & 0xFFFF;
Q1 = adc_sample & 0xFFFF;

adc_sample = *(ADC_DDR_BASEADDR + index_mem+1);
I2 = (adc_sample >> 16) & 0xFFFF;
Q2 = adc_sample & 0xFFFF;

And i transfer them through UART on my PC. However what I get is the following:

What could be the issue?

However, when i use another platform to acquire RF data, I get a sinewave. Here in the figure below you can see the acquisition performed with PLUTO-SDR after configuring the FMCOMMS3 for transmission as explained above. So i guess that the transmitter interface is working correctly



added pluto capture
[edited by: ascialdo at 8:47 AM (GMT -5) on 2 Dec 2022]
Parents Reply Children
No Data