MIMO Kit

From indie Semiconductor Wiki
Jump to navigation Jump to search

1 SiRad MIMO r2

The platform consists of two stacked boards, a universal baseband board, and an interchangeable Radar Frontend (RFE) board with a radar transceiver chip. The baseboard performs radar signals digitalization, processing, and transferring to a host computer (PC). Changing the RFE board allows the use of radar configurations with different frequency bands, antenna configurations, etc.

1.1 The Baseboard Design

The baseband radar signals from the chip are filtered and amplified (with user-selectable variable gain), before being sampled by two microcontrollers named iADCs (intelligent analog to digital converter). Each iADC digitizes three receive channels with a maximum sampling frequency of 2.5MHz. The iADCs capture a number of ramps from active transmit channels and thus form a “data cube” in memory. A data cube can be considered a group of digitized ramps collected from all activated transmit and receive channels on which all first level (DC cancellation, windowing, 1-D Fourier transform, target detection, etc.) and second level processing (Doppler estimation, angular estimation) takes place. It can also be viewed as the unit of data required to generate a frame in the GUI.

The iADC can be configured to output data at various points along the processing chain, for instance, raw ADC sample data, FFT output data, etc. Once ready, data is transferred to the main controller.

The main controller may perform second stage processing like various Direction of Arrival (DOA) algorithms, Doppler-Range estimation, etc. but the primary role of the main controller is sending data to a host PC for visualization and analysis. Data transmission is performed over the Ethernet interface by the UDP protocol.

A further microcontroller controls all parts of the system, generates sampling and ramp sequences, provides a command interface for system configuration and control. It is called the Housekeeper. The command interface with the housekeeper is text-based and implemented via the USB-Serial interface.

The housekeeper also interacts with the RFE board via the SPI interface to detect its type, to switch transmission antenna, and to perform some configuration.

The baseband board also integrates a PLL chip. It gets a divided RF carrier signal from the radar chip and forms a control signal to sweep (or set statically) frequencies according to the ramp sequence.

1.2 The RFE Design

The 24GHz 2TX4RX RFE board has two transmit and four receive antennas. The radar transceiver chip is controlled via SPI interface. The board has a dedicated microcontroller to control the transceiver chip and to interact with the baseboard.

Two RX channels have a full set of quadrature components (I and Q) and two channels provide only in-phase (I) components.

1.3 Triggering Description

The sample triggering process is controlled by the housekeeper controller which generates iADC sampling pulses and starts PLL sweeps according to a ramp structure. Internally the triggering process is based on a 10 MHz clock. All time intervals is taken as number of the 10 MHz clock pulses.

A simplified timing diagram of triggering process is displayed:

The idle interval is intended to restore PLL frequency to an initial value. At the same time, the housekeeper communicates with the RFE boards and sends commands to switch TX antenna. This takes about 50us. Therefore the idle time should not be setup less than this value.

The triggering is configured by the trg command and has four parameters (further documented in Chapter 3).

The first parameter defines the sampling interval. Its minimum value is si = 4 which gives 4/10MHz = 0.4us sampling interval or 2.5Mhz sampling frequency.

The second parameter is the number of samples per ramp which defines the ramp duration. For example, sc=512 sampling pulses corresponds 512 * 0.4us = 204.8us ramp duration in case of si = 4.

The third parameter ri defines the ramp interval which should be at least 50us greater than the ramp duration. For example, if si = 4 and sc=512, ri maybe chosen equal to 3000 that gives the ramp interval 3000/10MHz = 300us and the idle time about 300us – 204.8us = 95.2us.

And the last parameter rc is the number of ramps in a data cube. Its value should be the power of two and has a minimum value of 32.

For each ADC channel, there is a buffer of 65536 samples length. So it is possible to have various combinations of a number of ramps and sampling pulses per ramp to keep data in the buffer. For example, it is possible to set up 128 ramps x 512 samples, or 64 ramps x 1024 samples, and so on.

1.4 The Baseboard Command Interface

The command interface operates via USB interface. Connection the board to a Windows-based host PC creates a virtual serial port. It supports 115200bps 8-N-1 mode. A terminal program has to be set up to transmit CR+LF at the end of a line.

Recommended command sequence:

1. Set up PGA/baseband gains. 2. Set up triggering parameters. 3. Start trigger. 4. Stop trigger (if triggering with repetition interval).

1.5 Data Interface

Data transmission is performed via Ethernet using UDP. The current implementation uses static IP configuration. By default, the baseboard has IP address 192.168.0.5 and it sends UDP data stream to the address 192.168.0.1, port 5001. Both addresses may be changed via the command interface. But the baseboard keeps setting till reset or power down/up cycle.

The network stack supports ping functionality which may be used for diagnostics.

In case of using the kit with Windows OS, attention should be paid to the firewall settings. For example, native Windows firewall drops incoming UDP packets by default.

The data stream has the following format:

The stream consists of periodic SYNC and DATA packets. The SYNC packets are intended to set up a synchronization among the stream and transmitted by one UDP packet. Data is transmitted by the necessary number of UDP packets.

The data portion consists of ramp data fields. Each of them has a header and a data payload.

The SYNC packet consists of 48 bytes and may be described by the following structure:

typedef struct { uint32_t syncWord_1; uint32_t syncWord_2; uint64_t frameCnt; uint32_t dataLen; uint32_t crc; } SyncFrame_t;

where syncWord_1 = 0x12345678, syncWord_2 = 0xAA55AA55, frameCnt is a counter which is increased every SYNC packet, dataLen is amount of data bytes following SYNC, crc is an optional CRC-32.

The format of the data portion is as in the following figure:

The TxID and RxID field are used to label the transmit and receive channel (thus virtual channel) from which the data in the payload relates to.

The Sweep CNT gives the ramp number of a particular virtual channel. I.e. the first ramp from transmitter Tx1 to receiver Rx1 will have a Sweep CNT of 1, the second will ramp from transmitter Tx1 to receiver Rx1 will have a Sweep CNT of 2, etc..

The Data Type field details the form of the data in the payload. In essence, it defines the preprocessing steps that have taken place on the data. As features are added to the firmware, further options will be added to the Data Type field.

The variable type field gives the format of each sample point in the payload. For example, Raw Time Domain data comes in the form of unsigned 16-bit integer ADC values, whereas FFT points are 32-bit floating-point values.

The No. Samples field gives the number of sample points in the payload.

In order to determine the total size of the Data Payload in bytes, the Variable Type and No. Samples field must be examined together. For example; 512 Raw Time Domain data points will give a data payload of 2 × 512 = 1024 bytes, whereas 512 FFT points will give a data payload of 4 × 512 = 2048 bytes.

When determining the size of the entire data frame, the size of the header and CRC must be factored in also.

1.6 Firmware Update Procedure

The platform has five programmable parts with upgradeable firmware: - Housekeeper MCU - The main controller MCU - Two iADC MCU - RFE board MCU

The listed MCUs are manufactured by ST Microelectronics and should be programmed by STLINK-V3MINI debugger and STM32 ST-LINK Utility.

The firmware is provided in the form of binary files with the following naming: - F446-Housekeeper – housekeeper firmware - H745-MainController_CM7.bin – the main controller firmware - H750-iADC.bin - the iADC firmware (identical for both) - RFE_Controller.bin – RFE controller firmware

The firmware updating is performed using the same steps for each MCU. The only difference is the physical SWD connector used. The baseboard has four SWD connectors and the RFE board has one.

In the figure below an example of ST-LINK cable connection is depicted.

The firmware upgrade is performed by the following steps:

1. Disconnect the power source from the mainboard.

2. Connect STLINK-V3MINI cable to an appropriate SWD connector.

3. Run STM32 ST-LINK Utility.

4. Power up the baseboard

5. In the STM32 ST-LINK Utility select menu Target/Connect.

In case of a successful connection with a target, the program has to report in its status windows. In case of old STLINK-V3MINI internal firmware, ST-LINK Utility may require to update it.

6. Open an appropriate binary file by File/Open file menu.

7. Flash firmware by Target/Program&Verify menu.

8. Disconnect target by Target/Disconnect

9. Disconnected power source from the mainboard.

10. Detach STLINK cable.

2 SiRad MIMO - 24 GHz

2.1 Specifications / Features

Silicon Radar’s MIMO evaluation kit is a fully embedded system providing the user with a number of methods for visualizing and working with MIMO radar data through the use of a GUI. This gives the user an ability to change a number of system parameters and see the resulting system performance.

2.2 First Steps

2.2.1 Network Configuration:

The Evaluation Kit interfaces with the PC through an Ethernet connection. This connection is managed by a DHCP protocol.

On startup, the kit will search for a DHCP server to become a client of. Once the kit is subscribed to the DHCP server, any client running the GUI will be able to connect to it and run the Kit.

If there is no DHCP server present, the kit will time out searching for the server after approximately 60 seconds and become a DHCP server itself. Once this happens any client connected to the kit (i.e. a user PC) will be assigned an IP address by the kit and will be able to connect to and run the kit via. the GUI.

2.2.2 Starting the Kit

2.2.2.1 Power and Network Connection:

Connect the 5V power block to the kit. Once successfully powered, LED D2 located near the SD card should blink green for a few seconds.

Ensure an Ethernet cable connects the kit to the laptop. Use ipconfig to verify the network settings as described in the previous section.

2.2.2.2 Using the GUI:

Start the GUI via the executable file provided.

To connect to the Kit, simply click the “connect” button. A green light should appear to signify successful connection to the kit.

Once a configuration has been chosen via the radar settings panel on the left, use the green “Send configuration” button to configure the kit.

Clicking the red “Start acquisition” button to begin measurements and display. If you to change the configuration, first click the “Stop acquisition” button before choosing new settings, sending the new configuration and restarting acquisition.

2.3 Data Visualization

The two primary data views are Range – Doppler (plotting distance against speed data, shown left in figure above) and Range – Azimuth (plotting range against angular data, shown right in figure above) heat maps. By default they appear as shown in the figure above, but the user has additional options:

  • Clicking and dragging anywhere on the heat map will change its perspective and allow the user view a 3D representation of the heat map.
  • Choosing appropriate option in the dialog box below each heat map allows the user to view individual slices along Range, Doppler or Azimuth axis.

The kit processes all displayed information on kit, needing very little resources from a user’s machine and achieves a minimum update rate of approximately 10Hz.

The GUI also provides a status window giving up-to-date system information to a user based on the current system setup. Vital information including the resolution of range, azimuth and doppler estimation and other performance statistics are reflected there.

Finally if target detection is applied, any targets that meet the target detection parameters will appear in the target list. Each target is numbered and displayed with its associated speed, range and azimuth in a target list, placed in the bottom right of the GUI.

2.3.1 Adjustable System Parameters

Using the GUI the user can has the ability to adjust a great number of system parameters Using the GUI the user can has the ability to adjust a great number of system parameters

  • RF Parameters
    • Central Frequency between 22GHz - 26GHz,
    • Bandwidth selectable from 500MHz - 3GHz
    • Pulse Repetition Frequency selectable from 60Hz – 2200Hz
    • Adjustable Receiver Gain.
  • Range – Doppler Parameters
    • Choice of Maximum Range, Minimum Range selectable to limit the field of view.
    • Integration Time, Zero Padding and Windowing Function.
    • Achievable range resolution of at least 7.5cm.
  • Range – Azimuth Parameters
    • Maximum Azimuth, Minimum Azimuth selectable to limit the field of view.
    • Selectable Azimuth Estimation Algorithm.
    • Achievable angular resolution of at least 0.75 degrees.

2.3.2 Signal Processing

The Kit implements a number of signal processing algorithms for user evaluation. In windowing data the user can select between Rectangular, Hamming and Blackman functions.

The user is also provided with the choice angular estimation algorithms. Classical Beamforming is implemented as well as more computationally intensive subspace methods of MUSIC and CAPON algorithms to illustrate the relative performance of traditional methods with the improvements possible through greater computational resources.

The option to apply CFAR-based target detection to the heat map data is also implemented on the Kit with selectable CFAR mode, false alarm probability, guard cells, reference cells and dilation bins. Of the CFAR modes implemented on the kit, the user can select any one of Call Averaging (CA), Smallest of CA, Greatest of CA or Ordered Statistical CFAR. All targets detected according to the user setting get collated to a target list which can be exported separately

2.4 Requirements

  • MS Windows 7/10
  • ST-LINK USB driver (STSW-LINK009)[1]
  • Software Package by Silicon Radar
  • 5V Barrel Jack Power Supply (5.5mm)
  • Ethernet Connection & Cable

3 MIMO GUI Software

With the SiRad MIMO,a GUI which provides multiple way to illustrate data is provided and it can be seen below.