aboutsummaryrefslogtreecommitdiffstats
path: root/host/docs/usrp_n3xx.dox
diff options
context:
space:
mode:
Diffstat (limited to 'host/docs/usrp_n3xx.dox')
-rw-r--r--host/docs/usrp_n3xx.dox95
1 files changed, 92 insertions, 3 deletions
diff --git a/host/docs/usrp_n3xx.dox b/host/docs/usrp_n3xx.dox
index 97d92b823..7845327be 100644
--- a/host/docs/usrp_n3xx.dox
+++ b/host/docs/usrp_n3xx.dox
@@ -5,13 +5,32 @@
\section n3xx_feature_list Comparative features list
- Hardware Capabilities:
+ - Dual SFP+ Transceivers (can be used with 1 GigE, 10 GigE)
- External PPS input & output
- External 10 MHz input & output
+ - Internal 25 MHz reference clock
+ - Internal GPSDO for timing, location, and 20 MHz reference clock + PPS
+ - External GPIO Connector with UHD API control
+ - External USB Connection for built-in JTAG debugger and serial console
+ - Xilinx Zynq SoC with dual-core ARM Cortex A9 and Virtex-7 FPGA
+
+- Software Capabilities:
+ - Full Linux system running on the ARM core
+ - Runs MPM (see also \ref page_mpm)
+
- FPGA Capabilities:
- Timed commands in FPGA
- Timed sampling in FPGA
+ - RFNoC capability
-tbw
+The N3XX series of USRPs is designed as a platform. The following USRPs are
+variants of the N3XX series:
+
+\section n3xx_feature_list_mg N310 (4-channel transceiver)
+
+ - Supported master clock rates: 200 MHz and 184.32 MHz
+ - 4 RX DDC chains in FPGA
+ - 4 TX DUC chain in FPGA
\section n3xx_getting_started Getting started
@@ -68,13 +87,66 @@ You should be presented with a shell similar to the following (FIXME):
\subsection n3xx_getting_started_connectivity Network Connectivity
-tbw
+tbw (Using ifconfig, using systemd to set static IPs)
+
+\subsection n3xx_getting_started_security Security-related settings
+
+The N3XX ships without a root password set. It is possible to ssh into the
+device by simply connecting as root, and thus gaining access to all subsystems.
+To set a password, run the command
+
+ $ passwd
+
+on the device.
+
\subsection n3xx_getting_started_fpga_update Updating the FPGA
+tbw (using uhd_image_loader)
+
+\section n3xx_usage Using an N3XX USRP from UHD
+
+Like any other USRP, all N3XX USRPs are controlled by the UHD software. To
+integrate a USRP N3XX into your C++ application, you would generate a UHD
+device in the same way you would for any other USRP:
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
+auto usrp = uhd::usrp::multi_usrp::make("type=n3xx");
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For a list of which arguments can be passed into make(), see Section
+\ref n3xx_usage_device_args.
+
+\subsection n3xx_usage_device_args Device arguments
+
+ Key | Description | Supported Devices | Example Value
+---------------------|------------------------------------------------------------------------------|-------------------|---------------------
+ addr | IPv4 address of primary SFP+ port to connect to. | All N3xx | addr=192.168.30.2
+ second_addr | IPv4 address of secondary SFP+ port to connect to. | All N3xx | second_addr=192.168.40.2
+ mgmt_addr | IPv4 address which to connect the RPC client. Defaults to `addr. | All N3xx | mgmt_addr=10.1.2.3 (can also go to RJ45)
+ master_clock_rate | Master Clock Rate in Hz | N310 | master_clock_rate=125e6
+ identify | Causes front-panel LEDs to blink. The duration is variable. | N310 | identify=5 (will blink for about 5 seconds)
+ serialize_init | Force serial initialization of daughterboards. | All N3xx | serialize_init=1
+ skip_dram | Ignore DRAM FIFO block. Connect TX streamers straight into DUC or radio. | All N3xx | skip_dram=1
+ skip_ddc | Ignore DDC block. Connect Rx streamers straight into radio. | All N3xx | skip_ddc=1
+ skip_duc | Ignore DUC block. Connect Rx streamers or DRAM straight into radio. | All N3xx | skip_duc=1
+ ref_clk_freq | Specify the external reference clock frequency, default is 10 MHz. | N310 | ref_clk_freq=20e6
+ init_cals | Specify the bitmask for initial calibrations of the RFIC. | N310 | init_cals=0x4DFF
+ init_cals_timeout | Timeout for initial calibrations in milliseconds. | N310 | init_cals_timeout=45000
+ tracking_cals | Specify the bitmask for tracking calibrations of the RFIC. | N310 | tracking_cals=0xC3
+ rx_lo_source | Initialize the source for the RX LO. | N310 | rx_lo_source=external
+ tx_lo_source | Initialize the source for the TX LO. | N310 | tx_lo_source=external
+
+\subsection n3xx_usage_sensors The sensor API
+
+\section n3xx_rasm Remote Management
+
+- Mender
+- Salt
+
tbw
-\subsection n3xx_theory_of_ops Theory of Operation
+\section n3xx_theory_of_ops Theory of Operation
The N3xx-series are devices based on the MPM architecture (see
also: \ref page_mpm). Inside the Linux operating system running on the ARM
@@ -83,5 +155,22 @@ device to function as a USRP (it is enabled to run by default).
A large portion of hardware-specific setup is handled by the daemon.
+tbw
+
+\section n3xx_mg N310-specific Features
+
+\subsection n3xx_mg_eeprom Storing user data in the EEPROM
+
+The N310 daughterboard has an EEPROM which is primarily used for storing the
+serial number, product ID, and other product-specific information. However, it
+can also be used to store user data, such as calibration information.
+
+Note that EEPROMs have a limited number of write cycles, and storing user data
+should happen only when necessary. Writes should be kept at a minimum.
+
+Storing data on the EEPROM is done by loading a uhd::eeprom_map_t object into
+the property tree. On writing this property, the driver code will serialize
+the map into a binary representation that can be stored on the EEPROM.
+
*/
// vim:ft=doxygen: