LimeSDR Family » History » Revision 43
Revision 42 (roh, 10/01/2019 02:57 PM) → Revision 43/52 (roh, 10/01/2019 03:06 PM)
{{>toc}}
h1. LimeSDR USB
The "LimeSDR":https://myriadrf.org/projects/limesdr/ is a low-cost SDR board featuring the Lime Microsystems LMS7002 RF chip.
!{width:700px}LimeSDR_transp_3.jpg!
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
h2. RF Output Power
* +11dB in gsm900 (arfcn 5)
* +3dB in dcs1800 (arfcn 871)
in dcs1800 a reduction in rx power improves phase noise (e.g. max_power_red 7). the resulting rf output will be around -6dB, but will meet phase noise requirements (<5°rms).
there is a graph from myriad showing the power vs frequency plot in this thread: https://discourse.myriadrf.org/t/limesdr-s-maximum-transmitting-power-at-different-frequencies/1649
h2. Clock
The on-board clock is a 250ppb VCTCXO. GSM strictly requires 30ppb, but 250ppb _should_ be sufficient for laboratory use.
h3. Clock Calibration
TBD
h3. Using external clock reference
using "clock-ref external" the clock-ref input can be fed with a 10MHz clock from e.g. a gpsdo.
the signal slope is not really important since there is a full pll which can handle sine as well as rectangle signals.
the internal clock reference should be fine for short testing in the lab(<30min) but is not stable enough for longterm use.
h1. LimeSDR Mini
The "LimeSDR Mini":https://myriadrf.org/projects/limesdr/ is a smaller, less expensive version of the original LimeSDR.
!{width:600px}limesdr-mini-1024x561.jpg!
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
h2. RF Output Power
* +3dB in gsm900 (arfcn 5)
* -12dB in dcs1800 (arfcn 871)
in dcs1800 a reduction in rx power improves phase noise (e.g. max_power_red 5)
h2. Clock
internal clock is ok, but not stable enough (longterm) to run a gsm network. for short term lab use it should be ok. (few minutes).
providing an external clock is tricky:
according to the spec from the clockchip used (ti LMK00105) the input signal needs to have "sharp rectangles 2V/ns or better".
this is a limitation of the LimeSDR mini due to no extra pll chip being present, in contrast to the LimeSDR-USB.
h1. LimeNet Micro
!{width:700px}640px-LimeSDR-Micro_v2.1_board.png!
LimeNet Micro is a small all-in-one board combining the sdr, a gpsdo and some rf filters with a raspberry pi compute module3.
Due to the integrated gpsdo it should have no problems running tdma networks like gsm.
setup: install default raspbian (see getting started link below) and osmocom latest or nightly feeds.
config: use LNAL or LNAH for rx-path, BAND1 for tx
h2. RF Output Power
* +7dB in gsm900 (arfcn 5)
* -5dB in dcs1800 (arfcn 871)
in dcs1800 a reduction in rx power improves phase noise (e.g. max_power_red 5)
h2. Clock
do not select a specific clock on LimeNet Micro. (remove clock-ref line)
when this type of hardware is detected osmo-trx defaults to the gps synchronized clock from the fpga (gpsdo).
see led4/led5 for gps status https://wiki.myriadrf.org/LimeNET-Micro_v2.1_hardware_description#Indication_LEDs
h2. further information
https://wiki.myriadrf.org/LimeNET_Micro
https://wiki.myriadrf.org/Getting_Started_with_the_LimeNET-Micro
https://wiki.myriadrf.org/LimeNET-Micro_v2.1_hardware_description
h1. LimeSDR PCIe
!{width:700px}limesdr-pcie-1-1_jpg_project-body.jpg!
TBD
h1. OsmoTRX on LimeSDR
In terms of OsmoTRX for LimeSDR, we now have @osmo-trx-lms@ which avoids the previously complex driver stack with UHD, SoapyUHD, SoapySDR, etc. All you need in terms of specific dependencies is:
* "LimeSuite":https://github.com/myriadrf/LimeSuite.git containing the actual drivers and utilities for LimeSDR (*version 17.09 or later required*, last release @18.06.0@ or @master@ really advised)
** for LimeSDR-mini, you will need 17.10 or later (last release @18.06.0@ or @master@ really advised)
If your distro doesn't ship with a LimeSuite new enough, it is advised that you install LimeSuite from osmocom repositories, see [[cellular-infrastructure:MacroBinaryPackages]].
{{graphviz_link()
digraph G{
rankdir = LR;
LimeSDR -> LimeSuite [label = "USB/libusb"];
LimeSuite -> OsmoTRX [label = "osmo-trx-lms"];
}
}}
h3. Verifying the driver stack
You can ensure that LimeSuite recognizes your device using the *LimeUtil* part of LimeSuite:
<pre>
$ LimeUtil --find
* [LimeSDR-USB, media=USB 3.0, module=STREAM, addr=1d50:6108, serial=0009060B00xxyyzz]
</pre>
h3. Running osmo-trx-lms with LimeSDR
If @rt-prio@ is set in .cfg file, running as root may be required.
A sample cfg file to run @osmo-trx-lms@ with a LimeSDR device can be found in @osmo-trx.git@ in @doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg@.
<pre>
osmo-trx-lms -C osmo-trx.git/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg
</pre>
h2. Other LimeSDR related information
{{child_pages()}}