Our application uses AD9371 in FDD mode, with 2Rx, 2Tx and 2 ORx channels enabled. Enabled tracking calibrations are RxQEC, ORxQEC, TxQEC and TxLOL onboth channels, correspondingly.
ORx control is in pin mode.
The ORx selection pins are set by an FPGA. The selection modes are cycling between 3 states: ARM calibrations(3), ORx1 with SnifferLO(5) and ORx2 with SnifferLO(6), staying evenly in each state 8 ms.
The problem is as the follows:
When I monitor pending status of the tracking calibrations using the MYKONOS_getPendingTrackingCals() function, I always get Rx1/2QEC and ORx1/2QEC always pending. Other kinds of the calibrations are also appear as pending, by clear up during the next probing.
I tried to change hold time of the selection from 810 us to 100 ms, with exactly the same result.
what is wrong? why the RxQEC and ORxQEC calibration never complete?
When you are enabling the ORX path, the tracking calibrations will not run as during that time, the ORX path will be available to be used by the user. Refer to the "STREAM PROCESSOR AND SYSTEM CONTROL" section in UG for better understanding.
thank you for the response.
I'm not sure I get you.
As I wrote, 1/3 of the time the ORx mode is 'ARM calibrations' (3). Is it not enough? Other 2/3 of the time I need ORx at Tx for LOL elimination.The UG specifies that the required time is at least, 400ms during each 2 seconds, and I provide 666ms. Besides, TxQEC is running and almost never is pending. So what is wrong. BTW I also tried to attribute 100% of time for the ARM calibrations, with no effect for Rx/ORx QEC calibrations: they remain pending.
Receive calibrations are only run when the receive chains are enabled.
For ORX QEC to run, you need to configure ORX path source as OBSRXOFF.
Sorry if reply is duplicated, I answered by email, but it hasn't appeared in the site yet, so I'm submitting directly.
Thank you for the response.
As I wrote, it’s FDD, so Rx is always enabled.
Allocating 1/3 of the time for the RXOFF neither helps, I tried it in the past before initial posting of my question – the UG is not so clear in this part - and just re-tested a few minutes before.
BTW I observe something that IMHO contradicts the UG: the LOL calibrations continue to run even when the 100% of the time ORx is in the ARM calibrations (3) mode, with expected LOL running away. However they (the LOL calibrations) go to pending when time is not allocated for the ARM calibrations and allocated to the Tx channels and anything else (e.g. RFOFF).
Can you check the individual status of each of the cal and see if the update count is increasing. If that is increasing, then the cals are running. Use the below API's: