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.
vietnguyen said: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)
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:
(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
Pass CheckInitComplete: areCalsRunning = 0
Error GetInitCalStatus/waitArmCmdSTT/cmdStatByte = 4
(**) I terminate ORXx and RXx with 50 Ohm but no effect.
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.
vietnguyen said:- TAL_FHM_CALS: waitInitCals fail/ waitArmCmdSTT fail/cmdStatByte=a
Please let us know where and you are configuring TAL_FHM_CALS.
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)).
Are you using a custom board or ADRV9009-EVB?
Can you please help us to get detailed status for the below API?
The API should return values for,
I use adrv9009-evb.
InitCalMask = TAL_TX_ATTENUATION_DELAY | TAL_RX_GAIN_DELAY | TAL_ADC_STITCHING;
calsSincePowerUp = 0x80030
calsLastRun = 0x80030
calsMinimun = 0x4004f
initErrCal = 0
initErrCode = 0
Other mask, example, TAL_TX_BB_FILTER, I get error with function: waitArmCmdStatus inside the funtion: getInitCalStatus. cmdStatByte = 4;