LimeSDR Family » History » Version 52
roh, 10/04/2019 04:01 PM
1 | 1 | laforge | {{>toc}} |
---|---|---|---|
2 | |||
3 | 51 | laforge | This page contains information about using LimeSDR family devices from Lime Microsystems together with Osmocom software. |
4 | |||
5 | 30 | pespin | h1. LimeSDR USB |
6 | 1 | laforge | |
7 | 4 | laforge | The "LimeSDR":https://myriadrf.org/projects/limesdr/ is a low-cost SDR board featuring the Lime Microsystems LMS7002 RF chip. |
8 | |||
9 | 20 | laforge | !{width:700px}LimeSDR_transp_3.jpg! |
10 | |||
11 | 4 | laforge | Key characteristics include: |
12 | * RF Transceiver: Lime Microsystems LMS7002M MIMO FPRF |
||
13 | * FPGA: Altera Cyclone IV EP4CE40F23 – also compatible with EP4CE30F23 |
||
14 | 6 | ahuemer | * Memory: 256 MBytes DDR2 SDRAM |
15 | 4 | laforge | * USB 3.0 controller: Cypress USB 3.0 CYUSB3014-BZXC |
16 | * Oscillator: Rakon RPT7050A @ 30.72MHz |
||
17 | * Continuous frequency range: 100 kHz – 3.8 GHz |
||
18 | * Bandwidth: 61.44 MHz |
||
19 | * RF connection: 10 U.FL connectors (6 RX, 4 TX) |
||
20 | * Power Output (CW): up to 10 dBm |
||
21 | * Multiplexing: 2×2 MIMO |
||
22 | * Power: micro USB connector or optional external power supply |
||
23 | * Status indicators: programmable LEDs |
||
24 | * Dimensions: 100 mm x 60 mm |
||
25 | 1 | laforge | |
26 | 3 | laforge | h2. RF Output Power |
27 | |||
28 | 39 | roh | * +11dB in gsm900 (arfcn 5) |
29 | * +3dB in dcs1800 (arfcn 871) |
||
30 | |||
31 | 42 | roh | 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). |
32 | 39 | roh | |
33 | 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 |
||
34 | 1 | laforge | |
35 | h2. Clock |
||
36 | |||
37 | The on-board clock is a 250ppb VCTCXO. GSM strictly requires 30ppb, but 250ppb _should_ be sufficient for laboratory use. |
||
38 | |||
39 | h3. Using external clock reference |
||
40 | |||
41 | 41 | roh | using "clock-ref external" the clock-ref input can be fed with a 10MHz clock from e.g. a gpsdo. |
42 | the signal slope is not really important since there is a full pll which can handle sine as well as rectangle signals. |
||
43 | |||
44 | the internal clock reference should be fine for short testing in the lab(<30min) but is not stable enough for longterm use. |
||
45 | 1 | laforge | |
46 | 19 | pespin | h1. LimeSDR Mini |
47 | |||
48 | The "LimeSDR Mini":https://myriadrf.org/projects/limesdr/ is a smaller, less expensive version of the original LimeSDR. |
||
49 | |||
50 | 22 | laforge | !{width:600px}limesdr-mini-1024x561.jpg! |
51 | |||
52 | 19 | pespin | Key characteristics include: |
53 | * RF Transceiver: Lime Microsystems LMS7002M FPRF |
||
54 | * FPGA: Altera MAX 10 (10M16SAU169C8G) |
||
55 | * EEPROM memory: 2 x 128 KB for RF transciever MCU firmware and data |
||
56 | * Flash memory: 1 x 4 MB flash memory for data |
||
57 | * USB 3.0 controller: FTDI FT601 |
||
58 | * Rakon 30.72 MHz VCTCXO |
||
59 | * Continuous frequency range: 10 MHz – 3.5 GHz |
||
60 | * Bandwidth: 30.72 MHz |
||
61 | * RF Connection: 2 x SMA connectors (each can be switched between high and low frequency bands) + 1x U.FL REF CLK |
||
62 | * Power Output (CW): up to 10 dBm |
||
63 | * Dimensions: 69 mm x 31.4 mm |
||
64 | |||
65 | h2. RF Output Power |
||
66 | |||
67 | 40 | roh | * +3dB in gsm900 (arfcn 5) |
68 | 1 | laforge | * -12dB in dcs1800 (arfcn 871) |
69 | |||
70 | h2. Clock |
||
71 | |||
72 | 44 | roh | the 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). |
73 | |||
74 | h3. Using external clock reference |
||
75 | |||
76 | 1 | laforge | providing an external clock is tricky: |
77 | according to the spec from the clockchip used (ti LMK00105) the input signal needs to have "sharp rectangles 2V/ns or better". |
||
78 | this is a limitation of the LimeSDR mini due to no extra pll chip being present, in contrast to the LimeSDR-USB. |
||
79 | 44 | roh | |
80 | h2. Notes |
||
81 | |||
82 | 50 | laforge | Due to some yet unknown issue with the usb bridge chip used on limesdr mini, some machines have issues getting a reliable usb connection and loose an extreme amount of USB packets. Since the extra bandwith of USB3 is not necessary for normal use of osmo-trx-lms, a *simple work-around is to force the device down to USB2*. This can be done easily by selecting a port which does not have a USB3 socket or use a USB2 only cable/extension to connect the device. |
83 | 37 | roh | |
84 | 50 | laforge | The board also gets quite warm and can make good use of an extra fan and/or some heatsinks. |
85 | it also takes 800-1000mA of current from the USB socket, so using a 'Y cable' to feed it can help with stability. issues. |
||
86 | 45 | roh | |
87 | 35 | roh | h1. LimeNet Micro |
88 | 21 | laforge | |
89 | 35 | roh | !{width:700px}640px-LimeSDR-Micro_v2.1_board.png! |
90 | 21 | laforge | |
91 | 36 | roh | LimeNet Micro is a small all-in-one board combining the sdr, a gpsdo and some rf filters with a raspberry pi compute module3. |
92 | Due to the integrated gpsdo it should have no problems running tdma networks like gsm. |
||
93 | |||
94 | 47 | roh | there are different board variants of which some provide internal diplexers, poe pd, wifi module, hdmi and audio sockets. |
95 | our tests happened with a poe enabled variant without wifi, no diplexers. |
||
96 | |||
97 | 36 | roh | setup: install default raspbian (see getting started link below) and osmocom latest or nightly feeds. |
98 | config: use LNAL or LNAH for rx-path, BAND1 for tx |
||
99 | |||
100 | h2. RF Output Power |
||
101 | |||
102 | * +7dB in gsm900 (arfcn 5) |
||
103 | * -5dB in dcs1800 (arfcn 871) |
||
104 | |||
105 | 52 | roh | in dcs1800 a reduction in rx power improves phase noise (e.g. max_power_red 2). the resulting rf output will be around -7dB, but will meet phase noise requirements (<5°rms). |
106 | |||
107 | 36 | roh | h2. Clock |
108 | |||
109 | do not select a specific clock on LimeNet Micro. (remove clock-ref line) |
||
110 | when this type of hardware is detected osmo-trx defaults to the gps synchronized clock from the fpga (gpsdo). |
||
111 | see led4/led5 for gps status https://wiki.myriadrf.org/LimeNET-Micro_v2.1_hardware_description#Indication_LEDs |
||
112 | |||
113 | 46 | roh | the external reference clock input socket is currently not supported. |
114 | |||
115 | 36 | roh | h2. further information |
116 | |||
117 | https://wiki.myriadrf.org/LimeNET_Micro |
||
118 | https://wiki.myriadrf.org/Getting_Started_with_the_LimeNET-Micro |
||
119 | https://wiki.myriadrf.org/LimeNET-Micro_v2.1_hardware_description |
||
120 | 1 | laforge | |
121 | 35 | roh | h1. LimeSDR PCIe |
122 | 21 | laforge | |
123 | 35 | roh | !{width:700px}limesdr-pcie-1-1_jpg_project-body.jpg! |
124 | |||
125 | TBD |
||
126 | 34 | roh | |
127 | 48 | roh | currently not supported |
128 | |||
129 | 19 | pespin | h1. OsmoTRX on LimeSDR |
130 | 1 | laforge | |
131 | 32 | pespin | 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: |
132 | * "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) |
||
133 | ** for LimeSDR-mini, you will need 17.10 or later (last release @18.06.0@ or @master@ really advised) |
||
134 | 1 | laforge | |
135 | 32 | pespin | 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]]. |
136 | |||
137 | |||
138 | 1 | laforge | {{graphviz_link() |
139 | 5 | laforge | digraph G{ |
140 | rankdir = LR; |
||
141 | 29 | laforge | LimeSDR -> LimeSuite [label = "USB/libusb"]; |
142 | 5 | laforge | LimeSuite -> OsmoTRX [label = "osmo-trx-lms"]; |
143 | } |
||
144 | 1 | laforge | }} |
145 | |||
146 | h3. Verifying the driver stack |
||
147 | |||
148 | You can ensure that LimeSuite recognizes your device using the *LimeUtil* part of LimeSuite: |
||
149 | |||
150 | <pre> |
||
151 | 18 | pespin | $ LimeUtil --find |
152 | * [LimeSDR-USB, media=USB 3.0, module=STREAM, addr=1d50:6108, serial=0009060B00xxyyzz] |
||
153 | </pre> |
||
154 | 27 | laforge | |
155 | 31 | pespin | h3. Running osmo-trx-lms with LimeSDR |
156 | |||
157 | 33 | pespin | If @rt-prio@ is set in .cfg file, running as root may be required. |
158 | 31 | pespin | |
159 | 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@. |
||
160 | |||
161 | <pre> |
||
162 | osmo-trx-lms -C osmo-trx.git/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg |
||
163 | </pre> |
||
164 | |||
165 | 27 | laforge | h2. Other LimeSDR related information |
166 | |||
167 | {{child_pages()}} |