Post Go back to editing

Error during ADRV9026 high-level API init. sequence

Category: Software
Product Number: ADRV9026
Software Version: Windows 11 (64-bit); ADRV9026 TRx Evaluation Software (GainTables: 6.4.0.1, Api: 6.4.0.14, Firmware: 6.4.0.6, Gui: 6.4.0.17)

Dear all,

I tried to perform the initialization sequence for ADRV9026, but there was an error after carrying out the Post MCS Sequence (adi_adrv9025_PostMcsInit) and I honestly do not know how to deal with it. Moreover, I tracked down the error which regarded the following functions:

errFunc	const char *	adi_adrv9025_CpuCmdStatusWait	
errFile	const char *	../src/devices/adrv9025/public/src/adi_adrv9025_cpu.c	
varName	const char *	device	
errormessage	const char *	CpuCmdStatusWait() failed due to thrown CPU error. Is device in correct state for calling command?	

errFunc	const char *	adrv9025_CpuCmdErrorHandler	
errFile	const char *	../src/devices/adrv9025/private/src/adrv9025_cpu.c	
varName	const char *	mailboxErrCode	
errormessage	const char *	TIARx:No solution for RX		

errFunc	const char *	adi_adrv9025_PostMcsInit	
errFile	const char *	../src/devices/adrv9025/public/src/adi_adrv9025_utilities.c	
varName	const char *	((void *)0)	
errormessage	const char *	TIARx:No solution for RX

It is worth mentioning that not only the platform is a custom board, but also each Rx channel's input is connected to the differential pins of a balun (1720BL15A0100) which its input is not present/driven.

In addition, I attach initdata.c and the log file for further details.

Best regards,

  • Are you using a default profile or Use case or customized one? Can you try if the initialization is through with default use case?

    It looks like TIA cal is failing that is part of the init cal which happens as part of the Post MCS Init.

    Have you generated the resource files (binaries) from same version of the GUI?

  • Dear Ramarao,

    Are you using a default profile or Use case or customized one?

    I used use case # 54_nonLinkSharing with modified JESD parameters.

    Can you try if the initialization is through with default use case?

    I tried to carry out the init. with default use case # 13_nonLinkSharing, but without success.

    Have you generated the resource files (binaries) from same version of the GUI?

    Yes, I have. I am currently using the following version:

    • Adi.Adrv9025.GainTables (6.4.0.1)
    • Adi.Adrv9025.Api (6.4.0.14)
    • Adi.Adrv9025.Firmware (6.4.0.6)
    • Adi.Adrv9025.Gui (6.4.0.17)

    I was able to get around the errors by changing the calMask in initdata.c, while still using the aforementioned default user case. After a few attempts, I got:

    • Mask0: 0xD27FF, // calMask -> default
      (Log file Mask 0) TIAORx:No solution for ORX
    • Mask1: 0xD27F7, // calMask -> No RX_TIA
      (Log file Mask 1) TIARx:No solution for RX
    • Mask2: 0xD27F3, // calMask -> No RX_TIA, ORX_TIA
      (Log file Mask 2) RxTCAL:Data capture error
    • Mask3: 0xC27F3, // calMask -> No RX_TIA, ORX_TIA, RX_QEC
      (Log file Mask 3) ORxTCAL:RxQec3 obs image power error
    • Mask4: 0x827F3, // calMask -> No RX_TIA, ORX_TIA, RX_QEC, ORX_QEC
      No errors

    I am currently looking into what might be causing the TIA and QEC cal. to fail for both RX and ORX channels. However, I am not really sure what could be.

    Best regards,

  • It could be matching issue at the ports. Please check the matching on the board, for eg, Balun, matching components etc..

  • We checked it and everything was OK. Could these errors have to do with the files/config. exported from the GUI in Demo mode?

  • There was no issue regarding the matching but the component connected to the RF balun's pin GND/DC_FEED+RFGND. 

    Analog indicates in UG1727 (pag. 218-221) that a 0-Ohm resistor should be connected from the aforementioned pin to GND for the 650...2800-MHz freq. band. However, this does not make any sense from my point of view, more even so that Analog suggests placing a cap. for the other freq. bands. Hence, I placed a 1-nF and 100-pF cap. instead of R305 and C305 respectively, such that they would not only behave as a short circuit at the operation freq. range, but also bypass the bias voltage of the Rx. ch.'s output. It is worth mentioning that I did the same for all Rx. and Obs. Rx. channels.

    In the end, the initialization sequence was successful without excluding the TIA and QEC cal. in the Post MCS Sequence.

  • Thanks for the update.I believe you are good now and no open queries?

  • Yes, I am.

    Thank you for your help, Ramarao.