AFE7903: Test Procedure for Frequency Change Test using AFE7903 Initialized via Latte on Windows

Part Number: AFE7903
Hi I tried to change RX NCO frequency , but failed as described bellow.
Let me know how should I initialize C library to use its API functions correctly.
When initializing AFE7903 during AFE7903 initialization via USB through Latte on Windows for testing after initialization, the process involves using the generated register dump (Format5 log file) to connect ZCU102 and AFE7903 via SPI and proceed with initialization as follows:
  1. Setup before frequency change test:

    • Initialize LMK of AFE7903 EVM by python script in Latte.
    • Initialize AFE7903 in ZCU102 (I set default NCO frequency to 2.2 GHz during initialization): Proceed with AFE7903 initialization by writing the register dump(Format5 log) generated in Latte via SPI.
    • Connect SG to playback Waveform (frequency: 2.320 GHz)
    • Confirm input signal captured can be displayed on HSDC at 0.320 Ghz offset form center .

    Up to this point, the setup has been completed in a normal state, confirming the input signal in the default settings before changing the frequency.

  2. Frequency change test:

    • Call frequency change-related APIs (C_libraries_CAFE2p5).
      • API: uint8_t AFE79FNP(updateRxNco)(AFE79_INST_TYPE afeInst, uint8_t chNo, uint32_t mixer, uint8_t band, uint8_t nco);
      • AFE79FNP(updateRxNco)(&tiAfe79DeviceInfo_t[0], 0, 2300, 0, 0); // Set frequency to 2300 MHz (Although there are no macro errors even after changing chNo, mixer, band, and nco, there is no change at all.)

As described above, since the frequency change using the updateRxNco of the C library does not work, I attempted to reflect the automatically generated afe79xxParameters.c from Latte during initialization. However, I encountered the same problem as the inquiry in the following wiki:

[FYI. main() ]

 int main(void)

{

   afe79InstDeviceInfo tiAfe79DeviceInfo_t[2];
   init_tiAfe79DeviceInfo_t();

   MY_LMK_Iniit();
   MY_AFE_Init(); // working as expected described above

   AFE79FNP(updateRxNco)(&tiAfe79DeviceInfo_t[0], 0, 2400, 0, 0); //This is not working, no change after this function call. it is still tune to 2.2Ghz

  return 0;

}

[Issues related to API initialization]

  1. The automatically generated afe79xxParameters.c contains some syntax errors, and when I tried to roughly modify and use it, the current structure of the C library's structure members is significantly different.
    • Latte version: 2p5
    • C library version : 2p5

[Inquiries]

  • Is it possible to use the updateRxNco of the C library for frequency changes or other API usage even without reflecting the contents of afe79xxParameters.c after completing initialization as described in "1. Setup before frequency change test" above?
  • If I need to initialize the C library by reflecting the contents of afe79xxParameters.c, should I first resolve the API initialization issues similar to the wiki mentioned above? Is it possible to provide a corrected C library?
  • Is it possible to provide an example of frequency change using the APIs of the C library?