This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
resources:eval:user-guides:circuits-from-the-lab:cn0566 [11 Jun 2022 15:59] – [Configuring the SD Card] Update to install pyqtgraph Mark Thoren | resources:eval:user-guides:circuits-from-the-lab:cn0566 [16 Jun 2022 02:59] – More material Mark Thoren | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======EVAL-CN0566-RPIZ Overview====== | + | ====== |
- | + | Note: This page and Phaser release | |
- | [[ADI> | + | {{ : |
- | + | ||
- | 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 [[ADI> | + | |
- | + | ||
- | The ADAR1000' | + | |
- | + | ||
- | The system consists of the EVAL-CN0566-RPIZ, | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | <WRAP centeralign> | + | |
- | < | + | |
- | </ | + | |
\\ | \\ | ||
- | {{ : | + | ===== Introduction: ===== |
- | <WRAP centeralign> | + | Phased array communications and radar systems are finding increased use in a variety of applications. This places a greater importance on training engineers and rapidly prototyping new phased array concepts. However, both those imperatives have historically been difficult and expensive. That is why Analog Devices is (soon!) launching the ADALM-PHASER. |
- | Figure 2. EVAL-CN0566-RPIZ Circuit Evaluation Board, RF circuitry/ | + | ===== Labs and Lectures: ===== |
- | </ | + | The ADALM-PHASER is meant for you to experience, first hand, phased array beamforming and radar concepts. |
- | + | * **[[resources: | |
- | ---- | + | * Phased |
- | ===== Features ===== | + | * Antenna impairments (side lobes/ |
- | * Provides CN0566 | + | * Monopulse tracking implementation |
- | * Includes an 10-10.5 GHz onboard antenna | + | * Simple radar design. |
- | * Supports applications running GNURadio, Python, or MATLAB | + | |
- | + | ||
- | ===== Videos ===== | + | |
+ | This series is partially derived from several sources that also provide valuable background information. | ||
+ | * ToDo: Link to Webinar seminars and labs | ||
+ | * Analogue Dialogue Phased array paper series: | ||
+ | * [[adi> | ||
+ | * [[adi> | ||
+ | * [[adi> | ||
+ | * 2020 GNURadio workship on Phased Arrays: | ||
+ | * **[[https:// | ||
{{youtube> | {{youtube> | ||
- | ===== Documents Needed ===== | + | ===== Phaser |
- | + | * When??? | |
- | * [[ADI> | + | * To get acquainted with the hardware, see the [[resources: |
- | + | ||
- | ===== 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 | + | |
- | + | ||
- | <wrap center 50%> | + | |
- | //< | + | |
- | </ | + | |
- | \\ | + | |
- | {{ : | + | |
- | <wrap center 50%> | + | |
- | //< | + | |
- | </ | + | |
- | \\ | + | |
- | * 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 ===== | + | |
- | {{ : | + | |
- | <wrap center 50%> | + | |
- | //<fc # | + | |
- | </ | + | |
- | - Set solder jumpers for the desired settings. | + | |
- | - Proceed with the [[/ | + | |
- | - Burn the SD card with the latest ADI Kuiper Linux image. Insert the flashed SD card on designated slot on Raspberry Pi. | + | |
- | - Turn on the input supply. Wait for the Raspberry Pi to boot up. | + | |
- | - Open terminal and configure the device tree overlay file. See [[/ | + | |
- | - Wait for the Raspberry Pi to boot up again. | + | |
- | + | ||
- | <fc # | + | |
- | + | ||
- | \\ | + | |
- | ---- | + | |
- | ===== Solder Jumper Settings and Configuration===== | + | |
- | The [[ADI> | + | |
- | {{ : | + | |
- | <wrap center 50%> | + | |
- | //<fc # | + | |
- | </ | + | |
- | + | ||
- | <wrap center 50%> | + | |
- | <fc # | + | |
- | </ | + | |
- | + | ||
- | \\ | + | |
- | ===EEPROM_ID: | + | |
- | 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 " | + | |
- | ^ | + | |
- | | | + | |
- | | | + | |
- | | | + | |
- | | | + | |
- | | | + | |
- | | | + | |
- | | | + | |
- | \\ | + | |
- | ---- | + | |
- | ===== 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. | + | |
- | {{ : | + | |
- | <wrap center 50%> | + | |
- | //<fc # | + | |
- | </ | + | |
- | 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. | + | |
- | {{ : | + | |
- | <wrap center 50%> | + | |
- | //<fc # | + | |
- | </ | + | |
- | Raspberry Pi connects to the EVAL-CN0508-RPIZ through P2 which is a 40-pin connector. You may do this directly | + | |
- | {{ : | + | |
- | <wrap center 60%> | + | |
- | //<fc # | + | |
- | </ | + | |
- | \\ | + | |
- | ==== Input Supply ==== | + | |
- | Power to the EVAL-CN0566-RPIZ can be connected through P16. P16 is a 3.0A USB-C receptacle. | + | |
- | {{ : | + | |
- | <wrap center 60%> | + | |
- | //<fc # | + | |
- | </ | + | |
- | \\ | + | |
- | ==== Output connections ==== | + | |
- | Connect an ADALM-Pluto on RX1 or RX2 to process the output of CN0566 | + | |
- | {{ : | + | |
- | <wrap center 50%> | + | |
- | //<fc # | + | |
- | </ | + | |
- | \\ | + | |
- | + | ||
- | ---- | + | |
- | ===== 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. | + | |
- | + | ||
- | <WRAP todo> | + | |
- | 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:\ | + | |
- | [[https:// | + | |
- | Next, download and unzip the updated firmware image, located here:\\ | + | |
- | {{ : | + | |
- | + | ||
- | (**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):\\ | + | |
- | {{ : | + | |
- | {{ : | + | |
- | </ | + | |
- | + | ||
- | The next step is to update the Pluto configuration to enable the AD9361' | + | |
- | [[university: | + | |
- | 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, | + | |
- | \\ | + | |
- | <WRAP todo> | + | |
- | REMOVE when Kuiper 12/13/2022 RC released.\\ | + | |
- | For now, use this release candidate: | + | |
- | [[https:// | + | |
- | \\ | + | |
- | + | ||
- | </ | + | |
- | \\ | + | |
- | Write the image and follow the system configuration procedure.\\ | + | |
- | ==== Configuring the SD Card ==== | + | |
- | <WRAP tip> | + | |
- | After burning the image above, log into the Raspberry Pi and open the Raspberry Pi configuration utility.\\ | + | |
- | Set the hostname to " | + | |
- | Next, run the following commands (and take a look at the setup script if you're suspicious._ This is temporary and applies only to the SD card image above. | + | |
- | < | + | |
- | wget https:// | + | |
- | sudo chmod +x sdcard_setup.sh | + | |
- | ./ | + | |
- | </ | + | |
- | **SKIP AHEAD to running | + | |
- | </ | + | |
- | 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:// | + | |
- | rename config_cn0566.txt config.txt | + | |
- | sudo mv / | + | |
- | sudo cp config.txt /boot/ | + | |
- | </ | + | |
- | \\ | + | |
- | <WRAP tip> | + | |
- | Or alternatively, | + | |
- | \\ | + | |
- | < | + | |
- | # Phaser board overlay: | + | |
- | dtoverlay=rpi-cn0566 | + | |
- | + | ||
- | # Heartbeat blinky: | + | |
- | dtparam=act_led_trigger=heartbeat | + | |
- | + | ||
- | # Short GPIO21 (pin 40) to ground for shutdown: | + | |
- | dtoverlay=gpio-shutdown, | + | |
- | </ | + | |
- | 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 | + | |
- | </ | + | |
- | </ | + | |
- | \\ | + | |
- | + | ||
- | \\ | + | |
- | <WRAP todo> | + | |
- | 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:// | + | |
- | 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 | + | |
- | </ | + | |
- | </ | + | |
- | \\ | + | |
- | + | ||
- | + | ||
- | <WRAP todo> | + | |
- | 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 / | + | |
- | [[https:// | + | |
- | Or from the Raspberry Pi command line: | + | |
- | < | + | |
- | wget https:// | + | |
- | sudo cp rpi-cn0566.dtbo / | + | |
- | sudo reboot | + | |
- | </ | + | |
- | For reference, the device tree overlay source is at:\\ | + | |
- | [[https:// | + | |
- | </ | + | |
- | \\ | + | |
- | <WRAP todo> | + | |
- | 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:// | + | |
- | 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 ~/ | + | |
- | python3 cn0566_gui.py | + | |
- | </ | + | |
- | The GUI should load and begin displaying the beam pattern as shown below. | + | |
- | {{ :resources: | + | |
- | <wrap center 75%> | + | |
- | //< | + | |
- | </ | + | |
- | + | ||
- | ==== Initial Calibration ==== | + | |
- | The phaser board is initially uncalibrated; | + | |
- | < | + | |
- | 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 [[resources: | + | |
- | + | ||
- | + | ||
- | + | ||
- | ---- | + | |
- | + | ||
- | + | ||
- | \\ | + | |
- | \\ <WRAP center round tip 80%>Make sure to have the latest version of IIO Oscilloscope. Complete instructions and update scripts are found at **[[resources: | + | |
- | ---- | + | |
- | ===== CN0566 Configuration/ | + | |
- | {{ : | + | |
- | {{ : | + | |
- | {{ : | + | |
- | {{ : | + | |
- | \\ | + | |
- | ---- | + | |
- | ===== More Information and Useful Links ===== | + | |
- | + | ||
- | * [[adi> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | * [[ADI> | + | |
- | ===== Schematic, PCB Layout, Bill of Materials, Casing | + | ===== Other Resources ====== |
- | <WRAP round 80% download> | + | * **[[resources: |
- | [[adi> | + | * **[[resources: |
- | | + | |
- | | + | |
- | * Bill of Materials | + | |
- | | + | |
- | | + | |
- | </ | + | |
//End of Document// | //End of Document// |