root / host / docs / dboards.rst @ e8d9b4d9
History | View | Annotate | Download (11.2 KB)
| 1 |
======================================================================== |
|---|---|
| 2 |
UHD - Daughterboard Application Notes |
| 3 |
======================================================================== |
| 4 |
|
| 5 |
.. contents:: Table of Contents |
| 6 |
|
| 7 |
------------------------------------------------------------------------ |
| 8 |
Daughterboard Properties |
| 9 |
------------------------------------------------------------------------ |
| 10 |
|
| 11 |
The following contains interesting notes about each daughterboard. |
| 12 |
Eventually, this page will be expanded to list out the full |
| 13 |
properties of each board as well. |
| 14 |
|
| 15 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 16 |
Basic RX and LFRX |
| 17 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 18 |
The Basic RX and LFRX boards have 4 frontends: |
| 19 |
|
| 20 |
* **Frontend A:** real signal on antenna RXA |
| 21 |
* **Frontend B:** real signal on antenna RXB |
| 22 |
* **Frontend AB:** quadrature frontend using both antennas (IQ) |
| 23 |
* **Frontend BA:** quadrature frontend using both antennas (QI) |
| 24 |
|
| 25 |
The boards have no tunable elements or programmable gains. |
| 26 |
Through the magic of aliasing, you can down-convert signals |
| 27 |
greater than the Nyquist rate of the ADC. |
| 28 |
|
| 29 |
BasicRX Bandwidth (Hz): |
| 30 |
|
| 31 |
* **For Real-Mode (A or B frontend)**: 250M |
| 32 |
* **For Complex (AB or BA frontend)**: 500M |
| 33 |
|
| 34 |
LFRX Bandwidth (Hz): |
| 35 |
|
| 36 |
* **For Real-Mode (A or B frontend)**: 33M |
| 37 |
* **For Complex (AB or BA frontend)**: 66M |
| 38 |
|
| 39 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 40 |
Basic TX and LFTX |
| 41 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 42 |
The Basic TX and LFTX boards have 4 frontends: |
| 43 |
|
| 44 |
* **Frontend A:** real signal on antenna TXA |
| 45 |
* **Frontend B:** real signal on antenna TXB |
| 46 |
* **Frontend AB:** quadrature frontend using both antennas (IQ) |
| 47 |
* **Frontend BA:** quadrature frontend using both antennas (QI) |
| 48 |
|
| 49 |
The boards have no tunable elements or programmable gains. |
| 50 |
Through the magic of aliasing, you can up-convert signals |
| 51 |
greater than the Nyquist rate of the DAC. |
| 52 |
|
| 53 |
BasicTX Bandwidth (Hz): 250M |
| 54 |
|
| 55 |
* **For Real-Mode (A or B frontend**): 250M |
| 56 |
* **For Complex (AB or BA frontend)**: 500M |
| 57 |
|
| 58 |
LFTX Bandwidth (Hz): 33M |
| 59 |
|
| 60 |
* **For Real-Mode (A or B frontend)**: 33M |
| 61 |
* **For Complex (AB or BA frontend)**: 66M |
| 62 |
|
| 63 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 64 |
DBSRX |
| 65 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 66 |
The DBSRX board has 1 quadrature frontend. |
| 67 |
It defaults to direct conversion but can use a low IF through lo_offset in **uhd::tune_request_t**. |
| 68 |
|
| 69 |
Receive Antennas: **J3** |
| 70 |
|
| 71 |
* **Frontend 0:** Complex baseband signal from antenna J3 |
| 72 |
|
| 73 |
The board has no user selectable antenna setting. |
| 74 |
|
| 75 |
Receive Gains: |
| 76 |
|
| 77 |
* **GC1**, Range: 0-56dB |
| 78 |
* **GC2**, Range: 0-24dB |
| 79 |
|
| 80 |
Bandwidth (Hz): 8M-66M |
| 81 |
|
| 82 |
Sensors: |
| 83 |
|
| 84 |
* **lo_locked**: boolean for LO lock state |
| 85 |
|
| 86 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 87 |
DBSRX2 |
| 88 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 89 |
The DBSRX2 board has 1 quadrature frontend. |
| 90 |
It defaults to direct conversion, but can use a low IF through lo_offset in **uhd::tune_request_t**. |
| 91 |
|
| 92 |
Receive Antennas: **J3** |
| 93 |
|
| 94 |
* **Frontend 0:** Complex baseband signal from antenna J3 |
| 95 |
|
| 96 |
The board has no user-selectable antenna setting. |
| 97 |
|
| 98 |
Receive Gains: |
| 99 |
|
| 100 |
* **GC1**, Range: 0-73dB |
| 101 |
* **BBG**, Range: 0-15dB |
| 102 |
|
| 103 |
Bandwidth (Hz): 8M-80M |
| 104 |
|
| 105 |
Sensors: |
| 106 |
|
| 107 |
* **lo_locked**: boolean for LO lock state |
| 108 |
|
| 109 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 110 |
RFX Series |
| 111 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 112 |
The RFX Series boards have 2 quadrature frontends: Transmit and Receive. |
| 113 |
Transmit defaults to low IF, and Receive defaults to direct conversion. |
| 114 |
The IF can be adjusted through lo_offset in **uhd::tune_request_t**. |
| 115 |
|
| 116 |
The RFX Series boards have independent receive and transmit LO's and synthesizers |
| 117 |
allowing full-duplex operation on different transmit and receive frequencies. |
| 118 |
|
| 119 |
Transmit Antennas: **TX/RX** |
| 120 |
|
| 121 |
Receive Antennas: **TX/RX** or **RX2** |
| 122 |
|
| 123 |
* **Frontend 0:** Complex baseband signal for selected antenna |
| 124 |
|
| 125 |
The user may set the receive antenna to be TX/RX or RX2. |
| 126 |
However, when using an RFX board in full-duplex mode, |
| 127 |
the receive antenna will always be set to RX2, regardless of the settings. |
| 128 |
|
| 129 |
Receive Gains: **PGA0**, Range: 0-70dB (except RFX400 range is 0-45dB) |
| 130 |
|
| 131 |
Bandwidths (Hz): |
| 132 |
|
| 133 |
* **RX**: 40M |
| 134 |
* **TX**: 40M |
| 135 |
|
| 136 |
Sensors: |
| 137 |
|
| 138 |
* **lo_locked**: boolean for LO lock state |
| 139 |
|
| 140 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 141 |
XCVR 2450 |
| 142 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 143 |
The XCVR2450 has 2 quadrature frontends, one transmit, one receive. |
| 144 |
Transmit and Receive default to direct conversion but |
| 145 |
can be used in low IF mode through lo_offset in uhd::tune_request_t |
| 146 |
|
| 147 |
The XCVR2450 has a non-contiguous tuning range consisting of a |
| 148 |
high band (4.9-6.0GHz) and a low band (2.4-2.5GHz). |
| 149 |
|
| 150 |
Transmit Antennas: **J1** or **J2** |
| 151 |
|
| 152 |
Receive Antennas: **J1** or **J2** |
| 153 |
|
| 154 |
* **Frontend 0:** Complex baseband signal for selected antenna |
| 155 |
|
| 156 |
The XCVR2450 uses a common LO for both receive and transmit. |
| 157 |
Even though the API allows the RX and TX LOs to be individually set, |
| 158 |
a change of one LO setting will be reflected in the other LO setting. |
| 159 |
|
| 160 |
The XCVR2450 does not support full-duplex mode, attempting to operate |
| 161 |
in full-duplex will result in transmit-only operation. |
| 162 |
|
| 163 |
Transmit Gains: |
| 164 |
|
| 165 |
* **VGA**, Range: 0-30dB |
| 166 |
* **BB**, Range: 0-5dB |
| 167 |
|
| 168 |
Receive Gains: |
| 169 |
|
| 170 |
* **LNA**, Range: 0-30.5dB |
| 171 |
* **VGA**, Range: 0-62dB |
| 172 |
|
| 173 |
Bandwidths (Hz): |
| 174 |
|
| 175 |
* **RX**: 15M, 19M, 28M, 36M; (each +-0, 5, or 10%) |
| 176 |
* **TX**: 24M, 36M, 48M |
| 177 |
|
| 178 |
Sensors: |
| 179 |
|
| 180 |
* **lo_locked**: boolean for LO lock state |
| 181 |
* **rssi**: float for rssi in dBm |
| 182 |
|
| 183 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 184 |
WBX Series |
| 185 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 186 |
The WBX Series boards have 2 quadrature frontends, one transmit, one receive. |
| 187 |
Transmit and Receive default to direct conversion but |
| 188 |
can be used in low IF mode through lo_offset in **uhd::tune_request_t**. |
| 189 |
|
| 190 |
The WBX Series boards have independent receive and transmit LO's and synthesizers |
| 191 |
allowing full-duplex operation on different transmit and receive frequencies. |
| 192 |
|
| 193 |
Transmit Antennas: **TX/RX** |
| 194 |
|
| 195 |
Receive Antennas: **TX/RX** or **RX2** |
| 196 |
|
| 197 |
* **Frontend 0:** Complex baseband signal for selected antenna |
| 198 |
|
| 199 |
The user may set the receive antenna to be TX/RX or RX2. |
| 200 |
However, when using an WBX board in full-duplex mode, |
| 201 |
the receive antenna will always be set to RX2, regardless of the settings. |
| 202 |
|
| 203 |
Transmit Gains: **PGA0**, Range: 0-25dB |
| 204 |
|
| 205 |
Receive Gains: **PGA0**, Range: 0-31.5dB |
| 206 |
|
| 207 |
Bandwidths (Hz): |
| 208 |
|
| 209 |
* **RX**: 40M |
| 210 |
* **TX**: 40M |
| 211 |
|
| 212 |
Sensors: |
| 213 |
|
| 214 |
* **lo_locked**: boolean for LO lock state |
| 215 |
|
| 216 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 217 |
SBX Series |
| 218 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 219 |
The SBX Series boards have 2 quadrature frontends, one transmit, one receive. |
| 220 |
Transmit and Receive default to direct conversion but |
| 221 |
can be used in low IF mode through lo_offset in **uhd::tune_request_t**. |
| 222 |
|
| 223 |
The SBX Series boards have independent receive and transmit LO's and synthesizers |
| 224 |
allowing full-duplex operation on different transmit and receive frequencies. |
| 225 |
|
| 226 |
Transmit Antennas: **TX/RX** |
| 227 |
|
| 228 |
Receive Antennas: **TX/RX** or **RX2** |
| 229 |
|
| 230 |
* **Frontend 0:** Complex baseband signal for selected antenna |
| 231 |
|
| 232 |
The user may set the receive antenna to be TX/RX or RX2. |
| 233 |
However, when using an SBX board in full-duplex mode, |
| 234 |
the receive antenna will always be set to RX2, regardless of the settings. |
| 235 |
|
| 236 |
Transmit Gains: **PGA0**, Range: 0-31.5dB |
| 237 |
|
| 238 |
Receive Gains: **PGA0**, Range: 0-31.5dB |
| 239 |
|
| 240 |
Bandwidths (Hz): |
| 241 |
|
| 242 |
* **RX**: 40M |
| 243 |
* **TX**: 40M |
| 244 |
|
| 245 |
Sensors: |
| 246 |
|
| 247 |
* **lo_locked**: boolean for LO lock state |
| 248 |
|
| 249 |
LEDs: |
| 250 |
|
| 251 |
* All LEDs flash when dboard control is initialized |
| 252 |
* **TX LD**: Transmit Synthesizer Lock Detect |
| 253 |
* **TX/RX**: Receiver on TX/RX antenna port (No TX) |
| 254 |
* **RX LD**: Receive Synthesizer Lock Detect |
| 255 |
* **RX1/RX2**: Receiver on RX2 antenna port |
| 256 |
|
| 257 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 258 |
TVRX |
| 259 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 260 |
The TVRX board has 1 real-mode frontend. |
| 261 |
It is operated at a low IF. |
| 262 |
|
| 263 |
Receive Antennas: RX |
| 264 |
|
| 265 |
* **Frontend 0:** real-mode baseband signal from antenna RX |
| 266 |
|
| 267 |
Receive Gains: |
| 268 |
|
| 269 |
* **RF**, Range: -13.3-50.3dB (frequency-dependent) |
| 270 |
* **IF**, Range: -1.5-32.5dB |
| 271 |
|
| 272 |
Bandwidth: 6MHz |
| 273 |
|
| 274 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 275 |
TVRX2 |
| 276 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 277 |
The TVRX2 board has 2 real-mode frontends. |
| 278 |
It is operated at a low IF. |
| 279 |
|
| 280 |
Receive Frontends: |
| 281 |
|
| 282 |
* **Frontend RX1:** real-mode baseband from antenna J100 |
| 283 |
* **Frontend RX2:** real-mode baseband from antenna J140 |
| 284 |
|
| 285 |
Note: The TVRX2 has always-on AGC; the software controllable gain is the |
| 286 |
final gain stage which controls the AGC set-point for output to ADC. |
| 287 |
|
| 288 |
Receive Gains: |
| 289 |
|
| 290 |
* **IF**, Range: 0.0-30.0dB |
| 291 |
|
| 292 |
Bandwidth: 1.7MHz, 6MHz, 7MHz, 8MHz, 10MHz |
| 293 |
|
| 294 |
Sensors: |
| 295 |
|
| 296 |
* **lo_locked**: boolean for LO lock state |
| 297 |
* **rssi**: float for measured RSSI in dBm |
| 298 |
* **temperature**: float for measured temperature in degC |
| 299 |
|
| 300 |
------------------------------------------------------------------------ |
| 301 |
Daughterboard Modifications |
| 302 |
------------------------------------------------------------------------ |
| 303 |
|
| 304 |
Sometimes, daughterboards will require modification |
| 305 |
to work on certain frequencies or to work with certain hardware. |
| 306 |
Modification usually involves moving/removing an SMT component |
| 307 |
and burning a new daughterboard ID into the EEPROM. |
| 308 |
|
| 309 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 310 |
DBSRX - Mod |
| 311 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 312 |
|
| 313 |
Due to different clocking capabilities, |
| 314 |
the DBSRX will require modifications to operate on a non-USRP1 motherboard. |
| 315 |
On a USRP1 motherboard, a divided clock is provided from an FPGA pin |
| 316 |
because the standard daughterboard clock lines cannot provided a divided clock. |
| 317 |
However, on other USRP motherboards, the divided clock is provided |
| 318 |
over the standard daughterboard clock lines. |
| 319 |
|
| 320 |
**Step 1: Move the clock configuration resistor** |
| 321 |
|
| 322 |
Remove **R193** (which is 10 ohms, 0603 size), and put it on **R194**, which is empty. |
| 323 |
This is made somewhat more complicated by the fact that the silkscreen is not clear in that area. |
| 324 |
**R193** is on the back, immediately below the large beige connector, **J2**. |
| 325 |
**R194** is just below, and to the left of **R193**. |
| 326 |
The silkscreen for **R193** is ok, but for **R194**, |
| 327 |
it is upside down, and partially cut off. |
| 328 |
If you lose **R193**, you can use anything from 0 to 10 ohms there. |
| 329 |
|
| 330 |
**Step 2: Burn a new daughterboard id into the EEPROM** |
| 331 |
|
| 332 |
With the daughterboard plugged-in, run the following commands: |
| 333 |
:: |
| 334 |
|
| 335 |
cd <install-path>/share/uhd/utils |
| 336 |
./usrp_burn_db_eeprom --id=0x000d --unit=RX --args=<args> --slot=<slot> |
| 337 |
|
| 338 |
* **<args>** are device address arguments (optional if only one USRP is on your machine) |
| 339 |
* **<slot>** is the name of the daughterboard slot (optional if the USRP has only one slot) |
| 340 |
|
| 341 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 342 |
RFX - Mod |
| 343 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 344 |
Older RFX boards require modifications to use the motherboard oscillator. |
| 345 |
If this is the case, UHD will print a warning about the modification. |
| 346 |
Please follow the modification procedures below: |
| 347 |
|
| 348 |
**Step 1: Disable the daughterboard clocks** |
| 349 |
|
| 350 |
Move **R64** to **R84**. Move **R142** to **R153**. |
| 351 |
|
| 352 |
**Step 2: Connect the motherboard blocks** |
| 353 |
|
| 354 |
Move **R35** to **R36**. Move **R117** to **R115**. |
| 355 |
These are all 0-ohm, so if you lose one, just short across the appropriate pads. |
| 356 |
|
| 357 |
**Step 3: Burn the appropriate daughterboard ID into the EEPROM** |
| 358 |
|
| 359 |
With the daughterboard plugged-in, run the following commands: |
| 360 |
:: |
| 361 |
|
| 362 |
cd <install-path>/share/uhd/utils |
| 363 |
./usrp_burn_db_eeprom --id=<rx_id> --unit=RX --args=<args> --slot=<slot> |
| 364 |
./usrp_burn_db_eeprom --id=<tx_id> --unit=TX --args=<args> --slot=<slot> |
| 365 |
|
| 366 |
* **<rx_id>** choose the appropriate RX ID for your daughterboard |
| 367 |
|
| 368 |
* **RFX400:** 0x0024 |
| 369 |
* **RFX900:** 0x0025 |
| 370 |
* **RFX1800:** 0x0034 |
| 371 |
* **RFX1200:** 0x0026 |
| 372 |
* **RFX2400:** 0x0027 |
| 373 |
* **<tx_id>** choose the appropriate TX ID for your daughterboard |
| 374 |
|
| 375 |
* **RFX400:** 0x0028 |
| 376 |
* **RFX900:** 0x0029 |
| 377 |
* **RFX1800:** 0x0035 |
| 378 |
* **RFX1200:** 0x002a |
| 379 |
* **RFX2400:** 0x002b |
| 380 |
* **<args>** are device address arguments (optional if only one USRP is on your machine) |
| 381 |
* **<slot>** is the name of the daughterboard slot (optional if the USRP has only one slot) |