AD9371 Observer Receiver Enable Signal

Hi,

We are using ADRV9371-W/PCBZ and ZCU102 evaluation board. The master batch of No-Os sw project and HDL project used in our trials.

Currently, we are trying to use observer receivers on AD9371. We are able to use use main receivers on the system, so we have the broad understanding of ADC data paths and how it is supposed to work. Yet, we cannot see the results on "Orx" path.

We used ILAs to understand what is going on and realized that ADC data coming from observer receivers (axi_ad9371_core -> adc_os_data_i0, adc_os_data_q0) are functioning as expected. We can see valid real data on those paths. Also, we observe "valid" signals  going high as expected (adc_os_valid_q0, adc_os_valid_i0,).  However, adc_os_enable signals are not changing. We understand that, for "rx_os_cpack" to work, enable signals should be high, otherwise outputs of cpack stays low. Whatever we tried on the No-Os application, we couldnt made this enable signal go high (couldnt made observer path work in other words).

Any suggestions (or direct solutions for our problem, more preferable :D) would be great.

Thank you in advance!

Berk ERBAS

Parents
  • Here is an early update. I solved the problem.

    In No-Os you need to add the following to enable the observer path.

    adc_core  ad9371_rx_os_core_init = {
            RX_OS_CORE_BASEADDR,                   // base_address
            1,                                                                     // master
            4,                                                                     // no_of_channels (application specific)
            16,                                                                   // resolution
            DDR_MEM_BASEADDR + 0x800000     // adc_ddr_baseaddr (this address might be changed, it is upto user)
    };

       status = adc_setup(&ad9371_rx_os_core_init);
        if (status != 0) {
            printf("adc_setup() failed\n");
            error = ADIERR_FAILED;
            goto error_2;
        }

    This enables the Observer path. I am sorry for making the community busy but I hope this solution will be helpful for anyone who seeks such an answer in this matter.

    Sincerely,

    -Berk

Reply
  • Here is an early update. I solved the problem.

    In No-Os you need to add the following to enable the observer path.

    adc_core  ad9371_rx_os_core_init = {
            RX_OS_CORE_BASEADDR,                   // base_address
            1,                                                                     // master
            4,                                                                     // no_of_channels (application specific)
            16,                                                                   // resolution
            DDR_MEM_BASEADDR + 0x800000     // adc_ddr_baseaddr (this address might be changed, it is upto user)
    };

       status = adc_setup(&ad9371_rx_os_core_init);
        if (status != 0) {
            printf("adc_setup() failed\n");
            error = ADIERR_FAILED;
            goto error_2;
        }

    This enables the Observer path. I am sorry for making the community busy but I hope this solution will be helpful for anyone who seeks such an answer in this matter.

    Sincerely,

    -Berk

Children
No Data