Post Go back to editing

AD9371/AD9375 MYKONOS_waitingInitCals() returned an ARM error

I am getting an error at random times when I have to re-calibrate the chip after a frequency change. The chip has been operating for some time (10min - 1hr) and I perform a frequency change. The problem seems to be somewhat correlated with the temperature. 

Are there any suggestions on how to troubleshoot this?


After further testing, it seems to be related to the TX_QEC_INIT. If that is masked out the system reliably starts. However, I need the Tx... Also seems to not be specifically temp-related.

These are the masks we are using for the Initial cal and tracking cals.



If we disable the TX_QEC_INIT


and the ARM error goes away however failed further down the process. I think this issue is somehow related to the TX QEC Init...

To confirm, when this occurs we get:

- errorCode = 0

- errorFlag = 0


We did also run MYKONOS_abortInitCals(calsCompleted) after we get the error and it returns 0x59FF but the system fails when we run the tracking cal enable.

- This issue has been found to be very consistent on a subset of identical HW. The issue happens on all units with less frequency.

added a note about reproducibility
[edited by: Jpayne at 7:53 PM (GMT -5) on 8 Dec 2021]
  • Are you using custom board or eval board? TXQEC init cal can fail because of improper matching of the board. Measure the TX output return loss across your operating BW for which you have done the matching? Also make sure that the tx attenuation is set to zero, when you are running the init cal

  • Yes, I am using a custom board.

    Thank you! I will test the attenuator.

    Is this requirement for the TX atten = 0 notes somewhere in the datasheet? I currently set the Tx atten to full attenuation to limit the RF leakage during calibration. 

  • You need to disconnect / isolate your external circuitry while running init callibrations so that it  does not get damaged.

    Also, for QEC  cal failure, check if the matching of the board is proper

  • The main cause of the issue was tracked down to an insufficient time allowed for the calibration timeout. It was set to 10sec. On average we found the calibration time was ~8 sec. When the unit was heated up the calibration time increased beyond 10sec. We set the calibration time to 20sec and the system performed reliably. It was odd that we did not get a timeout error but instead an ARM ERROR.

  • Are you running all the init cals while changing the frequency? For frequency change, you need not run all the init cals. If the frequency change is more than 100MHz, then you need to run only the QEC and the LOL  cals. Other cals, no need to run, that way you will be able to reduce thee time for frequency change.

    Refer to the "RF PLL FREQUENCY CHANGE PROCEDURE" section in UG