Bitsream (.bit) file to program the WARP nodes is provided
•
Same bitstream for all nodes.
• •
Any node can be Tx or Rx
All open source
•
All code required to generate bitstream is available online
WARPLab Architecture WARP node Daughter Cards
Logic
Radio 1 Radio 2
FPGA
FPGA I/O
WARPLab Reference Sysgen Radio Controller
AGC PLB Ethernet MAC
Host PC
PowerPC WARPLab Reference C Code Radio Driver
Ethernet MAC Driver Misc. Drivers
WARPLab User M-Code Ethernet
WARPLab Reference M-Code
Radio 3 Radio Bridges
Radio 4
•
The WARPLab framework provides the following
• • •
Reference design Reference M-Code M-Code Examples
WARPLab M-Code Examples
WARPLab Architecture WARP node Daughter Cards
Logic WARPLab Reference Sysgen
Radio 1 FPGA I/O
Radio 2
FPGA
Radio Controller
AGC PLB Ethernet MAC
Host PC
PowerPC WARPLab Reference C Code Radio Driver
Ethernet MAC Driver Misc. Drivers
WARPLab User M-Code Ethernet
WARPLab Reference M-Code
WARPLab M-Code Examples
Radio 3 Radio Bridges
Radio 4
•
Reference M-Code
•
MATLAB Code (M-Code) functions that allow interaction with WARP nodes
•
Ex:
•
warplab_writeSMWO(Node_ID,Buffer_ID,M_Vector)
WARPLab Architecture WARP node Daughter Cards
Logic
Radio 1 Radio 2
FPGA
FPGA I/O
WARPLab Reference Sysgen Radio Controller
AGC PLB Ethernet MAC
Host PC
PowerPC WARPLab Reference C Code Radio Driver
Ethernet MAC Driver Misc. Drivers
WARPLab User M-Code Ethernet
WARPLab Reference M-Code
Radio 3 Radio Bridges
Radio 4
•
The WARPLab framework provides the following
• • •
Reference design Reference M-Code M-Code Examples
WARPLab M-Code Examples
WARPLab Architecture WARP node Daughter Cards
Logic
Radio 1 FPGA I/O
Radio 2
FPGA
WARPLab Reference Sysgen Radio Controller
AGC PLB Ethernet MAC
Host PC
PowerPC WARPLab Reference C Code Radio Driver
Ethernet MAC Driver Misc. Drivers
WARPLab User M-Code Ethernet
WARPLab Reference M-Code
WARPLab M-Code Examples
Radio 3 Radio Bridges
Radio 4
•
M-Code Examples
•
Illustrate how to use the functions in the WARPLab Reference M-Code
•
Today’s Lab 1
WARPLab Architecture WARP node Daughter Cards
Logic
Radio 1 Radio 2
FPGA
FPGA I/O
WARPLab Reference Sysgen Radio Controller
AGC PLB Ethernet MAC
Host PC
PowerPC WARPLab Reference C Code Radio Driver
Ethernet MAC Driver Misc. Drivers
WARPLab User M-Code Ethernet
WARPLab Reference M-Code
Radio 3 Radio Bridges
Radio 4
•
The WARPLab framework provides the following
• • •
Reference design Reference M-Code M-Code Examples
All open source
WARPLab M-Code Examples
WARPLab Flow I Buffer
To DAC
From Ethernet
To DAC
Tx Q Buffer
I Buffer
Rx
From ADC
To Ethernet
From ADC
Q Buffer
WARPLab Flow I Buffer
To DAC
From Ethernet
To DAC
Tx Q Buffer
I Buffer
Rx
From ADC
To Ethernet
From ADC
Q Buffer
1. Initialize nodes & radio settings 2. Download Tx vectors
WARPLab Flow I Buffer
To DAC
From Ethernet
To DAC
Tx Q Buffer
I Buffer
Rx
From ADC
To Ethernet
From ADC
Q Buffer
3. Enable Tx/Rx paths 4. Prime Tx/Rx state machines
WARPLab Flow I Buffer
SYNC
To DAC
From Ethernet
To DAC
Tx Q Buffer
I Buffer
Rx
From ADC
To Ethernet
From ADC
Q Buffer
5. Trigger the transmission and capture 6. Retrieve Rx vectors
Tx BB Signal Requirements • Amplitude of real part in [-1,1] • Amplitude of imaginary part in [-1,1] • Highest frequency 9.5 MHz (19 MHz BW) • Lowest frequency 30 KHz • 40 MHz sampling • Note: Buffers persist between triggers
Tx to Rx path FPGA WARPLab Sysgen Core
Radio Board Receiver RF Amplifier
Downconversion
Receiver Base-Band Amplifiers
Tx
Rx I Buffer ADC I To Ethernet Rx Q Buffer ADC Q
Antenna Switch
PLL
RSSI
RSSI Buffer To Ethernet
ADC RSSI TxI Buffer DAC I
X
From Ethernet TxQ Buffer DAC Q Transmitter RF Amplifier
• WARPLab graphical interface • SISO communication • Measuring the wireless channel • Building a real bits-to-RF transmitter • Continuous transmitter mode • Two-way communication • 2x2 MIMO communication