Wiki

This version is outdated by a newer approved version.DiffThis version (08 Apr 2022 02:50) was approved by Mark Thoren.The Previously approved version (07 Apr 2022 23:43) is available.Diff

This is an old revision of the document!


EVAL-CN0566-RPIZ Overview

CN0566 is a phased-array beamforming antenna demonstration platform that allows the user to experience the principles and applications of phased array antennas.

The RF input signal is received from an onboard 8 element patch antenna that operates from 10 to 10.5 GHz. Each antenna element is input to an ADL8107, a low noise amplifier (LNA) that operates from 6-18GHz with 1.3dB NF and 24 dB gain. The output of these amplifiers are fed into the main core of this circuitry, two of the ADAR1000. The ADAR1000 is an 8 GHz to 16 GHz, 4-Channel, beamformer that allow per-channel, 360° phase adjustment with 2.8° resolution and 31dB gain adjustment with 0.5dB resolution. The ADAR1000s are capable of bidirectional, half-duplex operation. However, CN0566 only connects the ADAR1000 receive paths. The outputs of four LNAs get phase and amplitude shifted by an ADAR1000, then summed together at its RFIO output.

The ADAR1000's RFIO output passes through a low pass filter before entering the LTC5548 mixer. The low pass filter removes the high side image of the mixer as well as any re-radiation of the high side LO. LTC5548 outputs an IF of approximately 2.2 GHz which passes through a low pass filter (LPF) to remove mixer spurs and attenuate any RF or LO leakage. The LPF's output, at Rx1 and Rx2, can then be mixed down and sampled by an external 2-channel SDR receiver, such as the ADALM-Pluto.

The system consists of the EVAL-CN0566-RPIZ, Raspberry Pi 3 or 4 running ADI Kuiper Linux, an ADALM-Pluto Rev. C, 5V power source, and either keyboard/mouse/monitor OR separate host connected via VNC. The Raspberry Pi 4 provides all SPI, I2C, and discrete digital I/O control signals.

Figure 1. EVAL-CN0566-RPIZ Circuit Evaluation Board, array/Raspberry Pi side


Figure 2. EVAL-CN0566-RPIZ Circuit Evaluation Board, RF circuitry/Pluto side


Features

  • Provides CN0566 software control via Raspberry Pi w/ Kuiper Linux
  • Includes an 10-10.5 GHz onboard antenna array design but with option to connect your own antenna
  • Supports applications running GNURadio, Python, or MATLAB

Videos

Documents Needed

Equipment Required

  • Hardware
    • EVAL-CN0566-RPIZ Circuit Evaluation Board
    • Raspberry Pi 4
    • 15.3W USB-C Power Supply
    • SMA cables
    • Monitor with HDMI display
    • Micro HDMI to HDMI adaptor
    • HDMI to HDMI cable
    • 16GB or larger SD card
    • USB keyboard and mouse
  • Software
    • ADI Kuiper Linux image



Block Assignments

Figure 2. EVAL-CN0566-RPIZ Circuit Evaluation Board Top View
 EVAL-CN0566-RPIZ Circuit Evaluation Board Side View Figure 3. EVAL-CN0566-RPIZ Circuit Evaluation Board Side View

  • Connector P1 is the 14 pin header for connection to ADALM-Pluto
  • Connector P2 is the 40 pin connector for Raspberry Pi 4
  • Connector P16 is the type C port for the supply
  • Connector RX1 is the SMA connector for RX1 output
  • Connector RX2 is the SMA connector for RX2 output
  • Connector TX_IN is the SMA connector for TX input
  • Connector TX_OUT_1 is the SMA connector for first TX output
  • Connector TX_OUT_2 is the SMA connector for second TX output
  • Connector LO_OUT is the SMA connector for LO output
  • Connector EXT_LO is the SMA connector for external LO input
  • Connector P11 is the TR pins of ADAR1000s
  • Connector J3 to J10 are the footprints for SMP connectors in case external antenna is to be used
  • Potentiometer R43 is the manual control of output voltage
  • Potentiometer R14 is the manual control of output current limit
  • Header P12 contains the output signal for the fan control



Running the System

 Figure 4. Test Setup Functional Block Diagram Figure 4. Test Setup Functional Block Diagram

  1. Set solder jumpers for the desired settings.
  2. Proceed with the hardware setup. Ensure the power supply Raspberry Pi are connected properly
  3. Burn the SD card with the latest ADI Kuiper Linux image. Insert the flashed SD card on designated slot on Raspberry Pi.
  4. Turn on the input supply. Wait for the Raspberry Pi to boot up.
  5. Open terminal and configure the device tree overlay file. See software section for detailed instructions. Make sure to reboot the Raspberry Pi after saving the config.txt file.
  6. Wait for the Raspberry Pi to boot up again.

TO BE EDITED



Solder Jumper Settings and Configuration

The CN0566 has jumper headers which configure different settings as shown below. Also, the default shunt positions are highlighted.
 EVAL-CN0566-RPIZ Evaluation Board Solder Jumper Guide Figure 5. EVAL-CN0566-RPIZ Evaluation Board Solder Jumper Guide

TO BE EDITED


EEPROM_ID: EEPROM Address Selection

EEPROM_ID sets the EEPROM I2C address. It consists of P4, P5 and P6 solder jumpers connected respectively to A2, A1 and A0 address selection pins of U7. The default address configuration is “111”. This EEPROM I2C address is configurable from 001 to 111. It cannot be set to “000” since U4 already uses this address for RPi HAT identification.

A0 A1 A2 Address Set
0 0 1 0x51
0 1 0 0x52
0 1 1 0x53
1 0 0 0x54
1 0 1 0x55
1 1 0 0x56
1 1 1 0x57



Hardware Setup

Setting up and Connecting the Raspberry Pi

The output display of the system will be through an external monitor with HDMI capability. To do this, connect the micro HDMI to HDMI adapter on the Raspberry Pi 4 HDMI port. Connect this to the monitor via the HDMI to HDMI cable.  Hardware connection of Raspberry Pi to Monitor Display Figure 6. Hardware connection of Raspberry Pi to Monitor Display
Connect an USB mouse and keyboard on the USB port of the Raspberry Pi Zero W. This shall allow us to control the Raspberry Pi upon boot up.  Hardware connection of Input Devices to Raspberry Pi Figure 7. Hardware connection of Input Devices to Raspberry Pi
Raspberry Pi connects to the EVAL-CN0508-RPIZ through P2 which is a 40-pin connector. You may do this directly by connecting the RPi on the bottom side of the connector or through a 40-pin ribbon cable.  Hardware connection of CN0566 Board and Raspberry Pi Figure 8. Hardware connection of EVAL-CN0566-RPIZ and Raspberry Pi Zero W

Input Supply

Power to the EVAL-CN0566-RPIZ can be connected through P16. P16 is a 3.0A USB-C receptacle.  Hardware Connection of Input Power Supply to CN0566 Evaluation Board Figure 9. Hardware Connection of Input Power Supply to EVAL-CN0566-RPIZ

Output connections

Connect an ADALM-Pluto on RX1 or RX2 to process the output of CN0566  EVAL-CN0566-RPIZ Evaluation Board Output Connections Figure 10. EVAL-CN0566-RPIZ Evaluation Board Output Connections


Pluto Setup

A Pluto Rev C or higher is required. For the CN0566, a custom firmware image is used that incorporates a TDD engine and additional control signals.

REMOVE this when it's got a proper home on Github releases
The first step is to update the firmware to the latest release, following the procedure at:\ Pluto/M2k Firmware Updates. Make sure to upload the entire zip file, not the pluto.frm contained within.
Next, download and unzip the updated firmware image, located here:
pluto_dw_march_16_2022.zip

(Yes, unzip, UNlike upgrading to the latest release.)
Drag and drop the pluto_DW_feb_7_2022.frm to the Pluto mass storage device, then eject.

For Reference - OLD version (do NOT use):
pluto_dw_march_9_2022.zip
pluto_dw_feb_7_2022.zip

The next step is to update the Pluto configuration to enable the AD9361's second channel. Follow the directions at:
Updating to the AD9364,
For setting the mode of a Rev. C PlutoSDR to 2r2t, the following would be sequence of commands:

Verify that the configuration was programmed properly by entering the following commands:

fw_printenv attr_name
fw_printenv attr_val
fw_printenv compatible
fw_printenv mode

Wihich should return:

# fw_printenv attr_name
attr_name=compatible
# fw_printenv attr_val
attr_val=ad9361
# fw_printenv compatible
compatible=ad9361
# fw_printenv mode
mode=2r2t
#

SD card / Software Setup

Loading CN0566 Image on SD Card

In order to control the CN0566 from the Raspberry Pi, you will need to install ADI Kuiper Linux on an SD card. Complete instructions, including where to download the SD card image, how to write it to the SD card, and how to configure the system are provided at Analog Devices Kuiper Linux. Pay particular attention to the localization settings, keyboard settings, etc. if you will be running examples on the Raspberry Pi itself (versus remotely.)

REMOVE when Kuiper 12/13/2022 RC released.
For now, use this release candidate:
image_2021-12-13-ADI-Kuiper-full.zip


Write the image and follow the system configuration procedure.

Configuring the SD Card

A complete config.txt file is posted for convenience. Enter the following commands from a terminal to download and apply a complete config.txt file with all edits above included:

wget https://github.com/mthoren-adi/devicetree_overlays/raw/main/config_cn0566.txt
rename config_cn0566.txt config.txt
sudo mv /boot/config.txt /boot/config_original.txt
sudo cp config.txt /boot/


Or alternatively, follow the Hardware Configuration procedure under Preparing the Image: Raspberry Pi in the Analog Devices Kuiper Linux page, adding the following lines to the very end of /boot/config.txt:

# Phaser board overlay:
dtoverlay=rpi-cn0566

# Heartbeat blinky:
dtparam=act_led_trigger=heartbeat

# Short GPIO21 (pin 40) to ground for shutdown:
dtoverlay=gpio-shutdown,gpio_pin=21,active_low=1,gpiopull=up

If you will be logging in via VNC, comment out the following line, and set the HDMI group and mode accordingly:

# dtoverlay=vc4-kms-v3d

# uncomment to force a specific HDMI mode (this will force 1920x1080)
hdmi_group=2
hdmi_mode=82



ToDo: Remove with next release of Kuiper.
The libiio included in this release of Kuiper is 0.21 and needs to be updated. Enter the following commands:

git clone https://github.com/analogdevicesinc/libiio.git
git checkout master
cd libiio
mkdir build && cd build && cmake -DWITH_SYSTEMD=ON -DPYTHON_BINDINGS=ON -DWITH_HWMON=ON -DWITH_MAN=ON -DWITH_EXAMPLES=ON ../ && make && sudo make install
sudo reboot


REMOVE this when merged:
For now - the CN0566 overlay is not yet merged to master or included in the latest Kuiper Linux image. Copy this file to /boot/overlays (this can be done from Windows, Linux, Mac. If your computer has drive encryption, you can do this from within the Raspberry Pi itself.)
CN0566 Device Tree Overlay
Or from the Raspberry Pi command line:

wget https://github.com/mthoren-adi/devicetree_overlays/raw/main/rpi-cn0566.dtbo
sudo cp rpi-cn0566.dtbo /boot/overlays
sudo reboot

For reference, the device tree overlay source is at:
CN0566 Device Tree Overlay source


REMOVE this when merged:
For now - the CN0566 GUI and required pyadi-iio additions are in a development branch. The pyadi-iio that is pre-installed on Kuiper needs to be cleanly removed and replaced. Run the following commands:

cd ~
# Uninstall existing pyadi, reinstall from source:
sudo pip3 uninstall -y pyadi-iio
git clone https://github.com/analogdevicesinc/pyadi-iio.git
cd pyadi-iio
git checkout cn0566_dev
sudo python3 setup.py install

At this point, the GUI can be run from the command line. Run the following commands:

cd ~/pyadi-iio/examples/cn0566
python3 cn0566_gui.py

The GUI should load and begin displaying the beam pattern as shown below. Figure x. Phaser GUI

Initial Calibration

The phaser board is initially uncalibrated; each element will have a slightly different gain and slight phase error due to numerous factors. the cn0566_examples.py script provides a calibration utility that will generate calibration files. Make sure an antenna is attached to J1, and is facing straight at the antenna array from approximately 1.5m away. Then run:

python3 cn0566_examples.py cal

The script provides debug information and plots as it is running, you may have to close out of each plot for the script to proceed. After running this script, files gain_cal_val.pkl and phase_cal_val.pkl will be placed in the working directory. The GUI program will also load these files automatically.

Refer to CN0566 Calibration for additional details




Make sure to have the latest version of IIO Oscilloscope. Complete instructions and update scripts are found at Analog Devices IIO Oscilloscope.



CN0566 Configuration/Setup Examples







Schematic, PCB Layout, Bill of Materials, Casing

EVAL-CN0566-RPIZ Design & Integration Files

  • Schematics
  • PCB Layout
  • Bill of Materials
  • Allegro Project
  • LTSpice Simulations

End of Document

resources/eval/user-guides/circuits-from-the-lab/cn0566.1649379031.txt.gz · Last modified: 08 Apr 2022 02:50 by Mark Thoren