RF-ADC Mixer with Numerical Controlled Oscillator - 2.6 English

Zynq UltraScale+ RFSoC RF Data Converter Gen 1/2/3/DFE LogiCORE IP Product Guide (PG269)

Document ID
Release Date
2.6 English

The mixer function has three modes: bypass (no mixing), coarse mixing or fine mixing. Fine mixing automatically enables the NCO which is used to generate the carrier frequency. The mixer supports full quadrature mixing, with both real to I/Q and I/Q to I/Q modes supported.

Figure 1. RF-ADC Mixer with NCO DSP Block

Coarse Mixer:

  • The coarse mixer allows the data to be mixed with a carrier of 0, Fs/2, Fs/4, or –Fs/4.
    Note: The selection of 0 is only available using the RFdc driver API.
  • Mixing with a 0 carrier bypasses the mixer component.

Fine Mixer:

  • The fine mixer allows the data to be shifted up or down in frequency by an arbitrary amount.
  • The frequency shift amount is obtained by programming the mixer frequency generated in the NCO. The fine mixer also supports 18-bit phase adjustment.
  • The NCO can be programmed to output the cos, -cos, sin or -sin of the NCO frequency (Fc). The NCO output is selected depending on the current mixer mode.
    • I/Q to I/Q
      • IOUT = IIN * cos (FC) - QIN * sin (FC)
      • QOUT = IIN * sin (FC) + QIN * cos (FC)
    • Real to I/Q
      • IOUT = IIN * cos (FC)
      • QOUT = IIN * sin (FC)
    when negative quadrature is selected the Q inputs are inverted.
  • The NCO phase can be synchronized within a tile using XRFdc_UpdateEvent.
  • The NCO phase can be synchronized across tiles using an external event signal (SYSREF or MARKER).
  • To manage potential overflow, the fine mixer output includes 3 dBV attenuation, as shown in the figure above. This attenuation is not relevant in R2C mode, so the automatic mode selection from the API selects the correct attenuation level following the RF-ADC mixer scaling output factor (see the table below). A manual selection is also possible, allowing 0 dBV or -3 dBV.
Table 1. RF-ADC Mixer Scaling Output Factor
Tile Usage Coarse Mixer Auto Fine Mixer
IQ (C2C) 1 (0 dBV) 0.707 (-3 dBV)
Real (R2C) 1 (0 dBV) 0.997 (~0 dBV)

The mixer settings can be configured in the core, or by using the RFdc driver API. The core is used to set the initial mixer settings (for example, mixer type and mixer mode), and the RFdc driver API is used to adjust the settings at runtime. Both the RFdc driver API and the core compute the required register settings based on the supplied sample rates and desired frequencies. A sample configuration screen is shown in the following figure. See the RF-ADC Converter Configuration section for information on the settings.

Figure 2. RF-ADC Mixer Settings Configuration