adrv9009 calibration

Hello,

I got some issues with 2 functions: initCal and enableTrackingCal. I use no-OS library and modify it for kcu105 FPGA board (I dont have Zynq board). I set TX2 port loopback to RX2 port directly.

- (Calib_mask == None) && (TrackMask == None): No error, TX outputs have RF signal.

- (Calib_mask != None) && (TrackMask == None): Error enableTrackingCal, errorStatusRegister = 0x04. Ignore this error, TX outputs have RF signal with some calib_mask. 

- With most of calib_masks (except:TX_LO_LEAKAGE_EXTERNAL, FHM_CAL,...), initCal function is successful. However, with some masks, TX outputs dont have RF signal, example: TIA_3DB_CORNER, DC_OFFSET, FLASH_CAL, TX_LO_LEAKAGE_INTERNAL, ...

I'm looking forward to your answers.

Thanks.










Parents
  • 0
    •  Analog Employees 
    on Jan 15, 2020 5:45 AM 9 months ago
    Zynq board). I set TX2 port loopback to RX2 port directly.

    Are you connecting to RX2 or ORX2? For external init cals to run you need to connect TX2 to ORX2.

    Can you please read the status of below APIs and share,

    TALISE_waitInitCals(taliseDevice_t *device, uint32_t timeoutMs, uint8_t *errorFlag)
    TALISE_checkInitCalComplete(taliseDevice_t *device, uint8_t *areCalsRunning, uint8_t *errorFlag)

    TALISE_getInitCalStatus(taliseDevice_t *device, uint32_t *calsSincePowerUp, uint32_t *calsLastRun, uint32_t *calsMinimum, uint8_t *initErrCal, uint8_t *initErrCode)

  • Hi PVALAVAN,

    I dont have any external hardware.

    (*)I have checked every init_Mask with those 3 functions. WaitInit -> CheckInit -> GetInit

    (1) 3 masks pass all 3 functions: 

    - TAL_TX_ATTENUATION_DELAY

    - TAL_RX_GAIN_DELAY

    - TAL_ADC_STITCHING

    (2) 2 masks don't pass any functions: 

    - TAL_TX_LOL_LEAKAGE_EXTERNAL: waitInitCals fail/ waitArmCmdSTT fail/cmdStatByte=e

    - TAL_FHM_CALS: waitInitCals fail/ waitArmCmdSTT fail/cmdStatByte=a

    (3) others:

    Pass waitInit

    Pass CheckInitComplete: areCalsRunning = 0

    Error GetInitCalStatus/waitArmCmdSTT/cmdStatByte = 4

    (**) I terminate ORXx and RXx with 50 Ohm but no effect.

  • 0
    •  Analog Employees 
    on Jan 17, 2020 6:13 AM 9 months ago in reply to vietnguyen

    For TAL_TX_LOL_LEAKAGE_EXTERNAL you need to have an external feedback path enabled from Tx to ORx. Please refer UG-1...295 for more details.

    - TAL_FHM_CALS: waitInitCals fail/ waitArmCmdSTT fail/cmdStatByte=a

    Please let us know where and you are configuring TAL_FHM_CALS.

  • Thanks,

    I will test TAL_TX_LOL_LEAKAGE_EXTERNAL when I have enough suitable hardware.

    "Please let us know where and you are configuring TAL_FHM_CALS" (what do you mean?) I bring up device with initialization sequence order in headless.c (UG-1295 rev0 page 93). 

    What about other masks? Case (3) in my previous comment? OXx and RXx I terminate 50 Ohm for TAL_RX_QEC_INIT, TAL_ORX_QEC_INIT, they get the same error (case (3)).

  • 0
    •  Analog Employees 
    on Jan 20, 2020 10:37 AM 9 months ago in reply to vietnguyen

    Are you using a custom board or ADRV9009-EVB?

    Can you please help us to get detailed status for the below API?

    TALISE_getInitCalStatus(taliseDevice_t *device, uint32_t *calsSincePowerUp, uint32_t *calsLastRun, uint32_t *calsMinimum, uint8_t *initErrCal, uint8_t *initErrCode)

     

    The API should return values for,

    - calsSincePowerUp

    -calsLastRun

    -calsMinimum

    -initErrCal

    -initErrCode

Reply
  • 0
    •  Analog Employees 
    on Jan 20, 2020 10:37 AM 9 months ago in reply to vietnguyen

    Are you using a custom board or ADRV9009-EVB?

    Can you please help us to get detailed status for the below API?

    TALISE_getInitCalStatus(taliseDevice_t *device, uint32_t *calsSincePowerUp, uint32_t *calsLastRun, uint32_t *calsMinimum, uint8_t *initErrCal, uint8_t *initErrCode)

     

    The API should return values for,

    - calsSincePowerUp

    -calsLastRun

    -calsMinimum

    -initErrCal

    -initErrCode

Children