LimeSDR Family » History » Version 6
ahuemer, 10/10/2017 06:45 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 | Key characteristics include: |
||
8 | * RF Transceiver: Lime Microsystems LMS7002M MIMO FPRF |
||
9 | * FPGA: Altera Cyclone IV EP4CE40F23 – also compatible with EP4CE30F23 |
||
10 | 6 | ahuemer | * Memory: 256 MBytes DDR2 SDRAM |
11 | 4 | laforge | * USB 3.0 controller: Cypress USB 3.0 CYUSB3014-BZXC |
12 | * Oscillator: Rakon RPT7050A @ 30.72MHz |
||
13 | * Continuous frequency range: 100 kHz – 3.8 GHz |
||
14 | * Bandwidth: 61.44 MHz |
||
15 | * RF connection: 10 U.FL connectors (6 RX, 4 TX) |
||
16 | * Power Output (CW): up to 10 dBm |
||
17 | * Multiplexing: 2×2 MIMO |
||
18 | * Power: micro USB connector or optional external power supply |
||
19 | * Status indicators: programmable LEDs |
||
20 | * Dimensions: 100 mm x 60 mm |
||
21 | 1 | laforge | |
22 | 3 | laforge | h2. RF Output Power |
23 | |||
24 | TBD |
||
25 | 1 | laforge | |
26 | h2. Clock |
||
27 | |||
28 | The on-board clock is a 250ppb VCTCXO. GSM strictly requires 30ppb, but 250ppb _should_ be sufficient for laboratory use. |
||
29 | |||
30 | h3. Clock Calibration |
||
31 | |||
32 | TBD |
||
33 | |||
34 | h3. Using external clock reference |
||
35 | |||
36 | TBD |
||
37 | |||
38 | h2. OsmoTRX on LimeSDR |
||
39 | |||
40 | In terms of OsmoTRX support, you will a relatively complex driver stack consisting of: |
||
41 | 2 | laforge | * "LimeSuite":https://github.com/myriadrf/LimeSuite.git containing the actual drivers and utilities for LimeSDR |
42 | 1 | laforge | * "SoapySDR":https://github.com/pothosware/SoapySDR.git as middleware that wraps LimeSuite |
43 | * "SoapyUHD":https://github.com/pothosware/SoapyUHD.git as plug-in exposing SoapySDR devices to UHD |
||
44 | * UHD as the driver interface below OsmoTRX |
||
45 | |||
46 | 5 | laforge | {{graphviz_link() |
47 | digraph G{ |
||
48 | rankdir = LR; |
||
49 | LimeSDR -> LimeSuite [label = "USB/libusb"]; |
||
50 | LimeSuite -> SoapySDR; |
||
51 | SoapySDR -> UHD [label = "SoapyUHD"]; |
||
52 | UHD -> OsmoTRX [label = "libuhd"]; |
||
53 | } |
||
54 | }} |
||
55 | |||
56 | |||
57 | 1 | laforge | You will need to observe the following dependencies when building the above: |
58 | # SoapyUHD depends on SoapySDR |
||
59 | # LimeSuite depends on SoapySDR. |
||
60 | |||
61 | h3. Verifying the driver stack |
||
62 | |||
63 | You can ensure that LimeSuite recognizes your device using the *LimeUtil* part of LimeSuite: |
||
64 | |||
65 | <pre> |
||
66 | $ LimeUtil --find 109/0/0 |
||
67 | * [LimeSDR-USB, media=USB 3.0, module=STREAM, addr=1d50:6108, serial=0009060B00xxyyzz] |
||
68 | </pre> |
||
69 | |||
70 | You can ensure that SoapySDR and LimeSuite work together as expected using the *SoapySDRUtil* part of SoapySDR: |
||
71 | |||
72 | <pre> |
||
73 | $ ./SoapySDRUtil --find 101/0/0 |
||
74 | ###################################################### |
||
75 | ## Soapy SDR -- the SDR abstraction library |
||
76 | ###################################################### |
||
77 | |||
78 | linux; GNU C++ version 6.3.0 20170221; Boost_106200; UHD_003.009.005-0-unknown |
||
79 | |||
80 | Found device 0 |
||
81 | addr = 1d50:6108 |
||
82 | driver = lime |
||
83 | label = LimeSDR-USB [USB 3.0] 9060B00462B1C |
||
84 | media = USB 3.0 |
||
85 | module = STREAM |
||
86 | name = LimeSDR-USB |
||
87 | serial = 0009060B00xxyyzz |
||
88 | </pre> |