Professional Documents
Culture Documents
CLICK
► UseTOopen
EDITsource
MASTER TITLE
tools STYLE develop, and
to prototype,
deploy RF applications
► Software-defined radio:
• Dynamic reconfigurability
• Regular software updates, improvements, bug fixes
• Rapid iteration cycle
► Gnuradio + RFNoC:
• Software and FPGA development across a variety of open
source/ low cost devices
• Industry-standard for RF processing applications
CLICK Hawkeye
TO EDIT MASTER TITLE STYLE
"Flight Kit" Hawkeye Payload
► Ettus B200 ► Zynq 7045
► Ettus E310 ► 3x AD9361s
► Battery ► RFNoC
► Odroid ► Openembedded Linux
► Reconfigurable RF frontends ► Gnuradio
Runs the same software and
FPGA as payload
► Compare results vs CRLB simulations for both airplanes and overhead performance
8
Gnuradio Applications
CLICK
► UseTOGnuradio
EDIT MASTER TITLE STYLE
as framework for signal processing
development
• C++ for compute-intensive tasks
• Python for ease-of-development and scripting
• Gnuradio-companion GUI for applications
Engineers learn Gnuradio (or start having prior experience) and gain expertise
through documentation, tutorials, and community involvement
©2018 HawkEye 360
9
Gnuradio in Production
CLICK TO EDIT
► Goal: MASTER
Reliable, TITLE FPGA
repeatable STYLEbuilds for multiple targets with many varieties
of RFNoC compute engines
► Build system
• Use yml files to define images; Iterate over many images (10+); build and export all images
CLICK TO EDITblock
► Gnuradio MASTER
"GetTITLE
RFNoCSTYLE
Bitstream" dynamically chooses the right
bitstream based on the required RFNoC blocks
14
Payload Communications
Software FPGA
CLICK TO EDIT MASTER TITLE STYLE
Network
Tun
CCSDS Compatible Physical Layer
Reed Solomon
HDLC Decode Viterbi Decode Demod
Decode
5x 2x 2x 1 sample per
oversampled oversampled oversampled symbol
Timing Frequency OQPSK Phase
Recovery Recovery Locked Loop
► 1. RFNoC
CLICK Register
TO EDIT MASTERLogger
TITLE STYLE Querying RFNoC blocks...
0/syrlinks_0/RB_TX_HDLC_PACKETS: 1314
0/syrlinks_0/RB_TX_HDLC_BYTES: 2693514
• Spawns a thread that queries RFNoC registers 0/syrlinks_0/RB_TX_HDLC_FILLFRAMES: 32049
0/syrlinks_0/RB_TX_RS_BLOCKS: 12248
0/syrlinks_0/RB_TX_RS_BYTES: 3124179
• Write to console and/or CSV file
Querying RFNoC blocks...
0/syrlinks_0/RB_TX_HDLC_PACKETS: 2646
► 2. RFNoC Register Probe 0/syrlinks_0/RB_TX_HDLC_BYTES: 5421139
0/syrlinks_0/RB_TX_HDLC_FILLFRAMES: 32049
0/syrlinks_0/RB_TX_RS_BLOCKS: 24501
• Indicates which registers to read for each RFNoC block 0/syrlinks_0/RB_TX_RS_BYTES: 6248614
1.
2.
OR OR
23
Full Rate Data Transfers
CLICK TO EDIT
► Possible MASTER TITLE STYLE
solutions:
• Use E310 FPGA DRAM as a FIFO
• Faster FPGA to Processor transfers
Zynq can theoretically support 600 MB/s!
► How to increase transfer speed?
• Dedicated DMA
• Bigger data packets
• Less processor activity
Major
CLICK TOSurgery:
EDIT MASTER TITLE STYLE
► Aux DMA: noc_block_auxdma connects directly to the E310 processor via AXI4 DMA
New AXI4
Aux DMA
Zynq
PS
DDC
RFNoC
Datamover Radio
AXI4 xbar
Throughput:
10 Msps if ARM is idle 20 MB/s
Write to File
< 2 Msps otherwise
Throughput: > 40 Msps with Aux DMA
56 Msps
Zynq FPGA Zynq ARM
AD9361
Radio Block Processor
Software or No-Op
ARM Rate (Null Sink)
EJ Kreinar
ej@he360.com
29