PPTX

advertisement
NEWSDR 2015
2015 New England Workshop
for Software Defined Radio
Implementation of a Full Duplex Transceiver using Xilinx Zynq SoC and ADI RFCOMMS3 Board
Benjamin Drozdenko (bdrozdenko@coe.neu.edu), Rahman Doost (doost@ece.neu.edu), Kaushik Chowdhury (krc@ece.neu.edu), Miriam Leeser (mel@coe.neu.edu)
•
•
•
•
•
•
• Software-defined radio (SDR) transitions the communication signal processing chain from a
rigid HW platform to a user-controlled paradigm, allowing flexibility in parameter settings.
Performing the most common SDR operations in software is usually less efficient than a HW implementation.
Gigabit
Modern real-time bi-directional communications systems may be difficult to model using only a typical CPU.
Ethernet
Some components of the communication system would be more advantageously implemented using FPGA.
We design a full duplex 802.11a transceiver with split functionality between a processor and logic fabric.
We implement our design using the Xilinx Zynq ZC706 SoC and the AD-FMCOMMS3-EBZ RF transceiver.
We experiment using GNU radio and MathWorks products for building functions to interface with the radio.
Abstract
Tools Option 1
Background
Hardware Setup
• IEEE 802.11a Physical (PHY) and Medium Access Control (MAC)
layer frame structure with some modifications
• Orthogonal Frequency Division Multiplexing (OFDM) used to carry data on multiple channels
• Binary/Quadrature Phase Shift Keying (B/QPSK) modulation used to encode bits as symbols
• Cyclic Prefix: prefix a symbol with a repetition of the end, eliminates intersymbol interference
from previous symbol; allows linear convolution to be modeled as circular, enabling DFT
MathWorks Products: Simulink + HDL Coder
• Communications System Toolbox Support Package for
Xilinx Zynq-Based Radio: allows access to RFCOMMS board
on Zynq using MATLAB System objects or Simulink blocks
• HDL Coder Support Package for Xilinx Zynq-7000 Platform:
allows generation of HDL from Simulink blocks and
placement on the Zynq PL.
• Embedded Coder Support Package for Xilinx Zynq-7000
Platform: allows generation of C code from MATLAB code
or Simulink blocks to be built on the Zynq PS ARM.
• Benefits:
PS
User
PS
• Many blocks for DSP (e.g. FFT & IFFT) and communications (e.g. B/
QPSK modulation) support automatic generation of HDL & C code
• Easy generation of HDL and PL image using HDL Workflow Advisor
PL
Receive Path
GNU Radio + Vivado
Tools Option 2
PL
Receive Path
• Disadvantage:
• As of R2015a, no way to model comms between PS & PL via AXI
• To be added in a future release
• In the meantime, must target system for either PS or PL
• A PL-only Tx-Rx chain is shown at right
• Original HDL core only handles basic data read
and write from/to ADC/DAC to/from DMA
interface.
• The ADC core operates at interface speed and
data width and hence might cause overrun to
the downstream modules.
• Computationally expensive blocks, such as
frame detection, can be implemented using the
Vivado tools for major speed up and offloading
of downstream modules.
• A new interface with a different clock speed
and bus width and enable/disable signals is
designed.
• Appropriate changes to the LIBIIO modules are
applied to accommodate the low level changes.
• Not all blocks supported for HDL generation (e.g. correlation)
• Data received in fixed-length packets, buffer allows
accumulation of samples
• Enabled subsystems allow for presence of states
Transmit Path
RFCOMMS LPC
GigE
• In Active Search state, receiver correlates signal with preamble to
find synchronization delay
• In Recover Decode state, receiver performs OFDM & B/QPSK
demodulation, cyclic prefix removal
• OFDM blocks not supported for HDL generation, but can
build using FFT/IFFT
Xilinx® ZYNQ™ ZC706 SoC
– Processing System (PS)
– Dual-Core ARM Cortex-A9 processor
– Fixed architecture supports SW
routines & operating systems
– Equivalent to logic of an FPGA
– A completely flexible canvas
– Ideal for high-speed logic, arithmetic,
& data flow subsystems
– Advanced Extensible Interface makes
links between PL & PS
– Connects peripherals in PL, incl.:
Active Search
Recover Decode
Challenges
• How to partition transceiver subsystem
blocks between the Zynq PL & PS?
• Which tools to use to generate HDL and
build an image file for the Zynq SD card?
• Which tools to use to generate and build
C code targeted for the PS ARM?
Future Work
• Tools Opt 1: Model OFDM & Correlation
using blocks that support HDL generation
• Tools Opt 2: Parametrized FPGA Blocks with
proper control in the user space
RFCOMMS LPC
– Programmable Logic (PL)
– AXI Interconnect
Designated Receiver (DRx)
Transmit Path
References
[1] IEEE Std 802.11a-1999. Part 11: Wireless LAN Medium Access. Control (MAC) and Physical Layer (PHY)
specifications. URL: http://standards.ieee.org/getieee802/download/802.11a-1999.pdf.
[2] Analog Devices, Inc. Various (online).
– Coprocessors
1.“AD-FMCOMMS3-EBZ User Guide.” URL: http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms3-ebz.
– Cores for interacting with external
interfaces (LEDs, switches, codecs)
2.“What is libiio?” URL: http://wiki.analog.com/resources/tools-software/linux-software/libiio.
– Additional memory elements
3.ADI Reference Designs HDL User Guide, URL: http://wiki.analog.com/resources/fpga/docs/hdl.
Analog Devices, Inc.
4.EVAL-AD-FMCOMMS3-EBZ. URL: http://www.analog.com/en/design-center/evaluation-hardware-andsoftware/evaluation-boards-kits/eval-ad-fmcomms3-ebz.html.
AD-FMCOMMS3-EBZ
[3] University of Strathclyde Glasgow. The Zynq Book. Embedded Processing with the ARM Cortex-A9 on the Xilinx
• An RF platform to software
Zynq-7000 All Programmable SoC. URL: http://www.zynqbook.com/.
developers & system architects [4] MathWorks, Inc. Various (online).
1.“Guided Code Generation.” URL: http://www.mathworks.com/help/hdlcoder/hdl-workflow-advisor.html.
• Operates over a much wider
2.“Targeting HDL Optimized QPSK Transmitter with Analog Devices FMCOMMS2/3/4.” URL:
tuning range, 70 MHz – 6 GHz
http://www.mathworks.com/help/releases/R2015a/supportpkg/xilinxzynqbasedradio/examples/targeting-hdloptimized-qpsk-transmitter-with-analog-devices-fmcomms2-3-4.html.
• Works much better than the
3.“Targeting HDL Optimized QPSK Receiver with Analog Devices FMCOMMS2/3/4.” URL:
AD-FMCOMMS2-EBZ over the
http://www.mathworks.com/help/releases/R2015a/supportpkg/xilinxzynqbasedradio/examples/targeting-hdlcomplete RF frequency
optimized-qpsk-receiver-with-analog-devices-fmcomms2-3-4.html.
[5] B. Bloessl, M. Segata, C. Sommer, and F. Dressler. An IEEE 802.11 a/g/p OFDM Receiver for GNU Radio.
– RX/TX RF differential-to-singlend workshop on Software radio implementation forum, pp. 9-16. ACM, New York, NY, 2013.
Proceedings
of
the
2
ended transformer is targeted for
[6] Xilinx, Inc. “Xilinx Zynq-7000 All Programmable SoC ZC706 Evaluation Kit.” URL:
wider tuning range applications
http://www.xilinx.com/products/boards-and-kits/ek-z7-zc706-g.html#hardware.
Download