daemon banner  
..
Home Data Acquisition with FreeBSD
Data Acquisition

Data Acquisition with FreeBSD

Murray Stokely <murray@FreeBSD.org>

This page describes some of the work that I have done with data acquisition devices and FreeBSD.


   [ Device Drivers ]    [ LabView ]    [ Additional Software ]    [ Related Work ]    


Data Acquisition Device Drivers for FreeBSD

I wrote a driver for the PCI E-series cards from NI. This driver currently supports Analog Input and Digital I/O. I haven't added support for the general purpose counter/timers yet (useful to do staged analog acquisitions) and unfortunately the driver does not do DMA yet. I have been in contact with at least 10 different representatives at National Instruments in an effort to obtain programming information for the mMITE chip. Some NI engineers are writing some code for the Comedi project that I might be able to pick up if all else fails.

Anyway, this driver has only been tested on a PCI-6023E under -current but it should work for many other devices as well. This is alpha-quality code but "it works for me".


Data Acquisition Hardware

Vendor Model Analog Input Analog Outpu Other Cost
National Instruments PCI-6023E 16 channels, 12bit, 200kS/s None DMA, 8 digital I/O, 2 24bit counters $395
National Instruments PCI-6024E 16 channels, 12bit, 200kS/s 2 channels, 12 bit DMA, 8 digital I/O, 2 24bit counters $595
National Instruments PCI-6025E 16 channels, 12bit, 200kS/s 2 channels, 12 bit DMA, 32 digital I/O, 2 24bit counters $695
National Instruments PCI-6034E 16 channels, 16bit, 200kS/s None DMA, 8 digital I/O, 2 24bit counters $595
National Instruments PCI-6035E 16 channels, 16bit, 200kS/s 2 channels, 12 bit DMA, 8 digital I/O, 2 24bit counters $795
Measurement Computing (ComputerBoards) PCI-DAS08 8 channels, 12bit, 50KHz none 7 digital I/O, 3 16bit counters $249
Measurement Computing (ComputerBoards)

The ComputerBoards PCI DAQ cards are not interesting to me because only the > $1000 models do DMA and my CPU has better things to do than service programmed I/O interrupts several hundred times a second.

Adlink Technology PCI-9112 16 channels, 12bit, 110KHz 2 channels, 12bit DMA, 16 digital in, 16 digital out, 8254 16bit counter $659

LabVIEW

LabVIEW is a graphical programming language that uses icons instead of lines of text to create applications. In LabVIEW, you build a user interface by using a set of tools and objects. The user interface is known as a front panel. You then add code using graphical representations of functions to control the front panel objects. The "block diagram" contains this code. If organized properly, the block diagram resembles a flowchart. You can think of LabVIEW as a RAD tool specifically for data acquisition. Using LabVIEW you can make very complex virtual instruments, such as an oscilliscope, very quickly.

Installation Instructions

LabView Screenshot

LabVIEW Front Panel

LabView Screenshot

LabVIEW Block Diagram


Additional DAQ Software

There is a lot of really cool stuff going on in this area in the Linux camp.


Related Work

Email : murray@freebsd.org

Copyright © 2001-2005 Murray Stokely. All rights reserved.
Last modified: 2002-04-01 09:29:54 UTC