Parts
There are many options for the parts that can be installed on these OEM boards, but here are some typical parts available at
Digikey.com:
Screw-Terminals (4-pole, 5mm): Weidmuller 9993300000, Phoenix MKDS 1.5/4.
DB15 (0.318", female): Norcomp 182-015-213R531.
Pin Headers (0.1”): 2x8 => Molex 0010897162, 2x5 => Molex 0010897102.
USB (Type B): FCI 61729-0010BLF, TE Connectivity 292304-2, Samtec USBR-B-S-S-O-TH (high retention).
2.13 - Hardware Revision Notes
U3A = Revision 1.20
U3B = Revision 1.21
U3C = Revision 1.30
Starting September of 2006, all U3 shipments changed from hardware revision 1.20 to 1.21. Following are the some of the main
changes in revision 1.21:
The default timer clock frequency is 48 MHz.
All TimerBaseClock frequencies are twice the previous frequencies.
The input timer edge limit is now 30,000 edges/second, compared to the old limit of 10,000 edges/second.
Stream mode is now supported. See Section 3.2.
Other new functions are supported, including Watchdog, SPI, Asynch, I2C, and SHT1X.
Typical supply current is 50 mA.
Revision 1.20 can be upgraded to 1.21 by LabJack for a small fee. For information about upgrading a rev 1.20 unit, contact
LabJack Corporation.
Hardware revision 1.30 was released in mid-March 2008 with 2 variations: U3-LV and U3-HV. The U3-LV is the most compatible
with the previous U3, and the only changes possibly affecting backwards compatibility are:
Timers/Counters cannot appear on FIO0-3. TimerCounterPinOffset must be 4-8. A value of 0-3 will result in an error. This
error can be suppressed by a power-up default setting in LJControlPanel. If suppressed, a 0-3 will result in an offset of 4.
The 3.66 reference voltage is no longer available on the REF/DAC1 terminal.
There is no longer a buzzer.
SDA terminal is gone. SCL terminal changed to SPC.
UART (Asynch functionality) no longer uses SDA and SPC terminals, but rather uses terminals dynamically assigned after
timers and counters. Also, the BaudFactor is different.
Other changes:
Analog outputs are now specified for 10-bit resolution and DAC1 is always enabled. The higher resolution is available with a
new IOType in the low-level Feedback function, which the high-level UD driver uses automatically. This causes the DACs to
have more noise when the timer clock is decreased from the default of 48 MHz, so there is a compatibility option available in
LJControlPanel to use 8-bit DACs.
On the U3-HV only, the first four flexible I/O are fixed as analog inputs (AIN0-AIN3), and have scaling such that the input range
is ±10 volts normally, and +20 to -10 volts when using the “Special” range. The input impedance of these four lines is roughly
1 MΩ, which is good, but less than the normal low voltage analog inputs. Analog/digital configuration and all other digital
operations on these pins are ignored. FIO4-EIO7 are still available as flexible I/O, same as the U3-LV.
Revision 1.20/21 U3s cannot be upgraded to 1.30.
3 - Operation
The following sections discuss command/response mode and stream mode.
Command/response mode is where communication is initiated by a command from the host which is followed by a response from
the LabJack. Command/response is generally used at 1000 scans/second or slower and is generally simpler than stream mode.
Stream mode is a continuous hardware-timed input mode where a list of channels is scanned at a specified scan rate. The scan
rate specifies the interval between the beginning of each scan. The samples within each scan are acquired as fast as possible.
As samples are collected automatically by the LabJack, they are placed in a buffer on the LabJack, until retrieved by the host.
Stream mode is generally used at 10 scans/second or faster.
Command/response mode is generally best for minimum-latency applications such as feedback control. By latency here we
mean the time from when a reading is acquired to when it is available in the host software. A reading or group of readings can be
acquired in times on the order of a millisecond.
Stream mode is generally best for maximum-throughput applications where latency is not so important. Data is acquired very fast,
but to sustain the fast rates it must be buffered and moved from the LabJack to the host in large chunks. For example, a typical
stream application might set up the LabJack to acquire a single analog input at 50,000 samples/second. The LabJack moves this
data to the host in chunks of 25 samples each. The Windows UD driver moves data from the USB host memory to the UD driver
memory in chunks of 2000 samples. The user application might read data from the UD driver memory once a second in a chunk
of 50,000 samples. The computer has no problem retrieving, processing, and storing, 50k samples once per second, but it could
not do that with a single sample 50k times per second.
3.1 - Command/Response
Everything besides streaming is done in command/response mode, meaning that all communication is initiated by a command
from the host which is followed by a response from the U3.
For everything besides pin configuration, the low-level Feedback function is the primary function used, as it writes and reads
virtually all I/O on the U3. The Windows UD driver uses the Feedback function under-the-hood to handle most requests besides
configuration and streaming.
The following tables show typical measured execution times for command/response mode. The time varies primarily with the
number of analog inputs requested, and is not noticeably affected by the number of digital I/O, DAC, timer, and counter operations.
These times were measured using the example program “allio.c” (VC6_LJUD). The program executes a loop 1000 times and
divides the total time by 1000, and thus include everything (Windows latency, UD driver overhead, communication time, U3
processing time, etc.).
22