I am using a Zed board and an FMCOMMS2 evaluation card as my reference for our custom SDR using the AD9361. I am running the NO-OS API on the Zed board project I downloaded from GitHub. I can run the software with default settings and initialize the AD9361 without any issues and then use the console commands to change initial settings to our desired RFBW, TX/RX Lo frequencies, and TX/RX sample rate. In doing this I can see the debug printout showing rx_path_clock_frequencies and tx_path_clock_frequencies calculated. If I then copy these numbers into the AD9361_InitParam structure (along with RF synthesizer and BW changes) and run the code again, I get a ‘calibration timeout’ at Register 0x16 with Mask=0x2. (RF DC calibration)
Any idea why I can configure what I need using console commands but cannot use as my initial settings?
We need RFBW set to ~200kHz, TX/RX LO = 220MHz and sample rate = 6.4MHz. I realize the FMCOMMS2 board is optimized for 2.4GHz operation but I am just using this platform to test the SW driver as of now.
Initial parameters:
/* LO Control */
2400000000UL, //rx_synthesizer_frequency_hz *** adi,rx-synthesizer-frequency-hz
2400000000UL, //tx_synthesizer_frequency_hz *** adi,tx-synthesizer-frequency-hz
/* Rate & BW Control */
{983040000, 245760000, 122880000, 61440000, 30720000, 30720000},//uint32_t rx_path_clock_frequencies[6] *** adi,rx-path-clock-frequencies
{983040000, 122880000, 122880000, 61440000, 30720000, 30720000},//uint32_t tx_path_clock_frequencies[6] *** adi,tx-path-clock-frequencies
18000000,//rf_rx_bandwidth_hz *** adi,rf-rx-bandwidth-hz
18000000,//rf_tx_bandwidth_hz *** adi,rf-tx-bandwidth-hz
/* RF Port Control */
0, //rx_rf_port_input_select *** adi,rx-rf-port-input-select
0, //tx_rf_port_input_select *** adi,tx-rf-port-input-select
Modified parameters to what the driver calculated using console commands:
220000000UL, //rx_synthesizer_frequency_hz *** adi,rx-synthesizer-frequency-hz
220000000UL, //tx_synthesizer_frequency_hz *** adi,tx-synthesizer-frequency-hz
/* Rate & BW Control */
{819200000, 51200000, 25600000, 12800000, 6400000, 6400000},uint32_t rx_path_clock_frequencies[6] *** adi,rx-path-clock-frequencies
{819200000, 51200000, 25600000, 12800000, 6400000, 6400000},uint32_t
tx_path_clock_frequencies[6] *** adi,tx-path-clock-frequencies
200000,//rf_rx_bandwidth_hz *** adi,rf-rx-bandwidth-hz
200000,//rf_tx_bandwidth_hz *** adi,rf-tx-bandwidth-hz
/* RF Port Control */
0, //rx_rf_port_input_select *** adi,rx-rf-port-input-select
0, //tx_rf_port_input_select *** adi,tx-rf-port-input-select
Thanks.
-Allen Pedrick