BIST works at the AD9361 chip level, so it won't loop back data from the FPGA.
In our reference design, the DMA path will have data on it only if you send data from the DMA.
In our reference design, to do a loopback as it is, you ned to capture the data in the memory through the ADC DMA and send it back from the memory, through the DAC DMA.
If you want to bypass the memory, you need to remove the DMAs from the path and insert you IP in between.
what you mean by "send data from DMA"? Did you mean loading the data onto DAC buffer like we do in ADI OSC?
AdrianC said:In our reference design, to do a loopback as it is, you ned to capture the data in the memory through the ADC DMA and send it back from the memory, through the DAC DMA.
So i need to receive data from ADC interface and write that to DDR3 module through ADC DMA and read the DDR through DAC DMA to transmit this data through ADC and TX. is my understanding right? or you were referring to FIFOs?
I successfully wrote the ADC samples to DDR through ADC DMA. Now I am trying to read the same samples through DAC DMA. I figured out that my DAC DMA never turns on. Can u please guide me about the following:
Actually, there are two loopbacks that can be enabled:
- Digital TX → Digital RX loopback : The loopback happens inside the AD9361/4 close to the internal digital interface block. The entire RF section is bypassed. This can be used to validate (monitor on RX) the digital samples/symbols sent to the device.
- RF RX → RF TX loopback : The loopback happens in the ADI's provided HDL core. The Transmitter will transmit anything that the receiver receives. The entire RF chain is active (Sample rates, RF bandwidth and FIR settings will all effect the transmission).
Use ad9361_bist_loopback() for enabling the desired option: mode 0 - loopback is disabled; mode 1 - loopback (AD9361 internal) TX->RX; mode 2 - loopback (FPGA internal) RX->TX.
I guess that you are searching for mode 2.
Thank you very much. Yes i was searching for mode 2. I need to receive a signal on RX and transmit the same thorough TX path.
I'm using linux based system. SO i turned on the BIST RF RX → RF TX loopback. But my problem is still same. I checked both TX and RX path through ILA like i done in start (my first question in this thread). RX path shows data on it but TX path remains constantly zero.
May be My DAC DMA is never enabled. is there any way that i can check that. I know the register map of DMA from here and here but i don't know how to access the DMA registers.