Main / Rfsoc
XRFdc is the prefix used for all aspects of the RF Data Converter IP. Drivers supported under Linux and bare-metal. ArchitectureMPSoC and RFSoC use the same PS ARM Cortex A53. There are four power domains: PS battery (RTC, battery backed RAM), PS low power (OCM, USB, ...), PS full power (APU, L2 cache, debug, ...), PL power. Boot interfaces are quad SPI flash, SD 3.0, NAND flash, eMMC (managed NAND). The idea with the RFSoC is that ADC and DAC tech has come far enough that paired with good filters, single board high perf SDR is now a possibility. It reaches 4 GHz bandwidth with 8x 4Gsps ADCs or 16x 2Gsps ADCs. SD-FEC is a hard core unit using LDPC or Turbo coding (note that decode is more compute intensive than encode, just like spread-spectrum mod/demod). Data ConverterAXI lite control with AXI Stream data for ADC/DAC. In API, channel/block/slice have same meaning, with each representing an ADC or DAC. The clock can be high freq external, or use on board PLC. DDC is optional to get down to baseband. The ADC/DAC can be used in PL-only design because the cores are configured at startup. A SW API adds monitoring and interrupts. No R/W functions in the Data Converter API, because the rates are so high for the PS. Separate AXIS paths through FIFOs exist for moving the data. (And I assume DMA is a big piece of this). PG269 document provides API information. ADC Basics
Doubling the sampling rate can result is a 3dB reduction in the noise floor because the noise is spread over a wider bandwidth. But sampling is said to be more noisy than mixing - why? ADC ArchitectureGen3 devices have 14-bit resolution. Programmable threshold flags are available. One PLL per tile, also decimation filter and complex mixers with 48-bit NCO. Real-time control of NCO and real-time over-range, over-threshold, orver-voltage outputs. Over-voltage results in buffer shutdown for protection (automatic DSA). input -> threshold detection -> quadrature modulator correction gain/phase -> crossbar -> mixer -> decimation The QMC stops degradation with a gain factor of 0-2 and phase factor +/- 26 degrees. Built-in DSP functions are:
Coarse or fine mixing available. Can do real to I/Q or I/Q to I/Q. Runtime mixer settings changes available via API. The DDC gives you a lower frequency at lower sampline rate to simplify remaining compute. Decimation is a combination of filtering (like anti-aliasing, FIR filter stages) and downsampling. i.e. input signal -> oversample to get all the data -> downsample to reduce the compute work. IP Core Configuration
SW DriverEach tile has a PLL and DDC LibMetal Xilinx open source SW stack with APIS for devices w/ interrupts and memory access. Drivers for ADCs and DACs can be included in BSP and they are the same for bare metal and Linux. A sticky bit is a flag that requires manual clearing. Using threshold control with API enables setting up an AGC. The API abstracts the IP control registers. Implementation DetailsFor RF-ADC typically use AC coupling. DC is available for zero IF mode. If using DC, must use VCM pin to align internal common mode voltage with external driving circuit common mode voltage. Cal mode 2 is for anything other than input freq of Nyquist +/- 30%. DAC BasicsDAC can degrade a signal, quantization error is present as with ADC. Programmed output is some proportion of reference V or I. INC error adds harmonies and spurious signals to output. NSD is more important than actual SNR. It allows comparing noise performance of data converters with distinct sample rates.
Higher resolutions do not equate to lower noise. DAC ArchitectureEach tile has 4 DACs at 10Gsps for Gen3 chips and on-chip calibrated 100 ohm termination. The DUC maintains freq info, but moves the center freq. Uses interpolation filters to implement up-sampling and fill in the data points at higher freq. Max data rate of DAC is limited by DUC, but it can also be bypassed. Matching converter latency across tiles is critical. One PLL per tile, so all converters in a tile will use same sampling clock. Best phase noise achieved if reference divider can be 1 (values 1 to 4). SYSREF is used for multi-channel sync, cannot use PLL for multi-tile. Each ADC/DAC tile has its own clock input. The PLL can be bypassed. Design and ImplementationIP integrator flow recommended. For analog values in simulation, a 64-bit Verilog data type is used. RF EvalulationsOrdered intermod products are spikes in the spectrum whose height indicates how well the device performs, an ideal system wouldn't have any. Intermod products are similar to harmonics and come from same root cause, but the former refer specifically to double tones. The baluns do not affect this. Lowering PEP also lowers intermod products. Want NSD to be as low as possible (negative). What is a spurious entity? Not harmonically related signal component, so it doesn't necessarily go away if signal is gone. Intermod Products exampleF1 = 10 Mhz, F2 = 15 Mhz 2nd order products are F1+F2 = 25Mhz and F2-F1 = 5 Mhz 3rd order products are 2*F1+/-F2 or F1+/-2*F2, etc, like 35Mhz, 40Mhz, 5Mhz, 10Mhz What is the Nyquist zone?Nyquist is half the sampling rate, and any signal above that will be aliased. Nyquist zones subdivide the spectrum into uniformly spaced regions at intervals of the NF, fs/2. Each zone contains a copy of the spectrum or a mirror image. Spurs that are past the boundary of Nyquist zone fold back into previous zone. RFDC (RF Data Converter)It acts as a bridge between the analog RF domain and the digital domain by converting RF signals to digital data and vice versa.
Higher sampling rates improve system perf. To achieve this, you can interleave multiple ADCs, for example the Xilinx RFDC is x4 or x8 ADCs. HD2 - HD5 are lower order harmonics, HD6 higher order Oversampling and decimation have the effect of enlarging a zone. What if you want to shift the DAC output freq to center RF freq?Set the mixer NCO freq as you want, change from 0 (can that be called an offset?) as the mixer does freq translations. |