NI USRP RIO utilizes two complementary LabVIEW based software driver experiences: a host based driver (NI-USRP), and a fully open and customizable LabVIEW FPGA experience (NI-USRP RIO). Both driver interfaces support connectivity over PCI Express and use a similar driver approach allowing users to efficiently take their design from the host computer to the FPGA. NI-USRP also supports connection over 1G or 10G Ethernet for USRP-294x/295x devices, but using LabVIEW FPGA is not supported in this configuration.
NI USRP RIO releases with NI-USRP 14.0 driver support and later provide a seamless host-based interface that is fully backward-compatible with USRP-292x and USRP-293x devices. Using a fixed FPGA image configurable from the host API allows users to develop their algorithm in LabVIEW and seamlessly move between NI USRP and NI USRP RIO devices.
Figure 6. Typical Streaming Application Using NI-USRP driver (Host Only)
NI-USRP RIO Driver
As applications require increased performance, users can utilize the large Kintex 7 FPGA for co-processing by migrating their design using the NI USRP-RIO driver. The NI USRP RIO driver provides a streaming sample project that includes open host processor and FPGA design code written in LabVIEW and LabVIEW FPGA respectively. The sample project can be configured so that the code runs only on the host, and/or modify the FPGA personality to include custom processing. While the entire FPGA reference design is customizable, will most often insert their code in the signal chain near the DMA FIFO. The streaming sample project is based on the “Instrument Design Library” reference design common to NI FlexRIO SDR and the NI Vector Signal Transceiver (VST).
Figure 7. Typical Streaming Application using NI-USRP RIO driver (Host and FPGA)