Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Should I use an existing usb driver or should I create my own?

We are developing a custom piece of hardware that uses a TI6250 chip to provide an USB communication channel. I read through the web reference http://zone.ni.com/devzone/conceptd.nsf/webmain/6792BAB18242082786256DD7006B6416?opendocument that seems to imply that I don't want to use any existing drivers but I need to create my own using the wizard.
I'm new to USB so I'm trying to get started off right so any advice for a novice would be appreciated.

Thanks,

Brad
0 Kudos
Message 1 of 4
(3,000 Views)
Hi Brad,

The answer to your question depends on what you want to do with the USB device. If your USB device provides its own driver, you may be able to use their driver through LabVIEW by making function calls. The document you referenced only applies if you want to use NI-VISA to control your device. If your device is USBTMC compliant, then you can just plug it in and VISA can communicate with it using message based Write and Read functions. Otherwise, you can use the VISA Driver Development Wizard as described in the document to create an inf file that will tell Windows that NI-VISA is controlling the device. Then you will need to basically create your own driver in LabVIEW to communicate with it.

Hope this helps!

john
Applications Engineer
0 Kudos
Message 2 of 4
(2,986 Views)
I guess what I am trying to understand is: Does the VISA Driver Development Wizard create a 'driver' that would replace the one that comes with the TI chip? The new inf file tells the OS to look at NI-VISA for a driver, correct? How hard is it to 'create your own driver in Labview'?

Thanks for helping me get up to speed on this.

Brad
0 Kudos
Message 3 of 4
(2,983 Views)
What the wizard creates is a .inf file that contains manufacturer id, model number, etc. that defines the USB device that you want to talk to. On your custom board, you have to implement these settings in eeprom/flash. The TI chip driver tells your board pnly how to manage USB communication. You would also need to implement a means to interpret commands received into the hardware functions that are on your board. For example, if the text "RST" is received, intrepret that as a reset and set board level registers to do that. The LabVIEW driver would include a Reset VI. This VI would do a VISA Write with the text "RST". So what we're talking about is actually several different levels of drivers and code - VISA, the .inf file, the embedded code on your custom board, and LabVIEW VIs.
0 Kudos
Message 4 of 4
(2,979 Views)