Front End (FE) and Breakout Board

A modular adapter board for sSDR and dSDR modules with an integrated high-performance RF front-end.

Overview

fe sdr fe sdr

The Front End (FE) is a modular, high-performance adapter board featuring 4 RX and 4 TX channels which can be synchronized. In addition, the board includes fast TX/RX switches for each channel, making it usable for TDD applications.

The board can be used with our dSDR or sSDR transceiver modules.

Breakout board

The Breakout board is the light version of the FE board without the RF front-end components. It is intended for users who want to design their own RF front-end or use the board in a lab environment.

fe breakout sdr

General Specifications

Clock Synchronization
  • LMK1C1104

Module slot
  • M.2 Key M socket for sSDR or dSDR module

Form Factor
  • PCIe x4

RF Specifications

Note

The full specification of sSDR module sSDR module.

Note

The full specification of dSDR module dSDR module.

Integrated high-performance RF front-end with low-noise amplifiers, power amplifiers, filters, and switches.

RF frontend frequency range
  • 50 MHz to 7.2 GHz

RFIC
  • with sSDR module:
    • LMS7002M + LMS8001

    • 2 RX / 2 TX channels

  • with dSDR module:
    • AFE7900/AFE7901/AFE7950

    • 6 RX / 4 TX channels

Sample Rate
  • with sSDR module:
    • 4 MSps - 100 MSps

  • with dSDR module
    • 0.1 MSps - 500 MSps

Channel Bandwidth
  • with sSDR module:
    • 0.5 MHz - 90 MHz

  • with dSDR module:
    • 0.5 MHz - 500 MHz

Bifurcation Modes

  • 4×4 MIMO systems

  • 2 independent 2×2 MIMO systems

Target Applications

Cellular Communication
  • Enables next-generation 4G/5G wireless networks with high-order massive MIMO and TDD

  • Fully compatible with Amarisoft and srsRAN

Directional Finding
  • Determines the direction of arrival (DoA) of incoming radio signals, enabling precise localization of transmitters

Beamforming
  • Focuses on signal transmission and reception in specific directions

  • Enhances range, improves signal quality, and reduces interference in multi-user environments

Connections

Note

USB-C is intended solely for use in manufacturing test facilities.
It is not used during normal operation.

Front side

The front side of the board contains the M.2 socket for the sSDR or sSDR module and 4 MHF7 connectors for RX signals.

Back side

The front side of the board contains 4 MHF7 connectors for TX signals.

PCI bracket panel

The bracket panel of the FE has 8 external SMA connectors for TX/RX/TRX signals.

sSDR module connections

The following schematic diagram shows the connections between the FE board and the sSDR module.

fe ssdr connection diagram

dSDR module connections

The following schematic diagram shows the connections between the FE board and the dSDR module.

fe dsdr connection diagram

Breakout board connections

The following schematic diagram shows the connections between the BreakOut board and the dSDR module.

breakout board dsdr connection diagram

JTAG programming

An installed module(sSDR or dSDR) can be programmed via JTAG using the dedicated 6-pin JTAG header on the FE or BREAKOUT boards.

You can use Digilent HS1 or Digilent HS2 adapters among with openFPGALoader tool for JTAG programming. Compatible adapters might work, please refer to their documentation for pinout details.

The following image shows how to connect the JTAG adapter to the board properly.

JTAG connection

The pinout of the JTAG header is as follows(from left to right):

  • 1 - TMS - Test Mode Select

  • 2 - TDI - Test Data In

  • 3 - TDO - Test Data Out

  • 4 - TCK - Test Clock

  • 5 - GND - Ground

  • 6 - VDD - Power supply

Clocks and synchronization

There are two clock domains on the FE board:

  • REFCLK: Reference clock used for phase synchronization and RF frequency calibration.

  • SYSREF: Event synchronization: start, stop, and other control signals.

The FE board can use different clock sources:

  • On-board crystal oscillator.

  • GPS synchronization using the on-board GPS module.

sSDR wiring

  • REF+ to SYSREF+.

  • REF- to SYSREF-.

  • 1PPS_OUT to 1PPS_SYN.

The following diagram shows the clock and synchronization wiring when using the sSDR module.

fe ssdr clocks and synchronization block diagram

dSDR wiring

  • REF+ to REFCLK_SE.

  • 1PPS_OUT to 1PPS_SYN.

  • Connect FPC connector on the FE board(marked as IO on the schema above) to the FPC connector on the dSDR module.

The following diagram shows the clock and synchronization wiring when using the dSDR module.

fe dsdr clocks and synchronization block diagram

RF distribution

fe sdr rf distribution block diagram

Note

The diagram above shows the RF distribution for one pair of RX/TX channels.
The rest of the channels are connected in the same way.

sSDR module

For sSDR, the RF distribution should be connected as follows:

  • RXA to sSDR RX A.

  • RXB to sSDR RX B.

  • TXA to sSDR TX A.

  • TXB to sSDR TX B.

Note

sSDR only has 2 RX and 2 TX channels, so only the first two pairs are used.

dSDR module

For dSDR, the RF distribution should be connected as follows:

  • RXA to dSDR RX A.

  • RXB to dSDR RX B.

  • RXC to dSDR RX C.

  • RXD to dSDR RX D.

  • TXA to dSDR TX A.

  • TXB to dSDR TX B.

  • TXC to dSDR TX C.

  • TXD to dSDR TX D.

Calibration

The loopback mode is possible for each TX/RX pair for calibration purposes.

RF frontend control

Note

In order to control the frontend from software, you need to use the usdr_registers tool.
Please refer to the usdr_registers tool.

exfe10_4ch_usr

This section describes the main register map for controlling the FE front-end. Using controls on this page, you can switch filters, set attenuators, select antenna paths, and enable/disable channels.

fe control registers

FE control registers

    • RX_FILTER_BANK/A - RX filter bank selector for channel A

    • Options:

      • FILT_50_1000M - RX filter 50-1000 MHz

      • FILT_1000_2000M - RX filter 1000-2000 MHz

      • FILT_2000_3500M - RX filter 2000-3500 MHz

      • FILT_2500_5000M - RX filter 2500-5000 MHz

      • FILT_3500_7100M - RX filter 3500-7100 MHz

      • AUTO_50_1000M - Sets filter automatically by LO frequency / Shows selected filter when in AUTO mode

      • AUTO_1000_2000M - Sets filter automatically by LO frequency / Shows selected filter when in AUTO mode

      • AUTO_2000_3500M - Sets filter automatically by LO frequency / Shows selected filter when in AUTO mode

      • AUTO_2500_5000M - Sets filter automatically by LO frequency / Shows selected filter when in AUTO mode

      • AUTO_3500_7100M - Sets filter automatically by LO frequency / Shows selected filter when in AUTO mode

    • RX_FILTER_BANK/B - RX filter bank selector for channel B

    • Options: same as channel A

    • RX_FILTER_BANK/C - RX filter bank selector for channel C

    • Options: same as channel A

    • RX_FILTER_BANK/D - RX filter bank selector for channel D

    • Options: same as channel A

    • RX_ATTN/A - RX attenuator setting (dB) for channel A

    • RX_ATTN/B - RX attenuator setting (dB) for channel B

    • RX_ATTN/C - RX attenuator setting (dB) for channel C

    • RX_ATTN/D - RX attenuator setting (dB) for channel D

    • ANT_SEL/A - Antenna path selector for channel A

    • Options:

      • RX_TO_RX_AND_TX_TO_TRX - RX to RX path and TX to TRX path

      • RX_TO_TRX_AND_TX_TERM - RX to TRX path and TX terminated

      • RX_TO_RX_AND_TX_TERM - RX to RX path and TX terminated

      • RX_TX_LOOPBACK - RX to TX loopback

      • TDD_DRIVEN_AUTO - Automatic TDD mode

    • ANT_SEL/B - Antenna path selector for channel B

    • Options: same as channel A

    • ANT_SEL/C - Antenna path selector for channel C

    • Options: same as channel A

    • ANT_SEL/D - Antenna path selector for channel D

    • Options: same as channel A

    • RX_CHEN/A - Enable RX channel A

    • RX_CHEN/B - Enable RX channel B

    • RX_CHEN/C - Enable RX channel C

    • RX_CHEN/D - Enable RX channel D

    • TX_CHEN/A - Enable TX channel A

    • TX_CHEN/B - Enable TX channel B

    • TX_CHEN/C - Enable TX channel C

    • TX_CHEN/D - Enable TX channel D

    • TX_2STAGE/A - Enable TX 2nd stage for channel A

    • TX_2STAGE/B - Enable TX 2nd stage for channel B

    • TX_2STAGE/C - Enable TX 2nd stage for channel C

    • TX_2STAGE/D - Enable TX 2nd stage for channel D

exfe10_4ch_exp

This section describes the low level control register map for the FE front-end. Using this page, you can control each hardware component directly.

Warning

The page exposes the low-level hardware controls.
Improper use may lead to unexpected behavior or damage to your hardware.
fe control lowlevel registers

FE control lowlevel registers

    • SW_RX_FILTER/IN_CHA - RX IN filters switch for Channel A

    • Options:

      • MUTE0 - Mute / Disconnected

      • 50_1000M - Input filter bank switch to filter 50-1000 MHz

      • 1000_2000M - Input filter bank switch to filter 1000-2000 MHz

      • 2000_3500M - Input filter bank switch to filter 2000-3500 MHz

      • 2500_5000M - Input filter bank switch to filter 2500-5000 MHz

      • 3500_7100M - Input filter bank switch to filter 3500-7100 MHz

      • MUTE1 - Mute / Disconnected

      • MUTE2 - Mute / Disconnected

    • SW_RX_FILTER/OUT_CHA - RX OUT filters switch for Channel A

    • Options:

      • MUTE0 - Mute / Disconnected

      • 50_1000M - Output filter bank switch to filter 50-1000 MHz

      • 1000_2000M - Output filter bank switch to filter 1000-2000 MHz

      • 2000_3500M - Output filter bank switch to filter 2000-3500 MHz

      • 2500_5000M - Output filter bank switch to filter 2500-5000 MHz

      • 3500_7100M - Output filter bank switch to filter 3500-7100 MHz

      • MUTE1 - Mute / Disconnected

      • MUTE2 - Mute / Disconnected

    • SW_RX_FILTER/IN_CHB - RX IN filters switch for Channel B

    • Options: same as Channel A

    • SW_RX_FILTER/OUT_CHB - RX OUT filters switch for Channel B

    • Options: same as Channel A

    • SW_RX_FILTER/IN_CHC - RX IN filters switch for Channel C

    • Options: same as Channel A

    • SW_RX_FILTER/OUT_CHC - RX OUT filters switch for Channel C

    • Options: same as Channel A

    • SW_RX_FILTER/IN_CHD - RX IN filters switch for Channel D

    • Options: same as Channel A

    • SW_RX_FILTER/OUT_CHD - RX OUT filters switch for Channel D

    • Options: same as Channel A

    • ENABLE/IF_VBYP - IF bypass control

    • ENABLE/REF_GPS - Enable GPS module

    • ENABLE/P8V_TX - Enable +8V power supply for TX amps

    • ENABLE/P6V_RX - Enable +6V power supply for RX amps

    • ENABLE/PA_BYPASS_CHD - Stage-2 PA bypass, channel D

    • ENABLE/PA_BYPASS_CHC - Stage-2 PA bypass, channel C

    • ENABLE/PA_BYPASS_CHB - Stage-2 PA bypass, channel B

    • ENABLE/PA_BYPASS_CHA - Stage-2 PA bypass, channel A

    • LED_TRX_CTRL/LED_CHA - LED TX/RX control for Channel A

    • LED_TRX_CTRL/LED_CHB - LED TX/RX control for Channel B

    • LED_TRX_CTRL/LED_CHC - LED TX/RX control for Channel C

    • LED_TRX_CTRL/LED_CHD - LED TX/RX control for Channel D

    • LEDRX_CH_CTRL/EN_CHA - Enable LED CHA

    • LEDRX_CH_CTRL/EN_CHB - Enable LED CHB

    • LEDRX_CH_CTRL/EN_CHC - Enable LED CHC

    • LEDRX_CH_CTRL/EN_CHD - Enable LED CHD

    • LEDRX_CH_CTRL/LED_CHA - LED CHA indicator

    • LEDRX_CH_CTRL/LED_CHB - LED CHB indicator

    • LEDRX_CH_CTRL/LED_CHC - LED CHC indicator

    • LEDRX_CH_CTRL/LED_CHD - LED CHD indicator

    • P_A_EN_AB/B - Enable CHB (PA enable AB)

    • P_A_EN_AB/A - Enable CHA (PA enable AB)

    • ATTN_RX_CH_AB/B - Attenuator CHB

    • ATTN_RX_CH_AB/A - Attenuator CHA

    • SW_AB/TDDFDD_A - TDD/FDD control bits (A)

    • SW_AB/TDDFDD_B - TDD/FDD control bits (B)

    • SW_AB/PA_ON_A - PA on control for A

    • SW_AB/PA_ON_B - PA on control for B

    • SW_AB/RXTX_A - RX/TX switch control for A

    • SW_AB/RXTX_B - RX/TX switch control for B

    • P_A_EN_CD/D - Enable CHD (PA enable CD)

    • P_A_EN_CD/C - Enable CHC (PA enable CD)

    • ATTN_RX_CH_CD/D - Attenuator CHD

    • ATTN_RX_CH_CD/C - Attenuator CHC

    • SW_CD/TDDFDD_C - TDD/FDD control bits (C)

    • SW_CD/TDDFDD_D - TDD/FDD control bits (D)

    • SW_CD/PA_ON_C - PA on control for C

    • SW_CD/PA_ON_D - PA on control for D

    • SW_CD/RXTX_C - RX/TX switch control for C

    • SW_CD/RXTX_D - RX/TX switch control for D

Measurements

This section contains measurements for the RF paths on the FE board.

rx 50-1000mhz, 0db attenuation measurement

Parameters of RX path with 50-1000MHz filter at 0dB attenuation

rx 50-1000mhz, 7db attenuation measurement

Parameters of RX path with 50-1000MHz filter at 7dB attenuation

rx 50-1000mhz, 11db attenuation measurement

Parameters of RX path with 50-1000MHz filter at 11dB attenuation

rx 50-1000mhz, 13db attenuation measurement

Parameters of RX path with 50-1000MHz filter at 13dB attenuation

rx 50-1000mhz, 14db attenuation measurement

Parameters of RX path with 50-1000MHz filter at 14dB attenuation

rx 50-1000mhz, 15db attenuation measurement

Parameters of RX path with 50-1000MHz filter at 15dB attenuation

rx 1000-2000mhz, 0db attenuation measurement

Parameters of RX path with 1000-2000MHz filter

rx 2000-3500mhz

Parameters of RX path with 2000-3500MHz filter

rx 2500-5000mhz

Parameters of RX path with 2500-5000MHz filter

rx 3500-7100mhz

Parameters of RX path with 3500-7100MHz filter

filters overlapping

Filters overlapping characteristics

attenuation rxa 50-1000mhz

Attenuation characteristics for RX channel A with 50-1000MHz filter

attenuation rxb 50-1000mhz

Attenuation characteristics for RX channel B with 50-1000MHz filter

attenuation rxc 50-1000mhz

Attenuation characteristics for RX channel C with 50-1000MHz filter

attenuation rxd 50-1000mhz

Attenuation characteristics for RX channel D with 50-1000MHz filter

trx measurement

Parameters of TX path

trx 2stage measurement

Parameters of TX path with 2-stage PA

loopback measurements

Parameters of LOOPBACK path with different attenuation levels

Software

Caution

A newer version of software is required!

- Build the software from source using feature_pe_sync branch.
- Install the SoapySDR plugin.
- Once everything is installed, open any SoapySDR-compatible app like CubicSDR select the SDR device, keep parameters as it is, only make sure that the sample rate is not less than 8MHz, and you can begin tuning frequencies and viewing the RF spectrum. Or you can test with usdr_dm_create tool.

In order to use FE, you can use the usdr_dm_create utility to receive or transmit data.

The following example creates a raw IQ data file with a sample rate of 10 MSamples per second per channel, a center frequency of 1700 MHz, using all 4 RX channels:

usdr_dm_create -D -r10e6 -l3 -e1700e6 -c -1 -f output.raw

The software stack supports the SoapySDR interface, so you can use any compatible application.