i designed a custom ad9364 eval board.i used hdl-hdl_2018_r1 & no-OS-2018_R1 for no-os on my zedboard
i changed to AD9364 in config.h no-OS project
#define AD9361_DEVICE 0 /* set it 1 if AD9361 device is used, 0 otherwise */#define AD9364_DEVICE 1 /* set it 1 if AD9364 device is used, 0 otherwise */#define AD9363A_DEVICE 0 /* set it 1 if AD9363A device is used, 0 otherwise */
when i debug the project .this error shown in serial-terminal
SAMPL CLK: 61440000 tuning: RX 0:1:2:3:4:5:6:7:8:9:a:b:c:d:e:f:0:# # # # # # # # # # # # # # # # 1:# # # # # # # # # # # # # # # # ad9361_dig_tune_delay: Tuning RX FAILED!ad9361_init : AD936x initialization errorFailed to restore stateFailed to restore state
I searched for a solution to this problem.and I found different answers
Somewhere it is said that the problem is from the input clock but my input clock source is ocxo with level 1.3v and 40MHZ frequency
Another solution that was presented is that change the value "digital_interface_tune_skip_mode" to 2 in main.c AD9361_InitParam default_init_param = {
I did it and changed to 2.The problem was resolved and no errors are displayed.
Is this really the right thing to do ? Does system performance decreasing?
i connected TX1 & RX1 together. the ADC IQ output is
when i changed rx1_gc_mode from 2 to 0 (rx1_gc_mode=0) .The IQ is as follows
and finally i changed dds_tx1_tune1_freq=5000000 & dds_tx1_tune2_freq=5000000 & The IQ is as follows
i plot IQ data(iladata.csv) in matlab
why in iladata.csv each sample is repeated twice?
Is the AD9364 function correct ????
Details on interface tuning is available in this link. https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/interface_timing_validation?s[]=interface&s[]=tuning
When you connect "…
i connect TX1 & RX1 together for test RX with 10db attenuator But this problem still exists
Is digital interface tune important?
If I eliminate this error in this way ,
digital_interface_tune_skip_mode…
Interface needs to be adjusted for correct data reception. This is important.
Have you tried checking TX output on a spectrum analyzer ?
my reference clock schematic is
i Sampled AD9364 XTALN with oscilloscope
If AD9361 worked , AD9364 as well should work fine. Are you seeing this issue on multiple boards with AD9364 ?
Only difference between the two will be the unused RF ports in AD9364 which should not cause this issue.
You can try testing with internal Bist to isolate the issue.. Check in spectrum analyzer.
in my project i need only AD9364 RX & donot use TX.Instead of using tx to test rx.i used RF Signal Generators and I will give it to the RX entrance.but ad9361 work ok and ad9364 not work ok and Tuning RX FAILED! problem are displayed.How can i test Bist in no-os mode?
You can use the following API for setting the BIST loopback and BIST injection point:
ad9361_bist_prbs()
ad9361_bist_loopback()
You can use this API to set the tone level ,frequency, channel mask and BIST mode:
ad9361_bist_tone()
Refer to this document for more details on BIST:
AD936x Built in Self Test (BIST)