LimeNET-Micro v2.1 hardware description

LimeNET-Micro Board Key Features
LimeNET Micro makes deploying wireless networks more accessible than ever before, by extending the LimeNET line of integrated hardware solutions via an ultra-low cost platform that is capable of supporting narrowband systems, such as GSM and IoT wireless standards, in a stand-alone configuration.



LimeNET-Micro board features:


 * RF transceiver
 * Lime Microsystems LMS7002M
 * Raspberry Pi
 * DDR2 SODIMM socket for raspberry Pi CM3(L)
 * 2x downstream USB 2.0 ports
 * Upstream Micro-USB for USB boot of Compute Module
 * 3.5mm analog audio, composite video output
 * Ethernet + active PoE (RJ45) connector
 * Ribbon cable camera and display connectors
 * HDMI connector
 * External UART connector
 * uSD card slot
 * USB2.0 HUB and 10/100 Ethernet controller
 * SDIO Wi-Fi module
 * Jumper for Raspberry boot mode selection
 * FPGA Features
 * Intel MAX10 10M16SAU169C8 device in 169-pin UBGA
 * 16K logic elements
 * 549 Kbits embedded memory (M9K) and 2368 Kbits of user Flash Memory
 * 45 embedded 18x18 multipliers
 * 1 PLLs
 * FPGA Configuration
 * JTAG mode configuration
 * USB Controller
 * FTDI FT601 USB to FIFO interface bridge chip (connects FPGA to USB2.0 HUB)
 * Memory Devices
 * 4Mbit FLASH (for FPGA data)
 * 2x 128Kbit (16K x 8) EEPROM (for LMS MCU firmware and FPGA data)
 * Other Devices
 * Temperature sensor
 * Crypto Authentication Device
 * GNSS receiver
 * Connections
 * 2 x coaxial RF (SMA) connectors
 * SMA connectors for reference clock IN/OUT, GNSS and Wi-Fi antennas
 * 5V DC power jack
 * 5V header for powering external devices
 * Fan header
 * FPGA JTAG connectors (0.05” pitch and side connector)
 * Backup battery connector for GNSS receiver
 * Clock System
 * 30.72MHz VCOCXO:
 * Frequency calibration ±0.5ppm;
 * Frequency stability over temperature in still air ±20ppb;
 * Frequency slope ΔF/ΔT in still air ±1.2ppb/°C
 * Possibility to tune VCOCXO by onboard DAC
 * Possibility to use GNSS PPS signal as a reference when tuning VCOCXO frequency
 * User I/O
 * GPIO header (0.05” pitch) connected to FPGA
 * 5X dual color (RG) LEDs connected to FPGA
 * Push button connected to FPGA
 * Buzzer connected to FPGA
 * Board Size: without connectors 125mm x 65mm (4.92” x 2.56”)

For more information on the following topics, refer to the respective documents:
 * FT601 controller resources [link]
 * MAX10 device family, refer to Intel documentation [link] 
 * LMS7002M transceiver resources [link]

Board Overview
LimeNET-Micro board version 2.1 picture with highlighted major components and connections presented in Figure 2 and Figure 3. Lime Microsystems LMS7002M RF transceiver and Intel MAX10 FPGA can be found on bottom side of board, DDR2 SODIMM socket for Raspberry PI Compute module is placed on top side. There are three connector types – data and debugging (USB2.0, FPGA GPIO, Ethernet and JTAG), power (DC jack and external supply pinheader), RF (clock source output, GNSS antenna and time pulse output, RF transmit and receive ports). LimeNET-Micro 2.1 board comes in three versions and each version differs in components which are fitted on board (BOM – Bill Of Material). BOM version can be determined from resistors R34, R35, R36, R37 fitted on board (see Figure 3 “BOM version resistors” and Table 1 for version description).





Board components description listed in the Table 2 and Table 3.

LimeNET-Micro board architecture
Board periphery can be divided in two groups – FPGA controlled periphery and Raspberry controlled periphery. Intel MAX10 FPGA acts as a glue logic between onboard periphery such as LMS7002M RF transceiver, FT601 USB-to-FIFO IC and Raspberry CM3. Due to FPGA reprogrammable nature additional logic can be implemented also. Raspberry CM3(L) can be used to implement various applications. The block diagram for LimeNET-Micro board is presented in Figure 4.



RF transceiver
The LMS7002M is a fully-integrated, multi-band, multi-standard RF transceiver that is highly programmable. It combines Low Noise Amplifiers (RXLNA), TX Power Amplifier Drivers (TXPAD) receiver/transmitter (RX/TX) mixers, RX/TX filters, synthesizers, RX gain control, TX power control, analogue-to-digital and digital-to-analogue converters (ADC/DACs) and has been designed to require very few external components.

For RF path description connected to Lime Microsystems RF transceiver LMS7002M refer to Figure 5. There are two DPDT switches which selects between LMS7002M RF ports and matching networks. Optionally there can be duplexers fitted onboard and path with duplexers or without them are selected with SPDT switches.



LMS7002 is connected to Intel MAX10 FPGA. The interface and control signals are described below:


 * Digital Interface Signals: LMS7002M 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
 * LMS_RESET – LMS7002M reset;


 * SPI Interface: LMS7002M transceiver is configured via 4-wire SPI interface; FPGA_SPI0_SCLK, FPGA_SPI0_MOSI, FPGA_SPI0_MISO, FPGA_SPI0_LMS_SS. The SPI interface controlled from FPGA.


 * LMS I2C Interface: Connected to LMS EEPROM.

For connection details see Table 4.

Raspberry Pi Compute Module 3
LimeNET-Micro board has DDR2 SODIMM socket which is dedicated only for Raspberry Pi Compute Module 3 (CM3 OR CM3L) connection. CM3 module has various periphery and FPGA connected to it. For detailed connection between CM3 and FPGA see Table 5.

USB subsystem
LimeNet-Micro has a versatile internal USB subsystem. USB subsystem main components are Raspberry CM, switches array, configuration jumpers and connectors. USB subsystem is presented in the picture below.



Internal USB hub (IC24) has five USB ports.

There are three USB subsystem modes:


 * 1) Normal mode. Raspberry compute module USB downstream via switches is connected to internal USB hub/Ethernet controller (IC24). For this mode jumper J14 and J18 must not be mounted. Micro USB (J15) can be used only to power board depending on power jumper J27 position.
 * 2) External USB mode. Internal USB hub upstream is connected to Micro USB (J15) connector and can be connected to external host. In this case all LimeNet-Micro USB devices are visible to external system. For this mode jumper J14 must be not mounted and J18 must be mounted.
 * 3) External USB boot. Raspberry Compute module internal memory eMMC or uSD card (depending on CM model) can be updated in this mode via micro USB (J15). For this mode jumper J14 must be mounted and J18 must be not mounted. To enter USB boot mode jumpers J14 and J18 positions must be changed and power reapplied. Specific software is required to flash memory. More info [link]

USB-to-FIFO bridge
For data transfer between FPGA and USB LimeNET-Micro board has FTDI FT601 USB-to-FIFO bridge.

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 USB controller (FTDI) pins, schematic signal name, FPGA interconnections and I/O standard.

USB hub + Ethernet
Microchip LAN9514 IC connects all LimeNET-Micro USB periphery and in same time works as Ethernet Controller. For connection details see Table 8 and Table 9.

GNSS module
GNSS module can be used not only for positioning applications but for frequency measuring and tuning applications also. It provides 1PPS time synchronization pulse which is connected to FPGA.

GPIO
There are eight general purpose input/output pins from FPGA connected to FPGA GPIO header (J5). Schematic names and pin connections can be found in Table 11.

Voltage for pin 10 of J12 connector can be 3.3V (default) or 5V. To connect this pin to 5V power rail remove R47 and solder R48 resistors (see Figure 7).



Indication LEDs
LimeNET-Micro board comes with six dual color (red and green (RG)) indication LEDs. Most of LEDs are connected to FPGA and their function can be changed. Default LEDs functions and other information are listed in the table below.

Buzzer and push button
There is one push button and buzzer connected to FPGA. Default functions and connection information are listed in the table below.

Communication interfaces (I2C, UART, SPI)
LimeNET-Micro board has various options of communication interfaces. There are I2C, UART and SPI interfaces for controlling onboard periphery. For graphical representation see Figure 8 and detailed description can be found in Table 14.



UART interface of GNSS receiver is connected to FPGA and GNSS_UART_TX line is connected to RAPI_UART1_RX through 0R resistor R56 (fitted by default). To connect RAPI_UART1_TX to GNSS_UART_RX line 0R resistor R54 has to be fitted (not fitted by default).

FPGA_I2C interface master can be either FPGA or CM3 module. By default, FPGA_I2C is connected to RAPI_I2C1. In order to connect it to RAPI_I2C0 lines 0R resistors R126, R132 has to be fitted and R130, R134 removed.

Temperature control
LimeNET-Micro has integrated temperature sensor which can be used to monitor board temperature through I2C interface.

Sensor has overtemperature shutdown output connected to FPGA. Which can be used to take actions to reduce board temperature when it rises below set limits. For example, fan will be turned on if board will heat up to 45°C and FAN will be turned off if board will cool down to 35°C. Fan (5V) can be connected to J8 fan header (Figure 10).





Shift registers
In order to save FPGA pins LimeNET-Micro has four shift registers connected in series for controlling onboard periphery. By using 3 pins FPGA can control up to 32 outputs. For FPGA pins see Table 16 and for output description of shift register see Table 17.

Clock Distribution
LimeNET-Micro board has onboard VCOCXO and VCTCXO oscillators fitted. There is an option to select 30.72MHz or 40.0MHz oscillator as a reference clock for LMS7002M IC. Clock distribution block diagram is presented in Figure 11.



Oscillator frequency can be tuned by DAC (IC35 or IC37). Also, there is an option to lock oscillator frequency to external reference clock by using phase detector (IC36).

Clock buffer source selection:
 * Clock oscillator - remove R166, R168, R169 resistors and fit one of the R162, R171, R174 resistors (depends on VCOCXO/VCTCXO selection). This is default board configuration;
 * Raspberry PI (RAPI_GPCLK2) - remove R162, R171, R174 resistors and fit R166 resistor.
 * J25 SMA connector (REF_CLK_IN) - remove R162, R171, R174 resistors and fit R168 resistor.
 * USB hub (ETH_CLK24) - remove R162, R171, R174 resistors and fit R169 resistor.

Clock oscillator selection:
 * XO1 (30.72MHz) – remove R166, R168, R169, R172, R173 and fit R162, R163 resistors. This is default board configuration.
 * XO2/XO3 (30.72Mhz) – fit only one of the oscillators because they share same footprint, remove R162, R163, R166, R168, R169, R173 and fit R171, R172 resistors. By default, XO2 is fitted.
 * XO4 (40MHz) - remove R162, R163, R166, R168, R169, R171, R172 and fit R174, R175 resistors.

Power Distribution
LimeNET-Micro board can be powered in three ways:
 * Power over Ethernet – using RJ45 connector and power sourcing equipment (PSE) such as PoE capable network switch or PoE injector. LimeNET-Micro board works with PSE supplying power in “Mode A/Endspan” as well in “Mode B/Midspan” modes;
 * DC connector - 5V power source connected to J28 power jack should be capable to provide 2A-3A current;
 * microUSB port - 5V power source connected to J15 connector should be capable to provide 2A-3A current;

Power source can be selected fitting jumper in one of the three positions on J27 header:
 * A (pins 5-6) – 5V micro USB;
 * B (pins 3-4) – 5V external DC;
 * C (pins 1-2) – Power over Ethernet;

LimeNET-Micro board power distribution block diagram is presented in Figure 12.



Basic setup
To get LimeNET-Micro board up and running:
 * Set “Power selection” jumper J27 to “A” position (pins 5-6, 5V micro USB power selection);
 * Connect mouse and keyboard to J10 USB connectors;
 * Connect monitor cable to J19 HDMI connector;
 * Insert CM3 module into J13 socket (or CM3(L) module into J13 and uSD card into J16 slot).
 * Connect power adapter (5V, 2A-3A) to micro USB connector J15.



FPGA programming
Intel MAX10 FPGA can be programmed using JTAG adapter such as [Intel FPGA USB Download Cable] (formerly known as Altera USB-Blaster download cable). LimeNET-Micro board has two different size and pin count JTAG headers (J4 - 10pin 0.05” pitch header and J3 - 7pin 0.1” pitch edge connector). Additional cable adapter is needed to connect download cable to LimeNET-Micro board because Intel FPGA USB Download Cable comes with 10-pin, 0.1” pitch female connector.



Board status
LimeNET-Micro board has six dual color (red/green) LED indicators fitted on top and two green indicators on Ethernet (J9) connector. Each LED except power status LED is controlled from FPGA and their function can be changed. Default LED function and their other information are listed in the table below.