diff options
Diffstat (limited to 'usrp/doc/usrp_guide.xml')
-rw-r--r-- | usrp/doc/usrp_guide.xml | 399 |
1 files changed, 0 insertions, 399 deletions
diff --git a/usrp/doc/usrp_guide.xml b/usrp/doc/usrp_guide.xml deleted file mode 100644 index 7c4d5d5e8f..0000000000 --- a/usrp/doc/usrp_guide.xml +++ /dev/null @@ -1,399 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "docbookx.dtd" [ -]> - -<article> - <articleinfo> - <title>USRP User's and Developer's Guide</title> - <author> - <firstname>Matt</firstname> - <surname>Ettus</surname> - <affiliation> - <orgname>Ettus Research LLC</orgname> - <address> - Ettus Research LLC - <street>604 Mariposa Ave</street> - <city>Mountain View</city>, <state>CA</state> <postcode>94041</postcode> - <country>USA</country> - <email>matt@ettus.com</email> - </address> - </affiliation> - </author> - - <abstract> - <para> - This guide explains both basic usage of the USRP as well as how to expand it. - </para> - </abstract> - - </articleinfo> - - <sect1 id="intro"> - <title>Introduction</title> - <para> - The Universal Software Radio Peripheral, or USRP (pronounced "usurp") - is designed to allow general purpose computers to function as high - bandwidth software radios. In essence, it serves as a digital - baseband and IF section of a radio communication system. In addition, - it has a well-defined electrical and mechanical interface to RF - front-ends (daughterboards) which can translate between that IF or - baseband and the RF bands of interest - </para> - <para> - The basic design philosophy behind the USRP has been to do all of the - waveform-specific processing, like modulation and demodulation, on the - host CPU. All of the high-speed general purpose operations like - digital up- and downconversion, decimation and interpolation are done - on the FPGA. - </para> - <para> - It is anticipated that the majority of USRP users will never need to - use anything other than the standard FPGA configuration. However, for - those users that wish to, the FPGA design may be changed or replaced. - All of the interfaces are well defined and documented. - </para> - <figure id="usrp-board"> - <title>USRP with Daughterboards</title> - <mediaobject> - <imageobject><imagedata fileref="usrp.jpg" format="JPG"/></imageobject> - <caption><para> - This USRP has 2 BasicTX and 2 BasicRX boards mounted on it. - Notice that the boards on the left are rotated 180 degrees. - </para></caption> - </mediaobject> - </figure> - - <sect2 id="requirements"> - <title>System Requirements</title> - <para> - The USRP requires a PC or Mac with a USB2 interface. - </para> - </sect2> - - <sect2 id="capabilities"> - <title>Capabilities</title> - <para> - The USRP has 4 high-speed analog to digital converters (ADCs), each at - 12 bits per sample, 64 million samples per second. There are also - 4 high-speed digital to analog converters (DACs), each at 14 bits per - sample, 128 million samples per second. These 4 input and 4 output - channels are connected to an Altera Cyclone EP1C12 FPGA. The FPGA, in - turn, connects to a USB2 interface chip, the Cypress FX2, and on to the - computer. The USRP connects to the computer via a high speed USB2 - interface only, and will not work with USB1.1. - </para> - <figure id="usrp-block-diagram-fig"><title>Universal Software Radio Peripheral</title> - <mediaobject> - <imageobject><imagedata fileref="usrp-block-diagram.eps" format="EPS"/></imageobject> - <imageobject><imagedata fileref="usrp-block-diagram.png" format="PNG"/></imageobject> - <caption><para></para></caption> - </mediaobject> - </figure> - </sect2> - </sect1> - <sect1 id="getting-started"> - <title>Getting Started</title> - <sect2 id="the-code"> - <title>Getting all the Software</title> - <para> - The first step in using your USRP system is to get all of GNU Radio installed. This can - sometimes be a daunting process, as there are several other libraries which will need to be - installed first. - </para> - <sect3 id="dependencies"> - <title>Library Dependencies</title> - <itemizedlist> - <listitem> - <para>SWIG</para> - <para> - We use SWIG (Simple Wrapper Interface Generator) to tie together the C++ and Python code - in the GNU Radio system. We require that you have version 1.3.24 or newer. You'll - probably have to compile it from source, which you can find here: <ulink url="http://www.swig.org">SWIG</ulink> - </para> - </listitem> - <listitem> - <para>FFTW</para> - <para> - FFTW is the library which GNU Radio uses for FFTs. GNU Radio requires version 3.0.1 or - newer, and it must be compiled for single precision. You can get it from the - <ulink url="http://www.fftw.org">FFTW Homepage</ulink> - </para> - </listitem> - <listitem> - <para>Boost Library</para> - <para> - Boost provides several low-level structures used in our C++ code. If it is not included in - your OS distribution, you can get it here: <ulink url="http://boost.org">Boost</ulink> - </para> - </listitem> - <listitem> - <para>CPP Unit</para> - <para> - CPPUnit provides our unit-testing framework. This creates automated tests to insure that - code does not break when changes are made. Get it at the <ulink url="http://cppunit.sf.net"> - CPP Unit Homepage</ulink> - </para> - </listitem> - </itemizedlist> - </sect3> - <sect3 id="getting-gradio"> - <title>Getting GNU Radio and the USRP code</title> - <para> - There are several packages of software which make up GNU Radio and the USRP support software. - Links to the latest versions of each can be found on the GNU Radio Wiki at - <ulink url="http://comsec.com/wiki?GnuRadio2.X">Download Links</ulink>. Gr-build - can greatly simplify the installation process, and its use it highly recommended. - </para> - </sect3> - <sect3 id="cvs"> - <title>Following CVS Development</title> - <para> - Development for the USRP proceeds very quickly at times, so some users may want to keep up with - the latest by following the CVS trees. There are three separate software repositories - which contain various parts of the USRP system. - <itemizedlist> - <listitem> - <para> - USRP-HW, containing the hardware and FPGA designs. - </para> - <para> - All of the schematics in this repository were created in - <ulink url="http://www.geda.seul.org">gEDA</ulink>. The board - layouts were created in <ulink url="http://pcb.sf.net">PCB</ulink>. - Verilog designs are compiled in Quartus II Web Edition from - <ulink url="http://www.altera.com">Altera</ulink>. - </para> - </listitem> - <listitem> - <para> - <ulink url="https://sourceforge.net/cvs/?group_id=22397">USRP-SW</ulink>, - USRP-SW, containing firmware and host drivers for the USRP - </para> - <para> - Host side drivers and firmware which runs in the USB2 interface chip on the board. - </para> - </listitem> - <listitem> - <para> - <ulink url="http://comsec.com/wiki?CvsAccess">GNU Radio/gr-usrp</ulink> - which contains the GNU Radio interface to the USRP - </para> - </listitem> - </itemizedlist> - </para> - </sect3> - </sect2> - <sect2 id="usrp-start"> - <title>Using your USRP</title> - <sect3 id="physical"> - <title>Mechanical Connection</title> - <para> - The USRP ships with a complete set of standoffs, nuts and bolts. There are 20 standoffs, - M3x10mm M-F, of which 4 are intended to be used as "feet" for the USRP. Place them in the 4 - corner holes on the main board, inserting the male part from below. The remaining 16 - are used to hold the daughterboards in place. Four of them should be connected to the male - portion of the 4 standoffs already inserted from below. The remaining 12 should be - connected to the board with the 12 M3x6mm screws from below. At this point there should be - 16 standoffs on the board with the male ends up to serve as a guide for the daughterboards. - The 16 M3 nuts are used to fasten the daughterboards down to the main board. - </para> - <para> - The USRP accomodates 2 TX and 2 RX daughterboards. The placement of the standoffs is designed - to prevent the accidental incorrect connection of daughterboards. The 2 sides of the USRP have - their daughterboard slots rotated 180 degrees. The USRP should not be operated without - standoffs, and daughterboards should never be connected or removed while power is applied. - </para> - </sect3> - <sect3 id="electrical"> - <title>Electrical Connections</title> - <para> - The USRP is powered by a 6V 4A power converter included in the kit. The converter is - capable of 90-260 Vac, 50/60 Hz operation, and so should work in any country. - If there is a need to use another power supply, the connector is a standard 2.1mm/5.5mm - DC power connector. The USRP itself only needs 5V at 2A, but a 6V supply was chosen to - accomodate future daughterboards. Extra power supplies are available from Ettus Research. - </para> - <para> - The included USB cable should be connected to a USB2-capable socket on a computer. The USRP - does not support USB 1.1 operation at this time. - </para> - </sect3> - <sect3 id="diagnostics"> - <title>Troubleshooting</title> - <para> - When first powered up, an LED on the USRP should be flashing at about 3-4x per second. - This indicates that the processor is running, and has put the device in a low power mode. - Once firmware has been downloaded to the USRP, the LED will blink at a slower rate. - If there is no blinking LED, check all power connections, and check for continuity - in the power fuse (F501, near the power connector). If the fuse needs replacement, it - is size 0603, 3 amps. - </para> - </sect3> - </sect2> - </sect1> - <sect1 id="fpga"> - <title>FPGA</title> - <sect2 id="fpga-std"> - <title>Standard FPGA Configuration</title> - <para> - In the standard fpga configuration, usrp_std, all samples sent over - the USB interface are in 16-bit signed integers in IQ format. When - there are multiple channels (up to 4), the channels are interleaved. - For example, with 4 channels, the sequence would be I0 Q0 I1 Q1 I2 Q2 - I3 Q3 I0 Q0, etc. - </para> - <para> - The USRP can operate in full duplex mode. When in this mode, the - transmit and receive sides are completely independent of one another. - The only consideration is that the combined data rate over the bus - must be 32 Megabytes per second or less. The multiple RX channels - (1,2, or 4) must all be the same data rate (i.e. same decimation - ratio). The same applies to the 1,2, or TX channels, which each must - be at the same data rate (which may be different from the RX rate). - </para> - <para> - On the RX side, each of the 4 ADCs can be routed to either of I or the - Q input of any of the 4 downconverters. This allows for having - multiple channels selected out of the same ADC sample stream. - </para> - <para> - The digital upconverters (DUCs) on the transmit side are actually - contained in the AD9862 CODEC chips, not in the FPGA. The only - transmit signal processing blocks in the FPGA are the interpolators. - The interpolator outputs can be routed to any of the 4 CODEC inputs. - </para> - <figure id="ddc-fig"><title>Digital Down Converter Block Diagram</title> - <mediaobject> - <imageobject><imagedata fileref="ddc.eps" format="EPS"/></imageobject> - <imageobject><imagedata fileref="ddc.png" format="PNG"/></imageobject> - <caption><para></para></caption> - </mediaobject> - </figure> - - </sect2> - </sect1> - <sect1 id="dboard-int"> - <title>Daughterboard Interface</title> - <sect2 id="power-int"> - <title>Power</title> - <para> - Daughterboards are provided with clean regulated 3.3V for the analog - and digital sections. Additionally there is a 6V connection straight from - the wall supply which is intended to supply a 5V LDO regulator. All daughterboards - may draw a combined total of 1.5 A. - </para> - </sect2> - <sect2 id="logical-int"> - <title>Logical Interface</title> - <para> - There are slots for 2 TX daughterboards, labeled TXA and TXB, and 2 - corresponding RX daughterboards, RXA and RXB. Each daughterboard slot has - access to 2 of the 4 high-speed data converter analog signals (DAC outputs - for TX, ADC inputs for RX). This allows each daughterboard which uses real - (not IQ) sampling to have 2 independent RF sections, and 2 antennas - (4 total for the system). If IQ sampling is used, each board can support - a single RF section, for a total of 2 for the whole system. - </para> - <para> - No antialias or reconstruction filtering is provided on the USRP motherboard. - This allows for maximum flexibility in frequency planning for the - daughterboards. The analog input bandwidth of the ADCs is over 200 MHz, so - IF frequencies up to that high may be chosen. If several decibels of loss - is tolerable, and IF frequency as high as 500 MHz can be used. - </para> - <para> - Every daughterboard has an I2C EEPROM (24LC024 or 24LC025) onboard - which identifies the board to the system. This allows the host - software to automatically set up the system properly based on the - installed daughterboard. The EEPROM may also store calibration values - like DC offsets or IQ imbalances. If this EEPROM is not programmed, a - warning message is printed every time USRP software is run. - </para> - </sect2> - <sect2 id="analog-int"> - <title>Analog Interface</title> - <para> - Each RX daughterboard has 2 differential analog inputs - (VINP_A/VINN_A and VINP_B/VINN_B) which are sampled at a rate of 64 MS/s. - The input impedance is approximately 1Kohm. - The motherboard has a software-controllable programmable gain amplifier - on these inputs, with 0 to 20 dB of gain. With gain set to zero, full - scale inputs are 2 Volts peak-to-peak differential. When set to 20 dB, - only .2 V pk-pk differential is needed to reach full scale. - </para> - <para> - If signals are AC-coupled, there is no need to provide DC bias as long as the - internal buffer is turned on. It will provide an approximately 2V bias. - If signals are DC-couple, a DC bias of Vdd/2 (1.65V) should be provided to - both the positive and negative inputs, and the internal buffer should be turned off. - VREF provides a clean 1 V reference. - </para> - <para> - Each TX daughterboard has a pair of differential analog outputs which are - updated at 128 MS/s. The signals (IOUTP_A/IOUTN_A and IOUTP_B/IOUTN_B) are - current-output, each varying between 0 and 20 mA. Since they are high-impedance, - they can be converted into differential voltages with a resistor. - </para> - <para> - In addition to the high-speed signals, each daughterboard has exclusive access to 2 low-speed ADC inputs - (labeled AUX_ADC_A and AUX_ADC_B) which can be read from software. - These are useful for sensing RSSI signal levels, temperatures, bias - levels, etc. Additionally, each board has shared access to 4 low-speed DAC - signals, labeled AUX_DAC_A through AUX_DAC_D. RXA and TXA share one set - of these 4 lines, and RXB and TXB share their own independent set. These - signals are useful for controlling gain of variable-gain amplifiers, for example. - AUX_ADC_REF provides a reference level for gain setting if it is necessary. - </para> - - </sect2> - <sect2 id="dig-int"> - <title>Digital Interface</title> - <para></para> - </sect2> - <sect2 id="mech-int"> - <title>Connector Pinouts</title> - - <table frame='all'><title>RX DBoard Connector</title> - <tgroup cols='3' align='left' colsep='1' rowsep='1'> - <thead> - <row> - <entry>Pin #</entry> - <entry>Name</entry> - <entry>Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>1</entry> - <entry>power</entry> - <entry>This is power</entry> - </row> - <row> - <entry>c1</entry> - <entry>c4</entry> - </row> - <row> - <entry>d1</entry> - <entry>d4</entry> - <entry>d5</entry> - </row> - </tbody> - </tgroup> - </table> - </sect2> - </sect1> - <sect1 id="dboards"> - <title>Available Daughterboards</title> - <sect2 id="basicrx"> - <title>BasicRX</title> - <para> - </para> - </sect2> - <sect2 id="basictx"> - <title>BasicTX</title> - <para> - </para> - </sect2> - </sect1> -</article> |