Project

General

Profile

LimeSDR Family » History » Version 28

laforge, 08/17/2018 02:18 PM
remove paragraph about SoapySDR, as it's no longer needed

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
103 18 pespin
h2. Troubleshooting
104
105
h3. Firmware upgrade
106
107 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.
108 18 pespin
<pre>
109
-- Make connection: 'LimeSDR-USB [USB 2.0] 9060B00471827'
110
111
UHD Warning:
112
    Firmware version mismatch!
113
      Expected firmware version 4, but found version 3
114
      Follow the FW and FPGA upgrade instructions:
115
      http://wiki.myriadrf.org/Lime_Suite#Flashing_images
116
      Or run update on the command line: LimeUtil --update
117
118
UHD Warning:
119
    Gateware version mismatch!
120
      Expected gateware version 2, revision 12
121
      But found version 2, revision 8
122
      Follow the FW and FPGA upgrade instructions:
123
      http://wiki.myriadrf.org/Lime_Suite#Flashing_images
124
      Or run update on the command line: LimeUtil --update
125
-- Reference clock 30.720 MHz
126
-- Device name: LimeSDR-USB
127
-- Reference: 30.72 MHz
128
-- Init LMS7002M(0)
129
-- Ver=7, Rev=1, Mask=1
130
-- LMS7002M calibration values caching Disable
131
</pre>
132
133
h3. Channel setting failed
134
135
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.
136
<pre>
137
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at
138
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at
139
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device
140
141
ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device
142
Shutting down transceiver...
143
</pre>
144
145
You need to pass the correct parameters to osmo-trx:
146
* -s    Tx samples-per-symbol (1 or 4)
147
* -b    Rx samples-per-symbol (1 or 4)
148
<pre>
149
osmo-trx -s 4 -b 4
150
</pre>
151 27 laforge
152
h2. Other LimeSDR related information
153
154
{{child_pages()}}
Add picture from clipboard (Maximum size: 48.8 MB)