12-20-2012 12:56 PM
I have a USRP from Ettus with a different RF front end that I still would like to use in the LV environment. Since the NI-USRP driver only works with the USRP with the WBX front end...I was thinking about just writing our own version of a driver that I could use to communicate with my Ettus radio.
I've searched the Ettus site trying to find a 'command set' or register map or something, but have been unsuccessful (probably just not looking in the right place). No doubt there are many UHD drivers in C++, Python, etc....but I'm trying to find a 'generic list' of commands/parameters/etc that the UHD driver is comprised of, so we can make our own small, custom, driver in LV that will agree with the USRP/daughterboard configuration that I have.
OR...perhaps there's an easier way to modify the existing NI-USRP driver?
Any help?
---
Brandon
12-20-2012 01:01 PM - edited 12-20-2012 01:08 PM
Hey Brandon,
The LV driver works with more than just the WBX daughterboard. Version 1.0 supports the WBX and XCVR. Version 1.1 adds support for the SBX and LF boards. However, even though the other daughterboards aren't supported, I have been able to use LabVIEW with all of them. I have not done extensive testing one them, and they are not officially supported, but I was able to run basic examples with all daughterboards.
As a word of caution, if you have an RFX, LabVIEW will crash if you try to set it to an unsupported frequency. However when given a frequency in the range the board expects, it ran fine.
12-20-2012 01:05 PM
Hello Brandon,
I believe there may be two ways to go about what you want to do:
1. The easiest, if you have the right combination of hardware:
The latest NI-USRP driver (version 1.1 to date) is actually compatible with a number of Ettus Research options. Take a look at the readme for the driver.
compatible with Ettus Research USRP2, USRP N200, and USRP N210 devices using the following daughterboards: SBX LFTX LFRX BasicTX BasicRX ... ... WBX XCVR2450
You will need to flash the firmware and FPGA image to your USRP device to take advantage of the NI-USRP driver for LabVIEW.
2. Manual method, which you proposed:
You would need to create a DLL using the UHD driver available from Ettus Reasearch. You would need to implement and export the functions so you can use Call Library Function Nodes from LabVIEW. For support you would need to subscribe to the USRP mailing list.
12-20-2012 01:06 PM
Had some errors while using the LFTx and LFRx...need to double check the driver version first.
Thanks for the quick reply!
---
BC
12-20-2012 01:40 PM
Two things...
1. It looks like the Ettus site still links to Version 1.0 on ni.com
2. Anthony...you say that you have to reflash the firmware and FPGA. Can you explain this a little more? I don't recal having to actively do this on my "NI flavored" USRP (with the WBX front end). It's sounding like the NI driver is more than just instructions for the host PC, but also requires some reconfiguration of the hardware? Is this because of some subtle difference between "NI flavored" USRPs and "Ettus flavored" USRPs? Can you give some more info?
---
Brandon
12-20-2012 01:54 PM
Hey Brandon,
I took care of your first point. The link will be updated shortly.
The USRP needs a firmware and FPGA image to function. When you buy your USRP from NI or Ettus, it comes with images already flashed on the device. However, if you update your driver version, you should also update the firmware and FPGA image. This is true whether you are using NI-USPR or UHD. Here's a knowledge base that explains how to do it. The NI USRPs and Ettus USRPs both consist of a motherboard and a daughterboard and will work with either driver, but the FW and FPGA image are different for the 2 different drivers.
12-20-2012 01:58 PM
Thanks Sarah! This is exactly what I was looking for. Perhaps I'm imagining updating my NI-USRP driver to Version 1.1!! Otherwise, I would have remembered having to go through the re-imaging process.
We'll try all of this out with the Ettus radio.
Thanks!
---
BC