-
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.
-
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 changingchNo
,mixer
,band
, andnco
, there is no change at all.)
- API:
- Call frequency change-related APIs (C_libraries_CAFE2p5).
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]
- 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 ofafe79xxParameters.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?