ORx Connected to Ground Causes Initialization Calibration Error

ADRV9009 ORX2 is used, but ORX1 is not used which is directly connected to ground in our PCB design according to datasheet description. This causes initialization calibration failure with default Linux code showing the log like:

MESSAGE: 0: TALISE_runInitCals()
MESSAGE: 0: TALISE_sendArmCommand()
MESSAGE: 0: TALISE_waitInitCals()
MESSAGE: 0: TALISE_waitArmCmdStatus()
MESSAGE: 0: TALISE_readArmCmdStatusByte()
MESSAGE: 0: TALISE_readArmCmdStatusByte()
MESSAGE: 0: TALISE_readArmCmdStatusByte()
MESSAGE: 0: TALISE_readArmCmdStatusByte()
ERROR: 294: TALISE_waitArmCmdStatus() failed due to thrown ARM error. Is device in correct state for calling command?
ERROR: 131086: Talise init calibration error encountered
error: TALISE_waitInitCals() failed

Tried to disable ORX1 input path by setting " adi,obs-settings-obs-rx-channels-enable = <2> " in file adi-adrv9009.dtsi, but failure still occurs with similar failure log.

UG-1295 mentions " if the observation receiver inputs are not used and the input connections are grounded on the printed circuit board (PCB), disable the unused inputs in the configuration to prevent calibration failures ", could someone advise how to set it for more detail?

  • What is the profile you are using and trying initialize the chip? if ORX BW is more than 250 MHz stitching is used. For details on stitching refer Observation receiver section in UG.

  • Default profile defined by the Github adi-adrv9009.dtsi file is used, and the ORx BW is 100MHz as written from its line 229:

      adi,orx-profile-rx-fir-gain_db = <(-6)>;
      adi,orx-profile-rx-fir-num-fir-coefs = <48>;
      adi,orx-profile-rx-fir-coefs = /bits/ 16  <(-9) (-18) (31) (42) (-65) (-89) (132) (168) (-240) (-298) (396) (486) (-632) (-770) (968) (1163) (-1530) (-1862) (2369) (3051) (-4066) (-5983) (9689) (29830) (29830) (9689) (-5983) (-4066) (3051) (2369) (-1862) (-1530) (1163) (968) (-770) (-632) (486) (396) (-298) (-240) (168) (132) (-89) (-65) (42) (31) (-18) (-9)>;
      adi,orx-profile-rx-fir-decimation = <2>;
      adi,orx-profile-rx-dec5-decimation = <4>;
      adi,orx-profile-rhb1-decimation = <2>;
      adi,orx-profile-orx-output-rate_khz = <122880>;
      adi,orx-profile-rf-bandwidth_hz = <100000000>;
      adi,orx-profile-rx-bbf3d-bcorner_khz = <225000>;
      adi,orx-profile-orx-low-pass-adc-profile = /bits/ 16  <265 146 181 90 1280 366 1257 27 1258 17 718 39 48 46 27 161 0 0 0 0 40 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
      adi,orx-profile-orx-band-pass-adc-profile = /bits/ 16  <265 146 181 90 1280 366 1257 27 1258 17 718 39 48 46 27 161 0 0 0 0 40 0 7 6 42 0 7 6 42 0 25 27 0 0 25 27 0 0 165 44 31 905>;
      adi,orx-profile-orx-ddc-mode = <0>;
      adi,orx-profile-orx-merge-filter = /bits/ 16  <0 0 0 0 0 0 0 0 0 0 0 0>;

      adi,orx-gain-control-gain-mode = <0>;
      adi,orx-gain-control-orx1-gain-index = <255>;
      adi,orx-gain-control-orx2-gain-index = <255>;
      adi,orx-gain-control-orx1-max-gain-index = <255>;
      adi,orx-gain-control-orx1-min-gain-index = <195>;
      adi,orx-gain-control-orx2-max-gain-index = <255>;
      adi,orx-gain-control-orx2-min-gain-index = <195>;

      adi,obs-settings-framer-sel = <1>;
      adi,obs-settings-obs-rx-channels-enable = <2>;  // I just change this value from <3> to <2> to disable ORx1.
      adi,obs-settings-obs-rx-lo-source = <0>;

    Does it mean both ORx1 and ORx2 should never connect to ground if more than 250MHz ORx BW is needed?

  • If you need to use Orx you should not connect to ground.

    If you are using external LoL or Tracking LOL cal,  calibration will fail as Orx is grounded.

    What is the RF frequency configured ? 

    Can you check which cal is failing.? TALISE_getInitCalStatus() 

    Calibrations can fail if the power supplied are not correct or noise into the port are very high (poor Matching).

  • Hi, . I meet a problem very similar to yours.Can you tell how do you fix your problem?Thanks.