wiki:WARPLab/Reference/Interface/X245

Version 8 (modified by welsh, 8 years ago) (diff)

--

X245 Interface Module Module Implementation

The WARPLab Reference Design implements an Interface Group module for controlling the MAX2829-based radio interfaces on WARP v2 and v3. A single X245 Interface Group module can support up to 4 radio interfaces. Essentially, this module wraps the radio_controller peripheral and driver.

Related Components:

X245 Interface Commands

Interface commands are selected as string inputs to the wl_interfaceCmd method in wl_node.m. These strings are each individual cases of the switch statement in procCmd method of wl_interface_group_X245.m.

Syntax

MATLAB allows two valid forms of syntax for calling methods

  • Let N be a scalar or vector of wl_node objects
  • Let command_string be a string containing a particular command
  • Let interface_selection be a collection of interfaces or the string 'RF_ALL'
  • Let arg be an argument for that command (optional)

Syntax 1: wl_interfaceCmd(N, interface_selection, command_string, arg1, arg2, ..., argN)

Syntax 2: N.wl_interfaceCmd(interface_selection, command_string, arg1, arg2, ..., argN)

These two different forms of syntax are identical and either may be used for issuing commands to WARP nodes.

Command List and Documentation

tx_en

Enable transmit mode for selected interfaces

Arguments: none

Returns: none

rx_en

Enable receive mode for selected interfaces

Arguments: none

Returns: none

tx_rx_dis

Disable transmit and receive for selected interfaces (standby mode)

Arguments: none

Returns: none

read_tx_rx_state

Read the current state of the interface

Requires BUFF_SEL: Yes

Arguments: none

Returns: Current state of the buffer: TX, RX or STANDBY

channel

Tune selected interfaces to the specified band and channel

Arguments: (float BAND, int CHAN) BAND: Must be 2.4 or 5, to select 2.4GHz or 5GHz channels
CHAN: Must be integer in [1,11] for BAND=2.4, [1,23] for BAND=5

Returns: none

BAND and CHAN must be scalars (same values for all specified interfaces) or
1-D vectors (one value per interface) with length equal to the length of the interface ID vector

Band/Channel - Center Frequency Map:

2.4GHz 5GHz
Chan Freq Chan Freq
1 2412 1 5180
2 2417 2 5200
3 2422 3 5220
4 2427 4 5240
5 2432 5 5260
6 2437 6 5280
7 2442 7 5300
8 2447 8 5320
9 2452 9 5500
10 2457 10 5520
11 2462 11 5540
12 5560
13 5580
14 5600
15 5620
16 5640
17 5660
18 5680
19 5700
20 5745
21 5765
22 5785
23 5805

tx_gains

Sets the gains for the variable gain amplifiers in the MAX2829 Tx path
Refer to MAX2829 datasheet for curves of gain value vs actual gain at 2.4 and 5GHz

Arguments: (int BB_GAIN, int RF_GAIN) BB_GAIN: Must be integer in [0,1,2,3] for approx ![-5, -3, -1.5, 0]dB baseband gain
RF_GAIN: Must be integer in [0:63] for approx [0:31]dB RF gain

Returns: none

BB_GAIN and RF_GAIN must be scalars (same values for all specified interfaces) or
1-D vectors (one value per interface) with length equal to the length of the interface ID vector

NOTE: The parameters are in the order in which they are applied to the signal (ie baseband gain, then RF gain)

rx_gains

Sets the gains for the variable gain amplifiers in the MAX2829 Rx path
Refer to MAX2829 datasheet for curves of gain value vs actual gain at 2.4 and 5GHz

Arguments: (int RF_GAIN, int BB_GAIN) RF_GAIN: Must be integer in [1,2,3] for approx [0,15,30]dB RF gain
BB_GAIN: Must be integer in [0:31] for approx [0:63]dB baseband gain

Returns: none

BB_GAIN and RF_GAIN must be scalars (same values for all specified interfaces) or
1-D vectors (one value per interface) with length equal to the length of the interface ID vector

NOTE: The parameters are in the order in which they are applied to the signal (ie RF gain, then baseband gain)

tx_lpf_corn_freq

Sets the corner frequency for the MAX2829 Tx path low pass filter
Refer to MAX2829 datasheet for curves of the frequency response with each setting

Arguments: (int FILT) FILT: Must be integer in [1,2,3] for approx [12,18,24]MHz corner frequencies ([24,36,48]MHz bandwidths)

Returns: none

FILT must be scalar (same value for all specified interfaces) or 1-D vector (one value per interface)
with length equal to the length of the interface ID vector

rx_lpf_corn_freq

Sets the corner frequency for the MAX2829 Rx path low pass filter
Refer to MAX2829 datasheet for curves of the frequency response with each setting

Arguments: (int FILT) FILT: Must be integer in [0,1,2,3] for approx ![7.5,9.5,14,18]MHz corner
frequencies ([15,19,28,36]MHz bandwidths)

Returns: none

FILT must be scalar (same value for all specified interfaces) or 1-D vector (one value per interface)
with length equal to the length of the interface ID vector

rx_hpf_corn_freq

Sets the corner frequency for the MAX2829 Rx path high pass filter when RXHP = 'disable' (ie 0)

Arguments: (int MODE) MODE: Must be 0 (HPF corner of 100 Hz) or 1 (default; HPF corner of 30 kHz)

Returns: none

MODE must be scalar (same value for all specified interfaces) or 1-D vector (one value per interface)
with length equal to the length of the interface ID vector

The MAX2829 default setting is 1 (30 kHz corner frequency). This is the better setting for most
applications. The lower cutoff frequency (100 Hz) should only be used when the Rx waveform has
energy in the 60 kHz around DC.

This filter setting is only used when RXHP is 'disable' (ie 0).

rx_gain_mode

Sets the gain selection mode

Arguments: (string MODE) MODE: 'automatic' for AGC, or 'manual' for manual gain control

Returns: none

rx_rxhp

Sets the RXHP mode on the node when in manual gain control

Arguments: (boolean MODE) MODE: true enables RXHP on the node when in manual gain control
false disables RXHP on the node when in manual gain control

Returns: none