LimeSDR Family » History » Revision 29
Revision 28 (laforge, 08/17/2018 02:18 PM) → Revision 29/52 (laforge, 08/17/2018 02:20 PM)
{{>toc}} h1. LimeSDR 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 TBD 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 TBD 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 TBD 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 support, you will find a relatively complex driver stack with UHD, SoapyUHD, SoapySDR, etc. All you need in terms of dependencies is: consisting of: * "LimeSuite":https://github.com/myriadrf/LimeSuite.git containing the actual drivers and utilities for LimeSDR (*version 17.09 or later required*) ** for LimeSDR-mini, you will need 17.10 or later * "SoapySDR":https://github.com/pothosware/SoapySDR.git as middleware that wraps LimeSuite * "SoapyUHD":https://github.com/pothosware/SoapyUHD.git as plug-in exposing SoapySDR devices to UHD * UHD as the driver interface below OsmoTRX {{graphviz_link() digraph G{ rankdir = LR; LimeSDR -> LimeSuite [label = "USB/libusb"]; LimeSuite -> SoapySDR; SoapySDR -> UHD [label = "SoapyUHD"]; UHD -> OsmoTRX [label = "osmo-trx-lms"]; "libuhd"]; } }} You will need to observe the following dependencies when building the above: # SoapyUHD depends on SoapySDR # LimeSuite depends on SoapySDR. 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> h2. Troubleshooting h3. Firmware upgrade 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. <pre> -- Make connection: 'LimeSDR-USB [USB 2.0] 9060B00471827' UHD Warning: Firmware version mismatch! Expected firmware version 4, but found version 3 Follow the FW and FPGA upgrade instructions: http://wiki.myriadrf.org/Lime_Suite#Flashing_images Or run update on the command line: LimeUtil --update UHD Warning: Gateware version mismatch! Expected gateware version 2, revision 12 But found version 2, revision 8 Follow the FW and FPGA upgrade instructions: http://wiki.myriadrf.org/Lime_Suite#Flashing_images Or run update on the command line: LimeUtil --update -- Reference clock 30.720 MHz -- Device name: LimeSDR-USB -- Reference: 30.72 MHz -- Init LMS7002M(0) -- Ver=7, Rev=1, Mask=1 -- LMS7002M calibration values caching Disable </pre> h3. Channel setting failed 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. <pre> ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/UHDDevice.cpp:642:open: Channel setting failed - map::at ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device ALERT 140046942525312 15:50:41.0 /home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/osmo-trx.cpp:489:main: Failed to create radio device Shutting down transceiver... </pre> You need to pass the correct parameters to osmo-trx: * -s Tx samples-per-symbol (1 or 4) * -b Rx samples-per-symbol (1 or 4) <pre> osmo-trx -s 4 -b 4 </pre> h2. Other LimeSDR related information {{child_pages()}}