Getting Started with LimeSDR-USB and LimeSuiteGUI: Difference between revisions

Democratising Wireless Innovation
Jump to navigation Jump to search
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Launching LimeSuiteGUI and connecting to the board ==
== Launching LimeSuiteGUI and Connecting to the Board ==


First of all, connect LimeSDR-USB board to PC USB3.0 socket. Please go [[LimeSDR-USB_driver_installation|Driver Installation Documentation]] to see how to install OS drivers so your PC can see LimeSDR-USB board. In the provided USB Flash there is a folder GUI in which you will find LimeSuiteGUI.exe file (or just download the software from [[LimeSDR-USB#LimeSuiteGUI_for_Windows | here]]). Open it.
First of all, connect LimeSDR-USB board to PC USB3.0 socket. Please go [[LimeSDR-USB_driver_installation|Driver Installation Documentation]] to see how to install OS drivers so your PC can see LimeSDR-USB board. In the provided USB Flash there is a folder GUI in which you will find LimeSuiteGUI.exe file (or just download the software from [[LimeSDR-USB#LimeSuiteGUI_for_Windows | here]]). Open it.
Line 15: Line 15:
[[File:LimeSuiteGUI_select_ports.png|thumb|center|600px|Figure 3. LimeSuiteGUI select ports]]
[[File:LimeSuiteGUI_select_ports.png|thumb|center|600px|Figure 3. LimeSuiteGUI select ports]]


 
== Loading and Saving Register Settings ==
 
== Loading and saving register settings ==


In order to load settings, click button Open as shown in Figure 4.
In order to load settings, click button Open as shown in Figure 4.
Line 37: Line 35:


[[File:Sending_LMS7002M_settings_to_GUI.png|thumb|center|600px|Figure 7. Sending LMS7002M settings from LimeSDR-USB to GUI]]
[[File:Sending_LMS7002M_settings_to_GUI.png|thumb|center|600px|Figure 7. Sending LMS7002M settings from LimeSDR-USB to GUI]]


== Quick Test ==
== Quick Test ==
Line 95: Line 91:




== Load waveform for Tx Path ==
== Load Waveform for Tx Path ==


The programed FPGA is acting as waveform player for LMS7002M transceiver. In order to load the waveform, select Modules from top menu, then FPGA Controls from the drop down menu as shown in Figure 12.
The programed FPGA is acting as waveform player for LMS7002M transceiver. In order to load the waveform, select Modules from top menu, then FPGA Controls from the drop down menu as shown in Figure 12.
Line 110: Line 106:


[[File:Loaded_waveform_indication.png|thumb|center|600px|Figure 14. Loaded waveform indication]]
[[File:Loaded_waveform_indication.png|thumb|center|600px|Figure 14. Loaded waveform indication]]


== Digital Loopback Enable ==
== Digital Loopback Enable ==
Line 121: Line 115:




== Run FTT viewer ==
== Run FTT Viewer ==


FFTviewer module is a part of LimeSuiteGUI software. To run FFTviewer, go to top menu, select Modules and choose FFTviewer as shown in Figure 16.
FFTviewer module is a part of LimeSuiteGUI software. To run FFTviewer, go to top menu, select Modules and choose FFTviewer as shown in Figure 16.
Line 139: Line 133:


[[File:FFTviewer_window_in_operation.png|thumb|center|600px|Figure 19. FFTviewer window in operation]]
[[File:FFTviewer_window_in_operation.png|thumb|center|600px|Figure 19. FFTviewer window in operation]]


== Manual Calibration of RX Path ==
== Manual Calibration of RX Path ==
Line 186: Line 178:




To do the LO leakage calibration, select TxTSP tab in the LimeSuiteGUI GUI and adjust the DC Corrector settings (see Figure 27) for channel I and Q separately to get minimum LO leakage.
[[File:DC_offset_block_control.png|thumb|center|600px|Figure 27. DC offset block control]]
To calibrate Unwanted SSB, use the IQ Corrector controls in the TxTSP tab. Change I ch. gain or Q ch. gain followed by Phase correction to reduce the Unwanted SSB as shown in Figure 28.
[[File:IQ_Corrector_block_control.png|thumb|center|600px|Figure 28. IQ Corrector block control]]
Calibrated Transceiver TX output should look like in the Figure 29.
[[File:Calibrated_Tx_output.png|thumb|center|600px|Figure 29. Calibrated Tx output]]
Once TX is calibrated the settings can be saved and can be recalled after chip power cycle. After calibration is complete and configure Tx path to accept data from Stream board; go to TxTSP and select LML output under Tx Input Source has to be selected to in TxTSP tab. See Figure 25.
NOTE: The Tx IQ and LO leakage calibration procedure can be done using auto calibration routines. The routines are accessed from Calibration tab in the GUI.
== Clock Configuration ==
Onboard clock sources can be configured by LimeSuiteGUI. More information about clock distribution is detailed in [[LimeSDR-USB_hardware_description#Clock_distribution | Clock distribution]] description.
=== VCTCXO Tuning ===
VCTCXO can be tuned by onboard phase detector (IC23, ADF4002) or by DAC (IC22). The onboard phase detector is used to synchronize onboard VCTCXO with external equipment (via J19 U.FL connector) to calibrate frequency error. At the same time only phase detector or DAC can control VCTCXO. DAC and phase detector is controlled by FX3 (USB) and selection between them is done automatically. When board is powered, by default VCTCXO is controlled by DAC.
FPGA2 LED indicates DAC or phase detector controls VCTCXO and phase detector lock state. More information about LEDs can be found in [[LimeSDR-USB_hardware_description#Indication_LEDs | Indication LEDs]].
=== Tuning VCTCXO Using Frequency Synthesizer (ADF4002) ===
VCTCXO can be tuned by onboard phase detector (IC23, ADF4002) or by DAC (IC22). If phase detector is configured from LimeSuiteGUI software, then DAC is disabled automatically and VCTCXO tuning voltage is supplied from phase detector. When phase detector controls VCTCXO, FPGA2 LED indicates its lock state: red – not locked, green – locked.
The phase detector is used to synchronize onboard VCTCXO with external equipment (via J19 U.FL connector) to calibrate frequency error and can be configured using LimeSuiteGUI software. Because VCTCXO also can be tuned by DAC, in this case DAC is disabled. Go to Modules form top menu and select ADF4002 form the drop down menu, as shown in Figure 30.
[[File:LimeSuiteGUI_module_menu_to_configure_ADF4002.png|thumb|center|600px|Figure 30. LimeSuiteGUI module menu to select ADF4002 configuration tool]]
New control window should appear, as shown in the Figure 31.
[[File:ADF4002_configuration_window.png|thumb|center|600px|Figure 31. ADF4002 configuration window]]
Field Fref value indicates the frequency to that VCTCXO will be synchronized and must be fed to REF_CLK (J14) connector. Usually this value is 10 MHz. When all parameters are entered in this window, press button Calculate R, N & Upload and frequency synthesizer will be configured.
=== Tuning VCTCXO Using DAC ===
VCTCXO can be tuned by onboard frequency synthesizer (IC16, ADF4002) or by DAC (IC15). If DAC is configured from LimeSuiteGUI software, then frequency synthesizer is shut down and VCTCXO tuning voltage is supplied from DAC. When DAC controls VCTCXO, FPGA2 LED is off.
DAC can be configured using LimeSuiteGUI software. Go to Modules form top menu and select Board controls form the drop down menu, as shown in Figure 32.
[[File:LimeSuiteGUI_module_menu_to_select_DAC_configuration.png|thumb|center|400px|Figure 32. LimeSuiteGUI module menu to select DAC configuration tool]]
New window will appear, as shown in the Figure 33.
[[File:Board_related_controls.png|thumb|center|600px|Figure 33. Board related controls]]
Current DAC value can be read by pressing button Read all. DAC value will be displayed in group box Read with channel 0. In this case DAC value is 125.
Enter new DAC value in group box Write channel 0. After this press Write all and DAC value will be updated.
=== VCTCXO Calibration Procedure ===
Board has VCTCXO DAC factory calibration value that is stored in non-volatile memory. This value is loaded to DAC output after each board power up or reset. This value can be changed manually or by automatic calibration procedure. To perform automatic calibration procedure, connect external reference clock to connector J19, start it from LimeSuiteGUI software and enter Fref frequency (default Fref value 10MHz).
Calibration procedure steps:
# Lock phase detector (ADF4002) to external Fref clock as described in section Error! Reference source not found. Error! Reference source not found.. If phase detector cannot lock to reference clock, calibration procedure cannot continue and will be aborted.
# Measure TCVCXO frequency and store for future comparison.
# Start changing TCXO DAC value and detect when VCTCXO frequency is as close as possible to the value measured in step 2.
#Store new VCTCXO value in non-volatile memory.
=== Programmable Clock Generator (Si5351C) Configuration ===
Programmable clock generator has eight channels and each can be configured individually using “LimeSuiteGUI”software. Go to Modules form top menu and select Si5351C form the drop down menu, as shown in Figure 34.
[[File:LimeSuiteGUI_module_menu_to_configure_Si5351C.png|thumb|center|600px|Figure 34. LimeSuiteGUI module menu to select Si5351C configuration tool]]
New window will appear, as shown in the Figure 35.
[[File:Si5351C_configuration_window.png|thumb|center|600px|Figure 35. Si5351C configuration window]]
== Reading Board Temperature ==
LimeSDR-USB has integrated temperature sensor. The sensor measured temperature may be displayed in software. Go to Modules form top menu and select Board controls form the drop down menu, as shown in Figure 36.
[[File:LimeSuiteGUI_module_menu_to_select_temperature_tool.png|thumb|center|600px|Figure 36. LimeSuiteGUI module menu to select temperature tool]]
New window appears, as shown in the Figure 37.
[[File:Board_related_controls_temperature_section.png|thumb|center|600px|Figure 37. Board related controls, temperature section]]
Current temperature sensor value can be read by pressing button Read all. Temperature value will be displayed in group box Read with channel 1. In this case temperature is 60 °C.


{{Community}}
{{Community}}

Latest revision as of 10:26, 29 August 2017

Launching LimeSuiteGUI and Connecting to the Board

First of all, connect LimeSDR-USB board to PC USB3.0 socket. Please go Driver Installation Documentation to see how to install OS drivers so your PC can see LimeSDR-USB board. In the provided USB Flash there is a folder GUI in which you will find LimeSuiteGUI.exe file (or just download the software from here). Open it.

Figure 1. Opening LimeSuiteGUI.exe file


To launch LimeSuiteGUI application go to menu and select: Options -> Connection Settings as shown in Figure 2.

Figure 2. Opening connection settings


Select LimeSDR-USB board as shown in Figure 3 and press Connect.

Figure 3. LimeSuiteGUI select ports

Loading and Saving Register Settings

In order to load settings, click button Open as shown in Figure 4.

Figure 4. Opening LimeSuiteGUI settings file


Select .ini setting file and click Open as shown in Figure 5.

Figure 5. Selecting LimeSuiteGUI settings file


Then click GUI --> Chip button as shown in Figure 6.

Figure 6. Sending LMS7002M settings from GUI to LimeSDR board


If you want load all LMS7002M settings from LimeSDR-USB to GUI, then click button Chip-->GUI as shown in Figure 7.

Figure 7. Sending LMS7002M settings from LimeSDR-USB to GUI

Quick Test

If there is a need to check if the board is fully working you can run very simple and quick board test. All instruction on how to do it you can find it in LimeSDR-USB Quick Test. One you see the graph as it show in Figure 8 of W-CDMA signal on FFT Viewer, you know that the board is working.

Figure 8. Performing Quick Test


Changing TX / RX Frequency

After power up in order to configure LMS7002M Tx or Rx LO to 2140 MHz, do the following:

  1. Select the SXR tab for Receiver or SXT tab for Transmitter
  2. Enable SXR/SXT module
  3. Type the wanted frequency in Frequency, GHz box. In this case, 800 MHz
  4. Press Calculate followed by Tune


See Figure 9 to check related controls in the LimeSuiteGUI.

Figure 9. SXR / SXT register setup procedure


Changing Receiver Gain

Select the RBB tab to configure the PGA gain and baseband filter bandwidths. Follow the configuration steps below:

  1. Select the A CHANNEL to control channel A
  2. Select PGA output to output pads. This selection enables receiver analog outputs
  3. Set PGA gain to -1 dB
  4. Configure filter bandwidth. Type desired bandwidth and click Tune


See Figure 10 below to check related controls in the LimeSuiteGUI.

Figure 10. RBB register setup procedure


Changing Transmitter Output Signal Gain

In the TBB tab the baseband gain and filter bandwidth are controlled. Follow the instructions below to set up TBB:

  1. Select the A CHANNEL to control channel A
  2. Set Frontend gain to your wanted
  3. Configure the base band filter settings. Type desired bandwidth and click Tune and Tune gain


See Figure 11 below to check related controls in the LimeSuiteGUI.

Figure 11. TBB register setup procedure


Load Waveform for Tx Path

The programed FPGA is acting as waveform player for LMS7002M transceiver. In order to load the waveform, select Modules from top menu, then FPGA Controls from the drop down menu as shown in Figure 12.

Figure 12. Selecting FPGA Control window


New window will appear in the bottom of the GUI, offering you to load supplied waveforms or custom waveforms. Please select to load CW waveform by clicking on Onetone button, as shown in Figure 13.

Figure 13. Waveform selection


The file loading process to the FPGA is shown by indication bar, see Figure 14.

Figure 14. Loaded waveform indication

Digital Loopback Enable

There is also implemented option to receive data from LMS7002M receiver and stream back on to LMS7002M transmitter. In order to enable this option, click on the ‘Digital Loopback enable’ check box in the ‘FPGA Control’ Module Figure 15.

Figure 15. Select Digital Loopback enable


Run FTT Viewer

FFTviewer module is a part of LimeSuiteGUI software. To run FFTviewer, go to top menu, select Modules and choose FFTviewer as shown in Figure 16.

Figure 16. LimeSuiteGUI module menu to select FFTviewer


FFTviewer control window will appear. Before start capturing data, set the Data reading type to “Packets MIMO”, Display channel and press Start, as shown in Figure 17 and Figure 18.

Figure 17. FFTviewer Controls


Figure 18. Setting data type to Packets MIMO


At this point, the FFTviewer start capturing data. Connect the generator to selected LimeSDR receiver path. In the Figure 19 showed the FFTviewer data capture with 1 MHz CW signal offset from LO.

Figure 19. FFTviewer window in operation

Manual Calibration of RX Path

Rx DC offset and Rx Unwanted SSB calibration routines have to be executed to calibrate receiver path. The Rx DC offset calibration split in two parts; Analog DC Offset calibration and digital DC offset removal procedure.

To execute Analog DC Offset calibration, select the RFE tab in the main GUI window. Make sure that you have selected channel A. In the DC box, change Mixer LO signal to 0.621 V and look for the best Offset I/Q values to reach minimum level of DC Offset. See Figure 20 below.

Figure 20. RX DC offset manual calibration


For residual DC offset calibration you need to enable the DC corrector in RxTSP tab. See Figure 21. It should be enabled (check box un-checked) by default.

Figure 21. Enable DC corrector in RxTSP


The unwanted SSB can be seen on FFTviewer window by applying signal to one of the transceiver inputs. See Figure 22.

Figure 22. Receiver spectrum with un-calibrated IQ imbalance


To calibrate RX IQ imbalance, go to RxTSP tab on LimeSuiteGUI GUI. On IQ Correction box adjust Gain ch. I or Gain ch. Q followed by Phase correction to reduce the Unwanted SSB. See Figure 23.

Figure 23. Rx IQ correction block


Calibrated receiver spectrum should look like in the Figure 24.

Figure 24. Calibrated Rx Spectrum


Manual Calibration of TX Path

The LO leakage and IQ imbalance have to be calibrated for the LMS7002M transceiver in order to get optimum performance for Tx EVM measurement. The IQ imbalance calibration is done by generating CW and adjusting IQ phase/gain error for IQ mismatch. Th LO leakage calibration is doem by adjust DC offset registers. The internal test NCO can be enabled for this purpose. To do this, select TxTSP tab in LimeSuiteGUI and select the Test Signal as input for Tx path and NCO as TSGMODE, as showed in figure below.

Figure 25. Enable the test NCO


NOTE: Before configuring TxTSP tab, select the A/RXT channel in top right of the GUI.

On the transmitter output you should see the wanted CW with 3.8MHz offset from LO, unwanted SSB on the other side of spectrum and LO leakage. See Figure 26.

Figure 26. Not calibrated Tx Output


To do the LO leakage calibration, select TxTSP tab in the LimeSuiteGUI GUI and adjust the DC Corrector settings (see Figure 27) for channel I and Q separately to get minimum LO leakage.

Figure 27. DC offset block control


To calibrate Unwanted SSB, use the IQ Corrector controls in the TxTSP tab. Change I ch. gain or Q ch. gain followed by Phase correction to reduce the Unwanted SSB as shown in Figure 28.

Figure 28. IQ Corrector block control


Calibrated Transceiver TX output should look like in the Figure 29.

Figure 29. Calibrated Tx output


Once TX is calibrated the settings can be saved and can be recalled after chip power cycle. After calibration is complete and configure Tx path to accept data from Stream board; go to TxTSP and select LML output under Tx Input Source has to be selected to in TxTSP tab. See Figure 25.

NOTE: The Tx IQ and LO leakage calibration procedure can be done using auto calibration routines. The routines are accessed from Calibration tab in the GUI.


Clock Configuration

Onboard clock sources can be configured by LimeSuiteGUI. More information about clock distribution is detailed in Clock distribution description.


VCTCXO Tuning

VCTCXO can be tuned by onboard phase detector (IC23, ADF4002) or by DAC (IC22). The onboard phase detector is used to synchronize onboard VCTCXO with external equipment (via J19 U.FL connector) to calibrate frequency error. At the same time only phase detector or DAC can control VCTCXO. DAC and phase detector is controlled by FX3 (USB) and selection between them is done automatically. When board is powered, by default VCTCXO is controlled by DAC.

FPGA2 LED indicates DAC or phase detector controls VCTCXO and phase detector lock state. More information about LEDs can be found in Indication LEDs.


Tuning VCTCXO Using Frequency Synthesizer (ADF4002)

VCTCXO can be tuned by onboard phase detector (IC23, ADF4002) or by DAC (IC22). If phase detector is configured from LimeSuiteGUI software, then DAC is disabled automatically and VCTCXO tuning voltage is supplied from phase detector. When phase detector controls VCTCXO, FPGA2 LED indicates its lock state: red – not locked, green – locked.

The phase detector is used to synchronize onboard VCTCXO with external equipment (via J19 U.FL connector) to calibrate frequency error and can be configured using LimeSuiteGUI software. Because VCTCXO also can be tuned by DAC, in this case DAC is disabled. Go to Modules form top menu and select ADF4002 form the drop down menu, as shown in Figure 30.

Figure 30. LimeSuiteGUI module menu to select ADF4002 configuration tool


New control window should appear, as shown in the Figure 31.

Figure 31. ADF4002 configuration window


Field Fref value indicates the frequency to that VCTCXO will be synchronized and must be fed to REF_CLK (J14) connector. Usually this value is 10 MHz. When all parameters are entered in this window, press button Calculate R, N & Upload and frequency synthesizer will be configured.


Tuning VCTCXO Using DAC

VCTCXO can be tuned by onboard frequency synthesizer (IC16, ADF4002) or by DAC (IC15). If DAC is configured from LimeSuiteGUI software, then frequency synthesizer is shut down and VCTCXO tuning voltage is supplied from DAC. When DAC controls VCTCXO, FPGA2 LED is off.

DAC can be configured using LimeSuiteGUI software. Go to Modules form top menu and select Board controls form the drop down menu, as shown in Figure 32.

Figure 32. LimeSuiteGUI module menu to select DAC configuration tool


New window will appear, as shown in the Figure 33.

Figure 33. Board related controls


Current DAC value can be read by pressing button Read all. DAC value will be displayed in group box Read with channel 0. In this case DAC value is 125.

Enter new DAC value in group box Write channel 0. After this press Write all and DAC value will be updated.

VCTCXO Calibration Procedure

Board has VCTCXO DAC factory calibration value that is stored in non-volatile memory. This value is loaded to DAC output after each board power up or reset. This value can be changed manually or by automatic calibration procedure. To perform automatic calibration procedure, connect external reference clock to connector J19, start it from LimeSuiteGUI software and enter Fref frequency (default Fref value 10MHz).

Calibration procedure steps:

  1. Lock phase detector (ADF4002) to external Fref clock as described in section Error! Reference source not found. Error! Reference source not found.. If phase detector cannot lock to reference clock, calibration procedure cannot continue and will be aborted.
  2. Measure TCVCXO frequency and store for future comparison.
  3. Start changing TCXO DAC value and detect when VCTCXO frequency is as close as possible to the value measured in step 2.
  4. Store new VCTCXO value in non-volatile memory.


Programmable Clock Generator (Si5351C) Configuration

Programmable clock generator has eight channels and each can be configured individually using “LimeSuiteGUI”software. Go to Modules form top menu and select Si5351C form the drop down menu, as shown in Figure 34.

Figure 34. LimeSuiteGUI module menu to select Si5351C configuration tool


New window will appear, as shown in the Figure 35.

Figure 35. Si5351C configuration window

Reading Board Temperature

LimeSDR-USB has integrated temperature sensor. The sensor measured temperature may be displayed in software. Go to Modules form top menu and select Board controls form the drop down menu, as shown in Figure 36.

Figure 36. LimeSuiteGUI module menu to select temperature tool


New window appears, as shown in the Figure 37.

Figure 37. Board related controls, temperature section


Current temperature sensor value can be read by pressing button Read all. Temperature value will be displayed in group box Read with channel 1. In this case temperature is 60 °C.