Project

General

Profile

LimeSDR

The LimeSDR is a low-cost SDR board featuring the Lime Microsystems LMS7002 RF chip.

Key characteristics include:
  • RF Transceiver: Lime Microsystems LMS7002M MIMO FPRF
  • FPGA: Altera Cyclone IV EP4CE40F23 – also compatible with EP4CE30F23
  • Memory: 256 MBytes DDR2 SDRAM
  • USB 3.0 controller: Cypress USB 3.0 CYUSB3014-BZXC
  • Oscillator: Rakon RPT7050A @ 30.72MHz
  • Continuous frequency range: 100 kHz – 3.8 GHz
  • Bandwidth: 61.44 MHz
  • RF connection: 10 U.FL connectors (6 RX, 4 TX)
  • Power Output (CW): up to 10 dBm
  • Multiplexing: 2×2 MIMO
  • Power: micro USB connector or optional external power supply
  • Status indicators: programmable LEDs
  • Dimensions: 100 mm x 60 mm

RF Output Power

TBD

Clock

The on-board clock is a 250ppb VCTCXO. GSM strictly requires 30ppb, but 250ppb should be sufficient for laboratory use.

Clock Calibration

TBD

Using external clock reference

TBD

LimeSDR Mini

The LimeSDR Mini is a smaller, less expensive version of the original LimeSDR.

Key characteristics include:
  • RF Transceiver: Lime Microsystems LMS7002M FPRF
  • FPGA: Altera MAX 10 (10M16SAU169C8G)
  • EEPROM memory: 2 x 128 KB for RF transciever MCU firmware and data
  • Flash memory: 1 x 4 MB flash memory for data
  • USB 3.0 controller: FTDI FT601
  • Rakon 30.72 MHz VCTCXO
  • Continuous frequency range: 10 MHz – 3.5 GHz
  • Bandwidth: 30.72 MHz
  • RF Connection: 2 x SMA connectors (each can be switched between high and low frequency bands) + 1x U.FL REF CLK
  • Power Output (CW): up to 10 dBm
  • Dimensions: 69 mm x 31.4 mm

RF Output Power

TBD

LimeSDR PCIe

TBD

OsmoTRX on LimeSDR

In terms of OsmoTRX support, you will find a relatively complex driver stack consisting of:
  • LimeSuite containing the actual drivers and utilities for LimeSDR (version 17.09 or later required)
    • for LimeSDR-mini, you will need 17.10 or later
  • SoapySDR as middleware that wraps LimeSuite
  • SoapyUHD as plug-in exposing SoapySDR devices to UHD
  • UHD as the driver interface below OsmoTRX

You will need to observe the following dependencies when building the above:
  1. SoapyUHD depends on SoapySDR
  2. LimeSuite depends on SoapySDR.

Verifying the driver stack

You can ensure that LimeSuite recognizes your device using the LimeUtil part of LimeSuite:

$ LimeUtil --find
  * [LimeSDR-USB, media=USB 3.0, module=STREAM, addr=1d50:6108, serial=0009060B00xxyyzz]

You can ensure that SoapySDR and LimeSuite work together as expected using the SoapySDRUtil part of SoapySDR:

$ ./SoapySDRUtil --find
######################################################
## Soapy SDR -- the SDR abstraction library
######################################################

linux; GNU C++ version 6.3.0 20170221; Boost_106200; UHD_003.009.005-0-unknown

Found device 0
  addr = 1d50:6108
  driver = lime
  label = LimeSDR-USB [USB 3.0] 9060B00462B1C
  media = USB 3.0
  module = STREAM
  name = LimeSDR-USB
  serial = 0009060B00xxyyzz

Troubleshooting

Firmware upgrade

If you see UHD warnings regarding version mismatch, follow the steps as explained in the same output, basically run LimeUtil --update. It will download the latest firmware into $HOME/.local/share/LimeSuite/images/ and flash the device.

-- Make connection: 'LimeSDR-USB [USB 2.0] 9060B00471827'

UHD Warning:
    Firmware version mismatch!
      Expected firmware version 4, but found version 3
      Follow the FW and FPGA upgrade instructions:
      http://wiki.myriadrf.org/Lime_Suite#Flashing_images
      Or run update on the command line: LimeUtil --update

UHD Warning:
    Gateware version mismatch!
      Expected gateware version 2, revision 12
      But found version 2, revision 8
      Follow the FW and FPGA upgrade instructions:
      http://wiki.myriadrf.org/Lime_Suite#Flashing_images
      Or run update on the command line: LimeUtil --update
-- Reference clock 30.720 MHz
-- Device name: LimeSDR-USB
-- Reference: 30.72 MHz
-- Init LMS7002M(0)
-- Ver=7, Rev=1, Mask=1
-- LMS7002M calibration values caching Disable

Channel setting failed

If at osmo-trx startup time UHD fails with an alert similar to the one below, it means you forgot to specify the correct samples-per-symbol for both Tx and Rx, which in the case of LimeSDR is 4.

ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device

ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device
Shutting down transceiver...

You need to pass the correct parameters to osmo-trx:
  • -s Tx samples-per-symbol (1 or 4)
  • -b Rx samples-per-symbol (1 or 4)
    osmo-trx -s 4 -b 4
    

Other LimeSDR related information

Add picture from clipboard (Maximum size: 48.8 MB)