Project

General

Profile

LimeSDR Family » History » Version 27

laforge, 06/13/2018 02:14 PM

1 1 laforge
{{>toc}}
2
3
h1. LimeSDR
4
5 4 laforge
The "LimeSDR":https://myriadrf.org/projects/limesdr/ is a low-cost SDR board featuring the Lime Microsystems LMS7002 RF chip.
6
7 20 laforge
!{width:700px}LimeSDR_transp_3.jpg!
8
9 4 laforge
Key characteristics include:
10
* RF Transceiver: Lime Microsystems LMS7002M MIMO FPRF
11
* FPGA: Altera Cyclone IV EP4CE40F23 – also compatible with EP4CE30F23
12 6 ahuemer
* Memory: 256 MBytes DDR2 SDRAM
13 4 laforge
* USB 3.0 controller: Cypress USB 3.0 CYUSB3014-BZXC
14
* Oscillator: Rakon RPT7050A @ 30.72MHz
15
* Continuous frequency range: 100 kHz – 3.8 GHz
16
* Bandwidth: 61.44 MHz
17
* RF connection: 10 U.FL connectors (6 RX, 4 TX)
18
* Power Output (CW): up to 10 dBm
19
* Multiplexing: 2×2 MIMO
20
* Power: micro USB connector or optional external power supply
21
* Status indicators: programmable LEDs
22
* Dimensions: 100 mm x 60 mm
23 1 laforge
24 3 laforge
h2. RF Output Power
25
26
TBD
27 1 laforge
28
h2. Clock
29
30
The on-board clock is a 250ppb VCTCXO.  GSM strictly requires 30ppb, but 250ppb _should_  be sufficient for laboratory use.
31
32
h3. Clock Calibration
33
34
TBD
35
36
h3. Using external clock reference
37
38
TBD
39
40 19 pespin
h1. LimeSDR Mini
41
42
The "LimeSDR Mini":https://myriadrf.org/projects/limesdr/ is a smaller, less expensive version of the original LimeSDR.
43
44 22 laforge
!{width:600px}limesdr-mini-1024x561.jpg!
45
46 19 pespin
Key characteristics include:
47
* RF Transceiver: Lime Microsystems LMS7002M FPRF
48
* FPGA: Altera MAX 10 (10M16SAU169C8G)
49
* EEPROM memory: 2 x 128 KB for RF transciever MCU firmware and data
50
* Flash memory: 1 x 4 MB flash memory for data
51
* USB 3.0 controller: FTDI FT601
52
* Rakon 30.72 MHz VCTCXO
53
* Continuous frequency range: 10 MHz – 3.5 GHz
54
* Bandwidth: 30.72 MHz
55
* RF Connection: 2 x SMA connectors (each can be switched between high and low frequency bands) + 1x U.FL REF CLK
56
* Power Output (CW): up to 10 dBm
57
* Dimensions: 69 mm x 31.4 mm
58
59
h2. RF Output Power
60
61
TBD
62
63 21 laforge
h1. LimeSDR PCIe
64
65
!{width:700px}limesdr-pcie-1-1_jpg_project-body.jpg!
66
67
TBD
68
69 19 pespin
h1. OsmoTRX on LimeSDR
70 1 laforge
71 16 pespin
In terms of OsmoTRX support, you will find a relatively complex driver stack consisting of:
72 15 laforge
* "LimeSuite":https://github.com/myriadrf/LimeSuite.git containing the actual drivers and utilities for LimeSDR (*version 17.09 or later required*)
73 17 laforge
** for LimeSDR-mini, you will need 17.10 or later
74 1 laforge
* "SoapySDR":https://github.com/pothosware/SoapySDR.git as middleware that wraps LimeSuite
75
* "SoapyUHD":https://github.com/pothosware/SoapyUHD.git as plug-in exposing SoapySDR devices to UHD
76
* UHD as the driver interface below OsmoTRX
77
78 5 laforge
{{graphviz_link()
79
digraph G{
80
  rankdir = LR;
81
  LimeSDR -> LimeSuite [label = "USB/libusb"];
82
  LimeSuite -> SoapySDR;
83
  SoapySDR -> UHD [label = "SoapyUHD"];
84
  UHD -> OsmoTRX [label = "libuhd"];
85
}
86
}}
87
88
89 1 laforge
You will need to observe the following dependencies when building the above:
90
# SoapyUHD depends on SoapySDR
91
# LimeSuite depends on SoapySDR.
92
93
h3. Verifying the driver stack
94
95
You can ensure that LimeSuite recognizes your device using the *LimeUtil* part of LimeSuite:
96
97
<pre>
98 12 laforge
$ LimeUtil --find
99 1 laforge
  * [LimeSDR-USB, media=USB 3.0, module=STREAM, addr=1d50:6108, serial=0009060B00xxyyzz]
100
</pre>
101
102
You can ensure that SoapySDR and LimeSuite work together as expected using the *SoapySDRUtil* part of SoapySDR:
103
104
<pre>
105 12 laforge
$ ./SoapySDRUtil --find
106 1 laforge
######################################################
107
## Soapy SDR -- the SDR abstraction library
108
######################################################
109
110
linux; GNU C++ version 6.3.0 20170221; Boost_106200; UHD_003.009.005-0-unknown
111
112
Found device 0
113
  addr = 1d50:6108
114
  driver = lime
115
  label = LimeSDR-USB [USB 3.0] 9060B00462B1C
116
  media = USB 3.0
117
  module = STREAM
118
  name = LimeSDR-USB
119
  serial = 0009060B00xxyyzz
120
</pre>
121
122 18 pespin
h2. Troubleshooting
123
124
h3. Firmware upgrade
125
126 25 laforge
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.
127 18 pespin
<pre>
128
-- Make connection: 'LimeSDR-USB [USB 2.0] 9060B00471827'
129
130
UHD Warning:
131
    Firmware version mismatch!
132
      Expected firmware version 4, but found version 3
133
      Follow the FW and FPGA upgrade instructions:
134
      http://wiki.myriadrf.org/Lime_Suite#Flashing_images
135
      Or run update on the command line: LimeUtil --update
136
137
UHD Warning:
138
    Gateware version mismatch!
139
      Expected gateware version 2, revision 12
140
      But found version 2, revision 8
141
      Follow the FW and FPGA upgrade instructions:
142
      http://wiki.myriadrf.org/Lime_Suite#Flashing_images
143
      Or run update on the command line: LimeUtil --update
144
-- Reference clock 30.720 MHz
145
-- Device name: LimeSDR-USB
146
-- Reference: 30.72 MHz
147
-- Init LMS7002M(0)
148
-- Ver=7, Rev=1, Mask=1
149
-- LMS7002M calibration values caching Disable
150
</pre>
151
152
h3. Channel setting failed
153
154
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.
155
<pre>
156
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at
157
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at
158
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device
159
160
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device
161
Shutting down transceiver...
162
</pre>
163
164
You need to pass the correct parameters to osmo-trx:
165
* -s    Tx samples-per-symbol (1 or 4)
166
* -b    Rx samples-per-symbol (1 or 4)
167
<pre>
168
osmo-trx -s 4 -b 4
169
</pre>
170 27 laforge
171
h2. Other LimeSDR related information
172
173
{{child_pages()}}
Add picture from clipboard (Maximum size: 48.8 MB)