Mmwave Studio User Guide
Mmwave Studio User Guide
This document outlines the mmWaveStudio Graphical User Interface details and instructions
for software start up. Operating procedures for Radar API and Post-Processing utility is also
explained briefly in this user’s guide.
Contents
List of Figures ....................................................................................................................................... 3
1. Introduction ................................................................................................................................... 6
2. mmWaveStudio Installation and Startup ..................................................................................... 6
2.1 Installation .............................................................................................................................. 6
2.2 Startup.................................................................................................................................... 7
2.3 USB Interface and Drivers....................................................................................................... 8
3. Using the DCA1000 EVM............................................................................................................. 11
3.1 Using DCA1000 CLI utility..................................................................................................... 11
3.2 Updating the DCA1000 FPGA Binary .................................................................................... 11
3.3 Raw ADC data capture ......................................................................................................... 11
4. mmWaveStudio User Interface ................................................................................................... 13
4.1 Menu Bar .............................................................................................................................. 13
4.1.1 File Menu .................................................................................................................. 13
4.1.2 View Menu ................................................................................................................ 14
4.1.3 Tools Menu ............................................................................................................... 14
4.1.4 ToolBars Menu .......................................................................................................... 14
4.1.5 Window Menu ........................................................................................................... 16
4.1.6 Help Menu................................................................................................................. 16
4.2 Radar API Window ............................................................................................................... 16
4.3 Output Window ..................................................................................................................... 17
4.4 LUA Shell ............................................................................................................................. 18
5. Automation/Scripting .................................................................................................................. 19
6. Radar API Tab Operations .......................................................................................................... 19
6.1 Connection Tab .................................................................................................................... 19
6.1.1 Board Control Operations .......................................................................................... 21
6.1.2 RS232 Operations ..................................................................................................... 22
6.1.3 Firmware Download .................................................................................................. 22
6.1.4 SPI Connection & RF Power Up ................................................................................ 24
7. Static Config Tab Operations ..................................................................................................... 24
8. Data Config Tab Operations ....................................................................................................... 25
9. Sensor Config Tab Operations ................................................................................................... 26
9.1 Profile Config ........................................................................................................................ 26
9.1.1 Profile Manager ......................................................................................................... 26
www.ti.com
List of Figures
Figure 2.1. mmWaveStudio startup error message .................................................................................. 8
Figure 2.2. Device Manager (Other Devices) ........................................................................................... 9
Figure 2.3 FTDI driver update ................................................................................................................ 10
Figure 2.4. Device Manager (USB Serial Port) ....................................................................................... 10
Figure 2.5. MMWAVE-DEVPACK or DCA1000 COM Ports .................................................................... 10
Figure 2.6. XWR1xx Dev Pack and EVM USB Enumeration .................................................................. 11
3 mmWave Studio Users Guide
Copyright © 2016-2017, Texas Instruments Incorporated
www.ti.com
1. Introduction
The mmWaveStudio GUI is designed to characterize and evaluate the TI Radar devices.
The mmWave device is configured and controlled from the mmWaveStudio by sending
commands to the device over SPI. ADC data is captured using DCA1000 EVM or the
TSW1400 EVM board and the data is processed in Matlab and the results are displayed
in the GUI.
mmWaveStudio GUI utilizes C DLL and a set of API's to communicate from the GUI to
the device through FTDI FT4232H device. The FT4232H is a USB 2.0 Hi-Speed (480
Mb/s) to UART IC. It has the capability of being configured in a variety of industry
standard serial or parallel interfaces. The FT4232H features 4 UARTs. Two of these
have an option to independently configure an MPSSE engine; this allows the FT4232H
to operate as two UART/bit-bang ports plus two MPSSE engines used to emulate JTAG,
SPI, I2C, bit-bang or other synchronous serial modes.
Key features of the mmWaveStudio GUI are
Board Control (SOP Change, Reset Control)
RS232 connection to device
Firmware download over the RS232 interface
Configuring the TI Radar device using the Radar API commands
Interaction with DCA1000 EVM or TSW1400 EVM for raw ADC data capture
Post-Processing of ADC data and visualization of the processed data
Refer to the TSW140x High Speed Data Capture/Pattern Generator Card User’s Guide
(SLWU079) for more information regarding the usage aspect of TSW1400 EVM and the
related Software
Refer to DCA1000 EVM Capture Card User’s Guide (SPRUIJ4) for more information
regarding the usage aspect of DCA1000 EVM.
2.1 Installation
NOTE: Please make sure the Matlab Runtime Engine installed is exactly same as 32-bit
Version 8.5.1
3. If required (read below note), install FTDI Drivers: FTDI USB Driver
(mmwave_studio_<ver>\mmWaveStudio\ftdi) necessary to work with Radar device
is installed. See section 2.3 for FTDI driver installation.
NOTE: FTDI drivers will be installed automatically at the end of mmwavestudio installation.
The step 3 is only required if the automatic FTDI installation fails.
2.2 Startup
1. After the installation is complete, the GUI executable and associated files will
reside in the following directory: C:\ti\mmwave_studio_<ver>\mmWaveStudio
2. Power up the xWR1xx DevPack (or DCA1000 EVM) and the xWR1xxx BOOST-
EVM.
NOTE: Make sure the above combination of DevPack/DCA1000 and AWR BOOST-EVM are
3. To start the GUI, click on the file called “mmWaveStudio.exe", located under
C:\ti\mmwave_studio_<ver>\mmWaveStudio\RunTime folder.
NOTE: If mmWave Studio shortcut has been created already, update the shortcut to the new
installation path.
NOTE: If you see the error message as shown in F IGURE 1 during opening mmWaveStudio
in its output window, follow the steps mentioned below to solve this
Once the USB is connected to the XWR1xx Dev Pack (or DCA1000 EVM), ensure to
install the FTDI USB Drivers (mmwave_studio_<ver>\ftdi). After completion of the driver
installation, COM ports will be available in Windows Device Manager as shown in FIGURE
2.6.
Once xWR1xxx EVM is connected to the MMWAVE-DEVPACK or DCA1000 EVM,
connect DevPack or DCA1000 to PC using the USB cable provided and connect the
power cable. Once done, there should be 4 additional COM Ports as shown in Figure 2.5
When the DevPack or DCA1000 EVM is connected for the first time to the PC, Windows
maybe not be able to recognize the device and would come up as ‘Other devices’ in
device manager as shown in Figure 2.2
In Windows device manager, right-click on these devices and update the drivers by
pointing to the location of the FTDI driver as show in Figure 2.3
When all four COM ports are installed, the device manager recognizes these devices
and indicates the COM port numbers, as shown in Figure 2.5
NOTE: To update XDS110 USB driver, download and install XDS emulator software from this
link [http://processors.wiki.ti.com/index.php/XDS_Emulation_Software_Package]
NOTE: System Firewall on Host machine can sometime prevent the Ethernet connection to
DCA1000 board. Ensure that the firewall allows the Ethernet port access to mmWavestudio.
The latest version of Studio contains a DCA1000 CLI utility, which allows controlling
the DCA1000EVM over command line (without using the mmWaveStudio GUI).
Internally, mmWaveStudio GUI uses the same utility for all communication with
DCA1000EVM.
For instructions on using the DCA1000 CLI, refer Section 3 of the user guide present
at “ReferenceCode\DCA1000\Docs\TI_DCA1000EVM_CLI_Software_UserGuide.pdf”
The latest version of Studio contains a FPGA binary (version 2.8) present at
“PlatformBinaries\DCA1000FPGA” folder.
Instructions on flashing the FPGA binary onto the DCA1000 can be found at (Section
9 from the document https://www.ti.com/lit/ug/spruij4a/spruij4a.pdf )
The LVDS data captured by the DCA1000 EVM is packetized and transferred over the
Ethernet interface as UDP datagrams. These UDP datagrams are received by the target
PC and it is written into file on the target PC. These UDP data grams contains meta data
like packet sequence number, number of data bytes received until now which helps in
determining if there were any packets which were not received in order or if there were
any packets which were dropped.
The file name to store the raw ADC data is given by the user in the SensorConfig Tab.
The DCA1000 EVM appends “Raw_n” to the file name given by the user. After 1 GB of
capture, the DCA1000 EVM will start capturing the data into another file. Each
subsequent file will have the test “Raw_n” appended to the user given filename where n
is a number starting from 0. For example, if the user given filename is adc_data.bin, after
the capture, user will see adc_data_Raw_0.bin, adc_data_Raw_1.bin etc. files in the
mmWaveStudio\PostProc (default location of the raw ADC data files) folder.
NOTE: In the previous versions of mmWaveStudio, it was necessary to run Packet Reorder utility
once the raw data is captured from DCA1000 before post processing of the data using Matlab. In
this version and in subsequent versions of mmWaveStudio, it is not necessary to run the Packet
Reorder utility as the data obtained from the DCA1000 is already ordered and can directly be
used for post processing.
NOTE: If Matlab RunTime 8.5.1 is not installed prior to mmWave Studio invocation, error will
be displayed saying Matlab Runtime engine is not installed
The mmWaveStudio Main window has the following options in the Menu bar
Exit: Exits the application and saves the setup (all current API configurations are stored
locally in the PC which can be loaded back again).
Exit without saving layout: Exits without saving the current application setup .
Load Buttons – Load buttons from another toolbar configuration (clears existing
buttons)
Save Toolbar – Save the toolbar configuration to selected location (in xml
format).
Config Toolbar – Change the toolbar settings.
As soon as the mmWaveStudio GUI is opened, the Radar API window appears as
shown in FIGURE 4.6. Radar API Window is the primary tab through which the mmWave
device’s functionality can be verified. Also, the mmWave device is configured and
controlled from the mmWaveStudio by sending commands to XWR1xxx device over SPI
by interfacing through C DLL. Once the ADC data is captured using TSW1400 board,
the post processing is done and plots are available in the GUI by interfacing with Matlab
DLL.
The mmWaveStudio GUI components are dockable. Click View from the Menu bar,
select output option. The output window also appears along with the main window.
Select the output tab and drag to the section where you wish to dock. The output window
docking is shown in the FIGURE 4.7.
Both the logs and the script commands are available in the Output window.
The script commands can be used to create custom LUA scripts and later run
from the Run toolbar
Also, upon an error or if the application is not responding, the error logs can be
accessed by Right Clicking on the Output window.
LUA Shell is used to execute LUA script commands, perform LUA operations. Click
View LUA Shell in the mmWaveStudio main window. The LUA Shell window appears
as follows:
NOTE: The LUA shell supports auto-completion with the tab key.
History command – Typing history command in the LUA Shell prompt shows all the
commands being used by the user in current LUA Shell. By pressing Up-Arrow (↑) and
Down-Arrow (↓), the recent commands can be accessed.
5. Automation/Scripting
The XWR1xx interface exposes functions to LUA, which can be used to test predefined
sequences and automate functionality on the device. All these functions can be found
under the ar1 module.
1. Whenever a command is issued in the GUI window, the equivalent script
commands can be taken from the Output window and formed an automation
script. For example, In the Static Config tab, when Channel and ADC Config
command is sent, in the Output window, the script command is logged.
When the mmWaveStudio is invoked, the Connect Tab appears as shown in FIGURE
6.1.
CAUTION:
Before starting with any action on mmWaveStudio please make sure that
GUI detects the device connected to PC. Value of ‘No of devices detected’
must be 1 else click on till it detects the device.
NOTE: SOP control is only applicable when working with MMWAVE-DEVPACK. When using a
DCA1000 EVM, use the jumpers on the XWR1xxx BOOST to control the SOP settings.
Once the USB connections to the board is intact, Select the SOP Mode and Click Set
button. For SOP setting to be effective, Reset is also performed by the GUI.
Figure 6.3. Serial Port Control and selecting the COM port for RS232 operations
Since the default baud rate configured in the device is 115200 bps, mmWaveStudio
attempts to connect in 115200 baud rate, and then configures the RS232 module to re-
establish connection in 921600 baud rate.
mmwave_studio_<ver>\rf_eval_firmware\radarss\xwr16xx_radarss_rprc.bin for
XWR16xx and
mmwave_studio_<ver>\rf_eval_firmware\radarss\xwr12xx_xwr14xx_radarss_.bin
for XWR12xx/XWR14xx devices
4. For MSS, load the binary file (e.g.
mmwave_studio_<ver>\rf_eval_firmware\masterss\xwr16xx_masterss_rprc.bin for
XWR16xx and
mmwave_studio_<ver>\rf_eval_firmware\masterss\xwr12xx_xwr14xx_masterss.bi
n for XWR12xx/XWR14xx devices).
5. Click Load next to the BSS firmware. The mmWaveStudio application begins
downloading the firmware files entered in the previous steps.
7. Click Load next to the MSS firmware update. The MSS Firmware version gets
updated upon successful download.
NOTE: RF LDO bypass option should not be enabled on EVMs. If RF LDOs are enabled,
EVM may get damaged.
4. Low power options in the Sigma Delta ADC root sampling clock rate (reducing rate
to half to save power in small IF bandwidth applications).
5. Frequency limits of operation
6. Trigger basic calibrations and RF initializations
After successful SPI Connection and RF Power Up, the Set buttons can be clicked in the
order shown below:
Once the Static Configuration is complete, configure the Data Path by clicking Set button
as follows
NOTE:
1. Matlab post processing supports data capture only in following modes
a. 4 RX channel, 4 LVDS lanes
b. 2 RX channels, 2 LVDS lanes
c. 1 RX channel, 1 LVDS lane
2. Also, note that the RX channel number and LVDS lane number should match. For e.g. if user wants
data from RX channels 1 and 3, then enabled LVDS lanes should be 1 and 3
Sets FMCW radar chirp profiles or properties (FMCW slope, chirp duration, TX power
etc.). Since the device supports multiple profiles, each profile is defined in this sub block.
Internal RF and analog calibrations may be triggered upon receiving this sub block and
ASYNC_EVENT response sent once completed.
This sub block contains chirp to chirp variations on top of the chirp profiles defined in the
Profile config API. E.g. which profile is to be used for each chirp in a frame, and small
dithers in FMCW start frequency and idle time for each chirp are possible and are
defined here.
This sub block defines a frame, i.e. a sequence of chirps to be transmitted subsequently,
the no. of frames to be transmitted, frame periodicity and how to trigger them.
NOTE:
1. There is a new option called “Dummy Chirps (End)” added in Frame Configuration. This denotes
the number of dummy chirps which will run in the rampgen at the end of the frame. The ADC data,
CP and CQ data for these chirps will not be sent out from the device.
2. In the case of non-zero dummy chirps being configured, the in-built Matlab post processing in
Studio supports only when number of chirps loops is equal to 1. There is also a warning issued
during frame configuration denoting “Matlab Post Processing will not work properly if (chirp loops is
not equal to 1 and dummy chirps is not equal to 0”.
NOTE:
3. Ensure to open the HSDCPro software before issuing the Frame Configuration.
4. Matlab RunTime Engine (Version 8.5.1) and HSDCPro Software are pre-requisites for using the
Post Processing utility available in mmWaveStudio GUI
5. Number of frames is zero for infinite samples
NOTE:
1. To capture raw ADC data in TSW1400, do not enable infinite framing mode (no. of frames = 0)
2. TSW1400 captures frames only for 10 seconds. Hence, ensure that total period of data capture (=
frame periodicity x No. of frames) < 10 seconds
5. Set up TSW 1400 (ADC capture card). Wait until the setup completes.
7. Trigger Frame
8. Stop Frame if infinite frames have been configured.
9. Post Processing. Opens a ‘radar post processing’ tool that reads the ‘dump file’
and processes it, and finally displays a series of useful plots. The basic post
processing window appears as follows
NOTE:
1. It is recommended to perform “Setup DCA1000” just before DCA1000 ARM for the first
time/session capture.
2. Make sure to provide at least 2 seconds gap between DCA1000 ARM and Trigger Frame. Else, no
LVDS data would be captured and there would be a timeout for 30 secs.
3. On successful capture, “Record is completed” message would be displayed in the Output console
window.
4. Steps 6, 7, 8 and 9 can be run multiple times in a loop.
5. If the number of samples to be collected changes (for e.g. if the number of frames is modified),
then step 5 (setup TSW1400) needs to be retriggered.
6. The tool TSW1400 can only capture samples in multiples of 4096 (real samples per channel). If
you have an odd number of samples to collect, please increase the number of frames, so that at
least 4096 samples.
Using RS232 communication interface, the device registers can be accessed using
Register Operations tab. Also, the debug signals like APLL, synth can be configured
using the Debug Signals section.
NOTE: The Register Operation is enabled only upon successful connection over RS232 to
XWR1xx device
Register Read/Write
Read/Write can be performed through bit fields and also 32-bit values.
Select the debug signal and Click Set button. The debug signals available are:
1. NO MUX
2. APLL OUT
3. SYNTH OUT(2.5G)
4. SYNTH OUT(5G)
10.3 GPIO_0
The GPIO_0 can be used to bring out ADC valid signal which can be used to trigger the
external instrument for synthesizer related measurements.
33 mmWave Studio Users Guide
Copyright © 2016-2017, Texas Instruments Incorporated
www.ti.com
on will have loopback enabled. To disable loopback, the loopbacks can be disabled in
this tab and frames triggered from then on will have loopbacks disabled.
NOTE: All profiles in the frame will have loopback paths enabled as long as the loopback is
enabled.
This allows configuration of the Calibration/Monitoring Time Unit in units of frames. No.
of devices should be set to 1 if only 1 device is used
This allows control of calibrations which will be triggered at RF Init. Default operation is
will all calibrations enabled
This allows either ‘One Time calibration’ which will be triggered instantaneously or
‘Periodic calibrations based on a Calibration Periodicity (in units of CalibMonTimeUnits)
which will be triggered periodically when the frames are transmitted. Periodic calibrations
are not triggered are frames are not ongoing.
This indicates a failure if the inter-frame/inter-burst idle time is not sufficient to trigger
periodic calibrations/monitoring as specified by the user. The failure message is sent
after frame config message is sent to the device.
This indicates the status of RF Init calibrations and if the results were applied in
hardware. Along with this report, the boot time temperature and the time stamp is also
indicated.
This indicates the status of run time calibrations and if their results were applied in the
hardware. Along with this information, the current device temperature and the timestamp
at which the calibration results were applied is also indicated. If the user does not enable
‘Cal Report’ in the ‘Run Time Calibration and Trigger Config’, then the periodic Run Time
calibration reports will not be sent by the device.
18. Monitoring
The entire digital monitoring boot up test status, latent fault tests and periodic tests can
be triggered through this tab. This is not functional in the firmware now, but will be made
available in future releases.
This is included in AnalogTxMon tab. There is a checkbox for each analog monitoring
feature
18.3 TX monitoring
The entire analog TX monitoring configurations are available in AnalogTxMon tab. This
includes
1. TX power monitor
2. TX ball break monitor
3. TX BPM monitor
4. TX gain and phase monitor
The details of these monitor configurations are given in the Radar Interface Control
Document.
18.4 RX monitoring
The entire analog RX monitoring configuration is available in the AnalogRxMon tab. This
includes the configurations for following monitors
1. RX gain phase monitor
2. RX noise figure monitor
3. RX IF stage monitor
4. RX saturation detector monitor
5. RX signal and image band monitor
This tab also includes the temperature monitor and synthesizer fre quency error monitor
configurations.
The details of these monitor configurations are given in the Radar Interface Control
Document.
The entire DCBIST monitor configurations are available in DCBISTmon tab. This
includes the configurations for following monitors
1. External analog signals monitor
2. Internal TX signals monitor
3. Internal RX signals monitor
4. Internal PMCLKLO signals monitor
5. GPADC monitor
6. PLL control voltage monitor
7. DCC based clock monitor
3. MSSEvents.txt
This report logs all the async events related to the MSS
MSS Power up async event
BSS Power up async event
MSS CPU Fault status
MSS ESM Fault status
MSS Boot Error status
MSS Latent Fault monitoring
MSS Periodic Test monitoring
MSS RF Error status
MSS Voltage monitoring Error status
4. MonitoringReport.txt
This report logs all other async events coming from the device specifically the analog
and the digital monitors.
NOTE: In the case of cascade system, the reports for each device are logged into separate
files and the name of the file is suffixed with the device index.
For example, on receiving a runtime calibration report from slave 2 (device index 2), it would
be logged into a file named CalibrationReport_2.txt
The async events sent from the device will be received at the async event handler of
mmWaveStudio. Based on the sub block ID received, the report can be identified. This
async event data is logged into the respective files based on the format present in the
Monitoring_Data_Format.xml.
This XML is present at the PostProc folder and by default makes use of the format
mentioned in the ICD for each report.
The format for each report in the XML starts with a <MonReport> tag.
Each <MonReport> tag has the following branches
<name> tag: The name of the report.
<size> tag: The size of the report excluding the sub block ID and sub block
length.
<field> tag: Each field in the report.
Each <field> tag has the following branches
<field_name> tag: The name of the corresponding field.
<offset> tag: The byte offset from the start of the report of a particular field.
<bytes> tag: The number of bytes corresponding to a particular field.
<split> tag: This tag gives information on whether the following field needs to be
printed as a whole (even though it might be a bitmap) or printed separately into
sub-fields. If no split is required, it is provided as zero.
If split of the <field> is required, then the corresponding sub-fields are represented
through the <bitinfo> tag. Each <bitinfo> tag contains the following fields
<bitname> tag: The name of the corresponding sub-field
<bitstart> tag: the bit offset from the start of the field of a particular sub-field.
<bits> tag: The number of bits corresponding to a particular sub-field.
47 mmWave Studio Users Guide
Copyright © 2016-2017, Texas Instruments Incorporated
www.ti.com
<mult_fact> tag: This tag provides the multiplication factor on which the
corresponding sub-field obtained needs to be tweaked.
<signed> tag: This tag provides the limits similar to a signed value
representation.
RX_GAIN_VALUE_RX3_RF2 51.00
RX_GAIN_VALUE_RX0_RF3 52.40
RX_GAIN_VALUE_RX1_RF3 52.70
RX_GAIN_VALUE_RX2_RF3 52.20
RX_GAIN_VALUE_RX3_RF3 50.80
RX_PHASE_VALUE_RX0_RF1 186.71
RX_PHASE_VALUE_RX1_RF1 183.48
RX_PHASE_VALUE_RX2_RF1 186.49
RX_PHASE_VALUE_RX3_RF1 182.64
RX_PHASE_VALUE_RX0_RF2 280.90
RX_PHASE_VALUE_RX1_RF2 284.87
RX_PHASE_VALUE_RX2_RF2 281.29
RX_PHASE_VALUE_RX3_RF2 275.81
RX_PHASE_VALUE_RX0_RF3 14.98
RX_PHASE_VALUE_RX1_RF3 16.91
RX_PHASE_VALUE_RX2_RF3 13.14
RX_PHASE_VALUE_RX3_RF3 8.44
RX_NOISE_POWER1_RX0_RF1 -42
RX_NOISE_POWER1_RX1_RF1 -42
RX_NOISE_POWER1_RX2_RF1 -42
RX_NOISE_POWER1_RX3_RF1 -40
RX_NOISE_POWER1_RX0_RF2 -36
RX_NOISE_POWER1_RX1_RF2 -36
RESERVED 0
RX_NOISE_POWER2_RX2_RF2 -36
RX_NOISE_POWER2_RX3_RF2 -36
RX_NOISE_POWER2_RX0_RF3 -36
RX_NOISE_POWER2_RX1_RF3 -34
RX_NOISE_POWER2_RX2_RF3 -36
RX_NOISE_POWER2_RX3_RF3 -38
RESERVED 0
TIME_STAMP 42902
The user can tweak the XML according to requirement based on the instructions/information
provided in the previous section.
If reports are to be generated in a particular format according to an XML, the user needs to
rename that particular XML file to Monitoring_Data_Format.xml and place it in the PostProc
folder.
For the XML changes to take place, mmWaveStudio needs to be restarted as the XML
information/format for each report is loaded at the startup of mmWaveStudio.
For ease of location, a JSON Import/Export button has been added on the left side of the
GUI, which leads to Import/ Export Tab. The various features on this tab are explained in
the subsequent sub sections
b. Baud rate
c. BSS Firmware path
d. MSS Firmware path
e. Operating Frequency [New]
f. Device Variant [New]
2. Capture Card Configuration (for DCA1000)
a. Data logging Mode
b. Data transfer Mode
c. Data Capture Mode
d. Packet sequence enable
e. Packet delay
3. Post proc Info
a. Path and name of raw data capture file
b. Path for name of processed raw data capture file
The following features are supported by the Capture Setup section of JSON Parser in
mmWaveStudio.
20.2.1 Import
It loads the Setup and Capture specific configuration in the appropriate tabs.
Specifically, this operation loads the Connection Tab related information and RF Capture
Card related information.
20.2.2 Setup
It configures the Setup and Capture fields with the loaded configuration. It does the
following configurations in sequence.
1. Reset Control
2. RS232 Operations
3. BSS Firmware download
4. MSS Firmware download
5. SPI Connect
6. RF Power Up
7. DCA1000 Capture Card configuration setup. (if DCA1000 is used).
The following features are supported by the mmWave Device section of JSON Parser in
mmWaveStudio.
20.3.1 Import
It performs various checks before populating the configuration in the appropriate fields.
At the trigger of Import, the deviceID and the corresponding waveform type will be
displayed based on the input mmwave configured used.
A message will be displayed in the Output log after successful completion of the import
operation.
20.3.2 Load
It loads the mmWave Device specific configuration in the appropriate tabs.
After loading the configuration, the user can either use “Configure Device” to execute all
of the configurations present in input mmwave configuration file at one click, or choose
to manually execute selective configurations in various tabs.
A message will be displayed in the Output log after successful completion of the Load
operation.
20.5 Export
It exports the Capture Setup and mmWave Device specific configuration that is either
performed from the GUI or is a part of the input JSON file. The user can export the
configuration at any instant.
On clicking Export, it displays two “Save As” pop-up windows in a sequence.
1. The first window is used to export the Capture Setup Configuration with .setup.json
as the extension.
2. The second window is used to export the mmWave Device Configuration with
.mmwave.json as the extension.
Sliders
Independently Independently
selectable plot A selectable plot B
Information sidebar
Independently Independently
selectable plot C selectable plot D
Below the sliders, are two buttons, the ‘play’ button ‘plays’ the captured scenario, moving
through each frame and updating the plots. ‘Playing’ through a captured scenario is a
good way to see and correlate the captured scenario with what the different plots show,
and see if there are issues.
While the default plots are a useful way to understand the radar data, some modification
(to the plots) is sometimes required. So a number of ‘less-common’ options to modify the
different plots are provided in a separate menu. This menu can be accessed using the
‘Miscellaneous options’ button.
Finally, below the ‘Play’ and ‘Miscellaneous options’ buttons is series of spreadsheets
which provide the important parameters that were used to plot these graphs.
The Range-velocity ‘mesh’ graph computed by performing a 2D-FFT of one frame of the
captured scenario is shown in this plot. The x-axis shows the velocity (in meters/second)
and the y-axis shows the range (in meters). Strong-reflectors are shown in brighter
colours, and the noise floor is shown in dark blue.
The 2D output of each channel can be independently selected using the channel
selector. If the ‘common’ option is selected in the channel selector, then the non-
coherent-sum of the 2D FFT output across channels is plotted.
This plot shows a top-down view of the range-angle mesh. Targets are shown in brighter
colours. The processing assumes a 1-Tx 4-Rx antenna configuration, with all 4 Rx
antennas lying on the same plane (separated by 𝜆/2, where 𝜆 is the starting
wavelength of the FMCW ramp).
No calibration is performed in this step. Note that since only 4 antennas are used in the
3rd dimension processing, only a crude estimation of the angles are possible.
This is a graphical depiction of the chirps that have been configured on the device. The
x-axis is time (in seconds), and the y-axis is the ramp frequency. Using the
‘miscellaneous options’ menu, the plot can be modified to show all the chirps of a
complete frame.
Since the chirp is common to all the rx channels on the device, only ‘common’ option is
allowed on the channel selection dropdown.
This is the ‘1D-FFT’ amplitude profile. The x-axis can be configured (using the
‘miscellaneous options’ menu) to be in meters or in Hz (IF frequency) or in samples.
The y-axis is given in dBFS.
Also, in the ‘miscellaneous options’ menu are options to do ‘non-coherent’ sum across
chirps (per frame) and across antennas, as well as options to select the window (by
default the Hann window is used).
This plot has the ‘Raw ADC data’ per chirp is plotted. The x-axis can be either time or
‘instantaneous ramp frequency’ or ‘sample number’. The y-axis is in either ADC codes or
in (1/full-scale).
Phase stability is an important concern when measuring vibration frequency, and also in
low velocity measurement. This plot shows the phase (of the strongest reflector) as a
function of the chirps of a frame. The x-axis is in ‘chirp number’ and the y-axis is in
degrees. Note that the y-axis label also tells where the strongest reflector is present (in
meters).
Amplitude stability is a good measure of how stable the transmit power is across a
Frame. This plot shows the amplitude of the strongest tone in the chirp. The position of
the strongest reflector (in meters) is shown in the y-axis label.
In a stationary scene, all energy from reflectors will be concentrated on the zero-velocity
range bins. High-velocity range-bins will essentially be showing the thermal noise floor.
This plot displays the Zero-velocity and the High velocity bins for an easy estimate of the
SNR.
The ‘high velocity bin’ graph is generated from the ‘2D-FFT’ by averaging the velocity
bins from ‘𝑚𝑎𝑥𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦 /2’ to ‘𝑚𝑎𝑥𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦 ′ and ‘-𝑚𝑎𝑥𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦 /2’ to ‘-𝑚𝑎𝑥𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦 ′.
Some of these plots use all the Rx antennas to create the plot (1a, 1b, 1c, 2a, 2b, 2c),
some have a per Rx measurement (1e, 1f, 3a, 3b), some aren’t associated with the Rx
plot (1d).
For measurements that are associated with a particular Rx, the channel select option
can be used to select the channel whose measurement is to be shown.
PostProc will automatically select the first channel when changing from a common
measurement to a per-channel measurement and vice-versa.
These slides allow exploring the different frames of the ADC dump. Within a frame, the
different chirps can also be selected. If multiple ‘chirp config’ are selected as part of the
frame, each is shown separately in the profile slider. Note that if the Advanced Frame
Config is used, additional sliders will appear to allow the selection of ‘sub-frames’,
‘bursts’, ‘burst-loops’ which are configurable only through the Advanced Frame Config.
g. Velocity resolution
21.5 Play
If the ADC data has multiple frames, the play button plays through the frames one by
one, allowing one to see the evolution of the scene.
This window holds a list of options to modify and alter the plots. Options are organised in
different ‘boxes’, with each box corresponding to a particular type of plot. The current
‘boxes’ are.
21.6.1 Detection
The detection algorithm is 2D-CFAR-CA.
a. CFAR method. There are three different variants of CFAR that can be selected.
iii. CFAR-CA computes the noise floor considering samples that lie in a
window that spans both sides of the CUT (cell under test). The noise floor is
simply the mean of the energy in that window.
iv. CFAR-CA-SO selects the ‘smaller of’ (hence -SO) the noise-floor computed
using samples that lie on left-side of the CUT and the noise floor computed
using samples that lie on the right of the CUT.
v. CFAR-CA-GO selects the ‘greater of’ (hence -GO) the noise-floor computed
using samples that lie on left-side of the CUT and the noise floor computed
using samples that lie on the right of the CUT.
b. CFAR guard-window size. The guard window is used to reduce the effect of
adjacent targets (or leakage) when measuring the noise floor. Essentially the
samples that lie within the guard-window are omitted from the computation of the
noise-floor.
c. CFAR window size. The size of the window determines the number of samples
that are used to compute the noise-floor. The larger the window size, the better
the noise floor estimate. However, the larger the window, the more probable that
multiple targets will occur in the same window and result in a raised noise floor.
d. CFAR Threshold. Once the noise floor has been computed, it is compared
against the CUT. If the CUT is greater than the noise-floor by the CFAR
threshold, then CUT is declared as a valid target. Reducing the detection
threshold will help increase the number of detected targets.
21.6.3 Miscellaneous
e. Separate real/imag. In the ‘1-D FFT amplitude profile’ plot optionally separate
the imaginary and real parts of the FFT.
f. Image band options. In the ‘complex 2X’ mode, the image band (i.e. negative
frequencies) is visible. However, since no target can lie ‘behind’ the radar, the
image band is of no interest in field tests. It is only useful in interference
detection, and in monitoring.
g. DC removal option. This option can remove DC on a per-frame basis. By default
DC is removed as it will result in cleaner images.
h. Detection overlay options. Allow the detection results to be displayed over the
‘2D FFT profile’ plot, and the range-angle plot.
The tool is ‘by default’ configured for characterization so no changes need to be done.
There is no reason to access the ‘miscellaneous options’ menu.
This is particularly useful when the data is already captured from a previous session and the user
just needs to post process the data using Studio.
Go to the “Sensor Config” tab directly once Studio is opened.
Provide an empty path (like in the screenshot below) and click on “PostProc” button.
Click on “Load .log” on the toolbar and select the corresponding log file.
Click on “Load .bin” on the toolbar and select the corresponding bin file.
The basic plots will be obtained for the bin file and the log file selected
the connection to port 2777, and then displays a green message in the
mmWaveStudio Output window.
Init_RSTD_Connection.m
%% Init_RSTD_Connection.m
1 function ErrStatus = Init_RSTD_Connection(RSTD_DLL_Path)
2 %This script establishes the connection with mmWaveStudio software
3 % Pre-requisites:
4 % Type RSTD.NetStart() in mmWaveStudio Luashell before running the script.
This would open port 2777
5 % Returns 30000 if no error.
6 if (strcmp(which('RtttNetClientAPI.RtttNetClient.IsConnected'),'')) %First
time the code is run after opening MATLAB
7 disp('Adding RSTD Assembly');
8 RSTD_Assembly = NET.addAssembly(RSTD_DLL_Path);
9 if ~strcmp(RSTD_Assembly.Classes{1},'RtttNetClientAPI.RtttClient')
10 disp('RSTD Assembly not loaded correctly. Check DLL path');
11 ErrStatus = -10;
12 return
13 end
14 Init_RSTD_Connection = 1;
15 elseif ~RtttNetClientAPI.RtttNetClient.IsConnected() %Not the first time but
port is disconnected
16 % Reason:
A sample Lua script named “Automation.lua” is present at the Scripts directory for
reference.
In order to execute the script, the command to be provided is as follows:
Every Lua script that needs to be executed should have the startup portion as
shown below
The sample script shows how to do a basic capture using the DCA1000
EVM. The script can be extended for custom usage.
24.1 Preliminaries
24.2 Notation
Every sample captured by TSW1400 is 2 bytes long and in the ‘offset binary format’. In
other words, every sample has an extra 215 added to it. To get the true ‘2s complement’
number, perform the following operation on every sample ‘𝑥’ read from the file.
𝑥 = 𝑥 – 215
Data captured from DCA1000 does issue. Each sample is in 2s complement format.
In the above diagram, each green block refers to one 16-bit number. Data is arranged in
row-major-order. Note also, that each chirp consists of 𝑵 complex samples.
If the number of enabled channels is two or one, then the rows corresponding to the
disabled channels are removed in the above diagram. There is no support for three
channels on 2 lanes. As an example with two channels (say, 1 and 3), then the ‘data
format’ will look as follows.
24.4.2 2 LVDS Lanes, real data, variable number of channels, chirping mode
Random x x x x … x x
number
of x x x x … x x
samples x x x x … x x
x x x x … x x
Sync 2047 15
2048+2 2047+2 15
2048+2 15
2047+2 15
2048+2 15
2047+215 2048+215
Pattern +215
Data Rx0I0 Rx0Q0 Rx0I1 Rx0Q1 … Rx0I1023 Rx0Q1023
Packet 1
Rx1I0 Rx1Q0 Rx1I1 Rx1Q1 … Rx1I1023 Rx1Q1023
Rx2I0 Rx2Q0 Rx2I1 Rx2Q1 … Rx2I1023 Rx2Q1023
Rx3I0 Rx3Q0 Rx3I1 Rx3Q1 … Rx3I1023 Rx3Q1023
Sync 2047 2048+2 15
2047+2 15
2048+2 15
2047+2 15
2048+2 15
2047+215 2048+215
Pattern +215
In the continuous streaming mode, a sync packet precedes every LVDS data packet. In
order to make sense of the data, first, find the sync packet and then collect (𝑛4)kB,
(where 𝑛 is the number of channels). The next data packet begins after (𝑛4) kB. It will
also have a sync pattern in its start.
The sync packet is actually just the following numbers with each number being 2 bytes
long, and the entire packet being 128 bits.
However, since HSDC Pro converts the samples to ‘offset binary, we add 2 15 to the sync
pattern, and then search for it.
If the number of enabled channels is two or one, then the rows corresponding to the
disabled channels are removed in the above diagram. There is no support for three
channels on 2 lanes. As an example, the following diagram shows the data format when
only two channels (1 and 3) are enabled.
Random x x x x … x x
number
of x x x x … x x
samples x x x x … x x
x x x x … x x
Sync 2047 2048+215
2047+2 15
2048+2 15
2047+2 15
2048+2 15
2047+215 2048+215
Pattern +215
Data Rx1I0 Rx1Q0 Rx1I1 Rx1Q1 … Rx1I1023 Rx1Q1023
Packet 1
Rx3I0 Rx3Q0 Rx3I1 Rx3Q1 … Rx3I1023 Rx3Q1023
Sync 2047 2048+2 15
2047+2 15
2048+2 15
2047+2 15
2048+2 15
2047+215 2048+215
Pattern +215
In the above diagram, each green block refers to one 16-bit number. Data is arranged in
row-major-order. Note that the data format is a transpose of the xWR16xx format.
The data format remains unchanged in the ‘continuous streaming’ mode where one can
think of the data collected as belonging to a single large chirp. There is no sync packet
at the start of an LVDS packet, as there is one lane for each channel, so we will always
know which lane has which channel.
If the number of enabled channels is less than four, then the columns corresponding to
the disabled channels will have zeroes in it. For example, if only channels 1 and 3 are
enabled, then the data format will look as follows.
… … … … …
Rx0IN-2 Rx1IN-2 Rx2IN-2 Rx3IN-2 Rx0IN-1 Rx1IN-1 Rx2IN-1 Rx3IN-1
Chirp 2 Rx0I0 Rx1I0 Rx2I0 Rx3I0 Rx0I1 Rx1I1 Rx2I1 Rx3I1
Rx0I2 Rx1I2 Rx2I2 Rx3I2 Rx0I3 Rx1I3 Rx2I3 Rx3I3
… … … … …
Rx0IN-2 Rx1IN-2 Rx2IN-2 Rx3IN-2 Rx0IN-1 Rx1IN-1 Rx2IN-1 Rx3IN-1
24.8 DCA1000 EVM capture format (xWR16xx complex, 4 channel, 2 lanes [Non-
Interleaved])
24.9 DCA1000 EVM capture format (xWR16xx real, 4 channel, 2 lanes [Non-
Interleaved])
Texas Instruments Incorporated (‘TI”) technical, application or other design advice, services or information, including, but not limited
to, reference designs and materials relating to evaluation modules, (collectively, “TI Resources”) are intended to assist designers
who are developing applications that incorporate TI products; by downloading, accessing or using any particular TI Resource i n any
way, you (individually or, if you are acting on behalf of a company, your company) agree to use it solely for this purpose and subject
to the terms of this Notice.
TI’s provision of TI Resources does not expand or otherwise alter TI’s applicable published warranties or warranty disclaimers for TI
products, and no additional obligations or liabilities arise from TI providing such TI Resources. TI reserves the right to make
corrections, enhancements, improvements and other changes to its TI Resources.
You understand and agree that you remain responsible for using your independent analysis, evaluation and judgment in designing
your applications and that you have full and exclusive responsibility to assure the safety of your applications and complianc e of your
applications (and of all TI products used in or for your applications) with all applicable regulations, laws and other applicable
requirements. You represent that, with respect to your applications, you have all the necessary expertise to create and implement
safeguards that (1) anticipate dangerous consequences of failures, (2) monitor failures and their consequences, and (3) lessen the
likelihood of failures that might cause harm and take appropriate actions. You agree that prior to using or distributing any
applications that include TI products, you will thoroughly test such applications and the functionality of such TI products as used in
such applications. TI has not conducted any testing other than that specifically described in the published documentation for a
particular TI Resource.
You are authorized to use, copy and modify any individual TI Resource only in connection with the development of applications that
include the TI product(s) identified in such TI Resource. NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR
OTHERWISE TO ANY OTHER TI INTELLECTUAL PROPERTY RIGHT, AND NO LICENSE TO ANY TECHNOLOGY OR
INTELLECTUAL PROPERTY RIGHT OF TI OR ANY THIRD PARTY IS GRANTED HEREIN, including but not limited to any patent
right, copyright, mask work right, or other intellectual property right relating to any combination, machine, or process in which TI
products or services are used. Information regarding or referencing third-party products or services does not constitute a license to
use such products or services, or a warranty or endorsement thereof. Use of TI Res ources may require a license from a third party
under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellec tual property
of TI.
TI RESOURCES ARE PROVIDED “AS IS” AND WITH ALL FAULTS. TI DISCLAIMS ALL OTHER WARRANTIES OR
REPRESENTATIONS, EXPRESS OR IMPLIED, REGARDING TI RESOURCES OR USE THEREOF, INCLUDING BUT NOT
LIMITED TO ACCURACY OR COMPLETENESS, TITLE, ANY EPIDEMIC FAILURE WARRANTY AND ANY IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT OF ANY THIRD
PARTY INTELLECTUAL PROPERTY RIGHTS.
TI SHALL NOT BE LIABLE FOR AND SHALL NOT DEFEND OR INDEMNIFY YOU AGAINST ANY CLAIM, INCLUDING BUT NOT
LIMITED TO ANY INFRINGEMENT CLAIM THAT RELATES TO OR IS BASED ON ANY COMBINATION OF PRODUCTS EVEN IF
DESCRIBED IN TI RESOURCES OR OTHERWISE. IN NO EVENT SHALL TI BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL,
COLLATERAL, INDIRECT, PUNITIVE, INCIDENTAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES IN CONNECTION WITH
OR ARISING OUT OF TI RESOURCES OR USE THEREOF, AND REGARDLESS OF WHETHER TI HAS BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES.
You agree to fully indemnify TI and its representatives against any damages, costs, losses, and/or liabilities arising out of your
noncompliance with the terms and provisions of this Notice.
This Notice applies to TI Resources. Additional terms apply to the use and purchase of certain types of materials, TI products and
services. These include; without limitation, TI’s standard terms for semiconductor products http://www.ti.com/sc/docs/stdterms.htm),
evaluation modules, and samples (http://www.ti.com/sc/docs/sampterms.htm).
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2017, Texas Instruments Incorporated