Figure 45 depicts a simplified block diagram of the National Instruments data acquisition
card that will be used in the lab portion of the class. It has 16 analog channels which can
either be configured as 16 single ended inputs, or 8 differential inputs. This is
accomplished by the multiplexer, or switching circuit and is software configurable.

The output of the multiplexer feeds into an amplifier whose gain is programmable through
software. This circuit allows the programmer to select an amplification appropriate to the
signal that is to be measured. The board used in the lab is capable of implementing gains
from 0.5 up to 100. As an example of how this programmable gain would be used,
consider a bipolar (both positive and negative) input signal. The analog to digital
converter has an input voltage range of V, hence a gain of 0.5 would enable the
board to handle voltages ranging between V (5/0.5). Similarly, a gain of 100
would result in a maximum range of mV (5/100) at the input to the board.

In addition to the analog to digital converters, there are 2 digital to analog converters
which allow one to generate analog signals. Eight general purpose digital I/O lines are
also provided which allow the board to control external digital circuitry or monitor the
state of external devices such as switches or buttons.

Low level communication with the data acquisition board is handled through drivers
provide by National Instruments. These drivers allow the programmer to perform all the
necessary tasks such as initializing, configuring, and sending and receiving data from the
board. It is possible to use these drivers from most of the common C compilers available,
but we will primarily use a compiler/development package called Lab Windows CVI. This
tool is designed for use specifically with these boards and helps to shield the programmer
from many of the potentially unnecessary low level details of the hardware.