LimeSDR-Mini v1.2 hardware description

LimeSDR-Mini Board Key Features
The LimeSDR-Mini is low-cost  software defined radio board. LimeSDR-Mini development board provides a hardware platform for developing and prototyping high-performance and logic-intensive digital and RF designs using Intel’s MAX 10 FPGA and Lime Microsystems transceiver.



LimeSDR-Mini board features:


 * USB 3.0 controller: FTDI FT601
 * FPGA: Intel MAX 10 (10M16SAU169C8G 169-UBGA)
 * 169-pin FBGA package
 * 16 K LE
 * 549 Kb M9K Memory
 * 2368 Kb User Flash Memory
 * 1x fractional phase locked loops (PLLs)
 * 45x 18x18-bit multipliers
 * 130x general purpose input/output (GPIO)
 * Single supply
 * Flash feature
 * FPGA configuration via JTAG
 * RF transceiver: Lime Microsystems LMS7002M
 * EEPROM Memory: 2x 128Kb EEPROMs for LMS MCU firmware and FPGA data
 * FLASH Memory: 4Mb Flash memory for FPGA data
 * Temperature sensor (unpopulated)
 * General user inputs/outputs:
 * 1x Dual colour (RG) LED
 * 8x + 2x FPGA GPIO pinheader (3.3V)
 * Connections:
 * USB3.0 (type A) plug
 * Coaxial RF (SMA female) connectors
 * FPGA GPIO headers (unpopulated)
 * FPGA JTAG connector (unpopulated)
 * FAN (5V or 3.3V) connector
 * Clock system:
 * 40.00MHz onboard VCTCXO
 * Possibility to tune VCTCXO by onboard DAC
 * Reference clock input and output connectors (U.FL)
 * Board size: 69mm x 31.4mm

For more information on the following topics, refer to the respective documents:
 * FTDI FT601 USB 3.0 to FIFO Bridge datasheet [link]
 * MAX 10 FPGA device family, refer to MAX 10 Device Handbook [link] 
 * LMS7002M transceiver resources [link]

Board Overview
This section contains component location description on the board. LimeSDR-Mini board picture with highlighted connectors and main components is presented in Figure 2 and Figure 3.





Board components description listed in the Table 1.

RF Frequency Range
LimeSDR-Mini board covers RF frequency range from 10MHz up to 3.5GHz. There are different matching networks connected to the RF transceiver RF inputs and outputs (antennas):
 * Use TX1_1 RF output for 2GHz - 3.5GHz frequency range
 * Use TX1_2 RF output for 10MHz - 2GHz frequency range
 * Use RX1_H RF input for 2GHz - 3.5GHz frequency range
 * Use RX1_W RF input for 10MHz - 2GHz frequency range

LimeSDR-Mini Board Architecture
The heart of the LimeSDR-Mini board is Intel MAX 10 (10M16SAU169C8G 169-UBGA) FPGA. It’s main function is to transfer digital data between the PC through a USB3.0 connector. The block diagram for LimeSDR-Mini board is presented in the Figure 4.



LMS7002M Based Connectivity
The interface and control signals are described below:


 * Digital Interface Signals: LMS7002 is using data bus LMS_DIQ1_D[11:0] and LMS_DIQ2_D[11:0], LMS_ENABLE_IQSEL1 and LMS_ENABLE_IQSEL2, LMS_FCLK1 and LMS_FCLK2, LMS_MCLK1 and LMS_MCLK2 signals to transfer data to/from FPGA. Indexes 1 and 2 indicate transceiver digital data PORT-1 or PORT-2. Any of these ports can be used to transmit or receive data. By default PORT-1 is selected as transmit port and PORT-2 is selected as receiver port. The FCLK# is input clock and MCLK# is output clock for LMS7002M transceiver. TXNRX signals sets ports directions. For LMS7002M interface timing details refer to LMS7002M transceiver datasheet page 12-13. [link].


 * LMS Control Signals: these signals are used for optional functionality:
 * LMS_RXEN, LMS_TXEN – receiver and transmitter enable/disable signals connected to FPGA Bank 8 (VDIO_LMS_FPGA; 2.5V).
 * LMS_RESET – LMS7002M reset connected to FPGA Bank 7 (VDIO_LMS_FPGA; 2.5V).


 * SPI Interface: LMS7002M transceiver is configured via 4-wire SPI interface; FPGA_SPI_SCLK, FPGA_SPI_MOSI, FPGA_SPI_MISO, FPGA_SPI_LMS_SS. The SPI interface controlled from FPGA Bank 2 (VDIO_LMS_FPGA; 2.5V).


 * LMS I2C Interface: can be used for LMS EEPROM content modifying or for debug purposes. The signals LMS_I2C_SCL, LMS_I2C_DATA connected to FPGA Bank 2 (VDIO_LMS_FPGA; 2.5V).

USB 3.0 controller
Software controls LimeSDR-Mini board via the USB3 microcontroller (FTDI USB 3.0 to FIFO interface bridge chip FT601 [link]). The controller signals description showed below:


 * FT_D[31:0] – FTDI 32-bit data interface is connected to FPGA.
 * FT_TXEn, FT_RXFn, FT_SIWUn, FT_WRn, FT_RDn, FT_OEn, FT_BE[3:0] – FTDI interface control signals.
 * FT_CLK – FTDI interface clock. Clock from  FTDI is fed to FPGA.

In the table below are listed USB3.0 controller (FTDI) pins, schematic signal name, FPGA interconnections and I/O standard.

Indication LEDs
LimeSDR-Mini board comes with one dual colour (red and green (RG)) indication LED. This LEDs can be soldered on the top (LED1) or on the bottom (LED2). By default, LED1 is populated and LED2 is unpopulated.



LEDs are connected to FPGA  to the same lines and their function can be changed.

Low speed interfaces
LimeSDR-Mini board low speed interfaces are presented in Figure 6. The latter block diagrams depict the main ICs, corresponding IC pin numbers, data buses and serial protocol addresses.



There are several SPI interfaces with their slave devices:
 * FPGA_SPI: this SPI interface are connected to FPGA and slave devices can be accessed by transferring data to internal FPGA NIOS CPU. This bus has these slave devices RFIC (IC1) and DAC (IC9).


 * FPGA_QSPI: this SPI interface is connected to Quad SPI flash memory (IC11).


 * Internal FPGA SPI module: FPGA has its own SPI module and can be controlled as regular SPI device. By using FPGA SPI it is possible to control FPGA modes etc.


 * FPGA_I2C: used to control external clock temperature sensor and EEPROM on LimeSDR-Mini board.

In the tables below are listed FPGA_SPI pins, schematic signal names, FPGA interconnections and I/O standards.

In the tables below are listed FPGA_QSPI pins, schematic signal names, FPGA interconnections and I/O standards.

In the tables below are listed FPGA_I2C interface slave devices and their other information.

8 GPIOs from FPGA are connected to 10 pin 0.05” header. Additional 2 pins are dedicated for power. Another 2 GPIOs are connected to 5 header on the board edge. In the tables below are listed FPGA_GPIO (J5) and FPGA_EGPIO (J6) information.

Board Temperature Control
LimeSDR-Mini has integrated temperature sensor which controls FAN to keep board in operating temperature range. FAN must be connected to J10 (0.1” pitch) connector. FAN control voltage is 5V, but it can be changed to 3.3V by resistors. Fan will be turned on if board will heat up to 55°C and FAN will be turned off if board will cool down to 45°C. By default temperature sensor is unpopulated and FAN is always on.



Clock Distribution
LimeSDR-Mini board clock distribution block diagram is presented in Figure 8. LimeSDR-Mini board has onboard 40.00 MHz VCTCXO that is reference clock for LMS and FPGA PLLs.



VCTCXO frequency can be tuned by using DAC (IC9). Buffered VCTCXO clock is connected to RF transceiver, FPGA. Buffered VCTCXO clock is also connected to connector J9 (REF_CLK_OUT) and can be fed to external hardware for synchronisation. VCTCXO can be disconnected from clock buffer input (remove R59 and solder R62) and external reference clock can be supplied from connector J8 (REF_CLK_IN).

External clock notes. External clock capabilities on LimeSDR-Mini board are defined by LMK00105 clock buffer specification. User must ensure voltage levels are in the range of LMK00105 capabilities. Ideally, a phase detector circuitry should be used to synchronize on board TCXO to the external clock but there simply is no space on LimeSDR-Mini for this functionality. Hence decision was made just to provide an input to LMK clock buffer for external clock connection. This means that user should pay attention on how external signal is connected, ensure proper voltage levels etc. If you supply external clock signal from signal generator, signal level should be around 10dBm. Note please, that LMK clock buffer expects positive voltage amplitude, while your generator may supply +/- voltage.

The proper way to supply the external reference clock: supply external clock firstfirst and then turn the board on. This is the only way to have proper operation of the board with external clock. If frequency is changed on the fly, CPU inside of FPGA gets messed up hence no control over the board.

Power Distribution
LimeSDR-Mini board is powered from USB port. LimeSDR-Mini board power delivery network consists of different power rails with different voltages, filters, power sequences. LimeSDR-Mini board power distribution block diagram is presented in Figure 9.