| 1 | [[TracNav(WARPLab/TOC)]] |
| 2 | |
| 3 | = X245 Interface Module Module Implementation = |
| 4 | |
| 5 | The WARPLab Reference Design implements an [wiki:../../Framework/Modules##InterfaceGroup 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. |
| 6 | |
| 7 | = X245 Interface Commands = |
| 8 | |
| 9 | Interface commands are selected as string inputs to the {{{wl_interfaceCmd}}} method in [browser:ResearchApps/PHY/WARPLAB/WARPLab7/M_Code_Reference/classes/wl_node.m wl_node.m]. These strings are each individual cases of the switch statement in {{{procCmd}}} method of [browser:ResearchApps/PHY/WARPLAB/WARPLab7/M_Code_Reference/classes/wl_interface_group_X245.m wl_interface_group_X245.m]. |
| 10 | |
| 11 | == Syntax == |
| 12 | MATLAB allows two valid forms of syntax for calling methods |
| 13 | |
| 14 | * Let {{{N}}} be a scalar or vector of {{{wl_node}}} objects |
| 15 | * Let {{{command_string}}} be a string containing a particular command |
| 16 | * Let {{{interface_selection}}} be a collection of interfaces or the string {{{'RF_ALL'}}} |
| 17 | * Let {{{arg}}} be an argument for that command (optional) |
| 18 | |
| 19 | Syntax 1: {{{wl_interfaceCmd(N, interface_selection, command_string, arg1, arg2, ..., argN)}}} |
| 20 | |
| 21 | Syntax 2: {{{N.wl_interfaceCmd(interface_selection, command_string, arg1, arg2, ..., argN)}}} |
| 22 | |
| 23 | These two different forms of syntax are identical and either may be used for issuing commands to WARP nodes. |
| 24 | |
| 25 | |
| 26 | == Command List and Documentation == |
| 27 | |
| 28 | === {{{tx_en}}} === |
| 29 | Enable transmit mode for selected interfaces[[BR]] |
| 30 | |
| 31 | |
| 32 | '''Arguments:''' none |
| 33 | |
| 34 | '''Returns:''' none |
| 35 | |
| 36 | |
| 37 | === {{{rx_en}}} === |
| 38 | Enable receive mode for selected interfaces[[BR]] |
| 39 | |
| 40 | |
| 41 | '''Arguments:''' none |
| 42 | |
| 43 | '''Returns:''' none |
| 44 | |
| 45 | |
| 46 | === {{{tx_rx_dis}}} === |
| 47 | Disable transmita and receive for selected interfaces (standby mode)[[BR]] |
| 48 | |
| 49 | |
| 50 | '''Arguments:''' none |
| 51 | |
| 52 | '''Returns:''' none |
| 53 | |
| 54 | |
| 55 | === {{{channel}}} === |
| 56 | Tune selected interfaces to the specified band and channel[[BR]] |
| 57 | |
| 58 | |
| 59 | '''Arguments:''' (float BAND, int CHAN) |
| 60 | BAND: Must be 2.4 or 5, to select 2.4GHz or 5GHz channels[[BR]] |
| 61 | CHAN: Must be integer in ![1,11] for BAND=2.4, ![1,23] for BAND=5[[BR]] |
| 62 | |
| 63 | '''Returns:''' none |
| 64 | |
| 65 | BAND and CHAN must be scalars (same values for all specified interfaces) or[[BR]] |
| 66 | 1-D vectors (one value per interface) with length equal to the length of the interface ID vector[[BR]] |
| 67 | |
| 68 | Band/Channel - Center Frequency Map:[[BR]] |
| 69 | ||||= 2.4GHz =||||= 5GHz =|| |
| 70 | || Chan || Freq || Chan || Freq || |
| 71 | || 1 || 2412 || 1 || 5180 || |
| 72 | || 2 || 2417 || 2 || 5200 || |
| 73 | || 3 || 2422 || 3 || 5220 || |
| 74 | || 4 || 2427 || 4 || 5240 || |
| 75 | || 5 || 2432 || 5 || 5260 || |
| 76 | || 6 || 2437 || 6 || 5280 || |
| 77 | || 7 || 2442 || 7 || 5300 || |
| 78 | || 8 || 2447 || 8 || 5320 || |
| 79 | || 9 || 2452 || 9 || 5500 || |
| 80 | || 10 || 2457 || 10 || 5520 || |
| 81 | || 11 || 2462 || 11 || 5540 || |
| 82 | || || || 12 || 5560 || |
| 83 | || || || 13 || 5580 || |
| 84 | || || || 14 || 5600 || |
| 85 | || || || 15 || 5620 || |
| 86 | || || || 16 || 5640 || |
| 87 | || || || 17 || 5660 || |
| 88 | || || || 18 || 5680 || |
| 89 | || || || 19 || 5700 || |
| 90 | || || || 20 || 5745 || |
| 91 | || || || 21 || 5765 || |
| 92 | || || || 22 || 5785 || |
| 93 | || || || 23 || 5805 || |
| 94 | |
| 95 | |
| 96 | === {{{tx_gains}}} === |
| 97 | Sets the gains for the variable gain amplifiers in the MAX2829 Tx path[[BR]] |
| 98 | Refer to MAX2829 datasheet for curves of gain value vs actual gain at 2.4 and 5GHz[[BR]] |
| 99 | |
| 100 | |
| 101 | '''Arguments:''' (int BB_GAIN, int RF_GAIN) |
| 102 | BB_GAIN: Must be integer in ![0,1,2,3] for approx ![-5, -3, -1.5, 0]dB baseband gain[[BR]] |
| 103 | RF_GAIN: Must be integer in ![0:63] for approx ![0:31]dB RF gain[[BR]] |
| 104 | |
| 105 | '''Returns:''' none |
| 106 | |
| 107 | BB_GAIN and RF_GAIN must be scalars (same values for all specified interfaces) or[[BR]] |
| 108 | 1-D vectors (one value per interface) with length equal to the length of the interface ID vector[[BR]] |
| 109 | |
| 110 | |
| 111 | === {{{rx_gains}}} === |
| 112 | Sets the gains for the variable gain amplifiers in the MAX2829 Rx path[[BR]] |
| 113 | Refer to MAX2829 datasheet for curves of gain value vs actual gain at 2.4 and 5GHz[[BR]] |
| 114 | |
| 115 | |
| 116 | '''Arguments:''' (int BB_GAIN, int RF_GAIN) |
| 117 | BB_GAIN: Must be integer in ![0:31] for approx ![0:63]dB baseband gain[[BR]] |
| 118 | RF_GAIN: Must be integer in ![1,2,3] for approx ![0,15,30]dB RF gain[[BR]] |
| 119 | |
| 120 | '''Returns:''' none |
| 121 | |
| 122 | BB_GAIN and RF_GAIN must be scalars (same values for all specified interfaces) or[[BR]] |
| 123 | 1-D vectors (one value per interface) with length equal to the length of the interface ID vector[[BR]] |
| 124 | |
| 125 | |
| 126 | === {{{tx_lpf_corn_freq}}} === |
| 127 | Sets the corner frequency for the MAX2829 Tx path low pass filter[[BR]] |
| 128 | Refer to MAX2829 datasheet for curves of the frequency response with each setting[[BR]] |
| 129 | |
| 130 | |
| 131 | '''Arguments:''' (int FILT) |
| 132 | FILT: Must be integer in ![1,2,3] for approx ![12,18,24]MHz corner frequencies (![24,36,48]MHz bandwidths)[[BR]] |
| 133 | |
| 134 | '''Returns:''' none |
| 135 | |
| 136 | FILT must be scalar (same value for all specified interfaces) or 1-D vector (one value per interface) [[BR]] |
| 137 | with length equal to the length of the interface ID vector[[BR]] |
| 138 | |
| 139 | |
| 140 | === {{{rx_lpf_corn_freq}}} === |
| 141 | Sets the corner frequency for the MAX2829 Rx path low pass filter[[BR]] |
| 142 | Refer to MAX2829 datasheet for curves of the frequency response with each setting[[BR]] |
| 143 | |
| 144 | |
| 145 | '''Arguments:''' (int FILT) |
| 146 | FILT: Must be integer in ![0,1,2,3] for approx ![7.5,9.5,14,18]MHz corner [[BR]] |
| 147 | frequencies (![15,19,28,36]MHz bandwidths)[[BR]] |
| 148 | |
| 149 | '''Returns:''' none |
| 150 | |
| 151 | FILT must be scalar (same value for all specified interfaces) or 1-D vector (one value per interface) [[BR]] |
| 152 | with length equal to the length of the interface ID vector[[BR]] |
| 153 | |
| 154 | |
| 155 | === {{{rx_gain_mode}}} === |
| 156 | Sets the gain selection mode[[BR]] |
| 157 | |
| 158 | |
| 159 | '''Arguments:''' (string MODE) |
| 160 | MODE: 'automatic' for AGC, or 'manual' for manual gain control[[BR]] |
| 161 | |
| 162 | '''Returns:''' none |