Post Go back to editing

Using DAC - DMA in AD936x NO-OS to generate signal

Category: Software

Hello all,

I am working with the AD936x No-OS reference design and trying to use the DAC–DMA path to generate a signal.

  • So far, I have successfully used the BIST tone feature in the same AD936x No-OS system to generate a signal, which confirms that the platform itself is enabled and working correctly.
  • Next, I followed the “AD9361 No-OS DAC DMA stream mode” example ( AD9361 No_Os DAC DMA stream mode ) . The software appears to run correctly and I obtain the same console output as shown in the example. However, when I check the RF output with my measurement equipment, I do not see any signal.

May I ask if there are any additional steps that I might have missed, or any common issues that could cause the DAC–DMA mode not to generate an output signal?

Thank you very much in advance for your help.

-- Bruce

  • HI  

    When switching from BIST tone (DDS) to DMA. Pls disable DDS and Enable DMA streaming sequentially. May be couple of times try to repeat the same steps, so you can confirm it is not struck in one particular mode. Also check DMA buffer filled with valid IQ samples.

    Usual basic mistakes, which we observe. Pls check on them as well.

    • TX muted: Check TXNRX or ENABLE pins if hardware uses them.
    • Gain too low: Set TX gain via ad9361_set_tx_rf_gain().
    • LO not set: Confirm LO frequency is configured and PLL locked.

    After initialization, the AD936x ENSM (Enable State Machine) may still be in ALERT mode. You must explicitly enable Tx.

    Regards,

    SJ

  • Hello SJ,

    Thanks for your timely and detailed suggestions.
    Sorry for the late reply – I’ve been stuck on this problem over the past few days.

    I followed your suggestions and made sure all the other configurations are correct. Then I found that the configuration of tx_fir_config really matters.

    Initially, I had a waveform file generated by GNU Radio (a .cfile in complex float32 format). I tried to convert this .cfile into a corresponding LUT and use it in the no-OS project to regenerate the same signal. The signal is supposed to sweep the frequency linearly, but at the moment it doesn’t, and I’m still trying to figure out how to fix this. 

    Thanks again for your help!

    -- Bruce

  • HI  Bruce,

    Good to hear progress. Please let us know if you need any further help.

    Regards,

    SJ