Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Development of a device driver for a "self made" usb device

Hello !
I am totally new to LabView, so my question is very basic (... and I need a very basic answer).
We built a new device (operating Time to Digital Converters over the USB-port) and want to develop a device driver to be able to use this TDC-device in LabView.
 
What (in principle) do I have to do ?
 
Thanks !
Thomas !
0 Kudos
Message 1 of 5
(4,124 Views)
You have a couple of options. As explained in this tutorial, you can create an inf file for the device such that VISA sees it. Then you would use VISA Write and VISA Read in USB RAW mode to send/receive data. You could also create a dll in another language that uses RAW communication mode. In LabVIEW, the Call Library Function Node would be used to interface to your dll. You can also spend a bit more time and effort and create a USB-TMC (Test & Measurement Class) device. Specs on the class can be found at here.
Message 2 of 5
(4,117 Views)
The link for the VISA wizard is incorrect. The correct one is  http://zone.ni.com/devzone/cda/tut/p/id/4478#1.
0 Kudos
Message 3 of 5
(4,110 Views)
For some USB connectivity chips you can find labview (dll) driver. FTDI for example...http://www.ftdichip.com/Projects/CodeExamples/LabVIEW.htm
   
Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 4 of 5
(4,085 Views)

If your custom device uses one BULK-OUT and one BULK-IN endpoints for the fundamental I/O communication (except for the CONTROL endpoint for standard/vendor requests), you can utilize NI-VISA's RAW session in your PC-side app (such as LabVIEW).  The step-by-step procedure for this is found in the link that Dennis provided.  In this case you don't have to write any kernel mode USB driver and its wrapper DLL. 

If the vendor of USB chip that your device is using supports some VCP (Virtual COM port) driver that allows you to use it as if it was a serial device, you may be able to use any serial (RS232) port approach.  In this case, your app will access a virtual serial COM port.

If you are going to write kernel-mode USB driver from scratch, you will need Microsoft Windows DDK and a C compiler (such as Visual C++).  However writing kernel mode driver is very hard for beginners.

 

0 Kudos
Message 5 of 5
(4,068 Views)