# USB-1608G Series

The USB-1608G Series includes the following devices:

- USB-1608G, USB-1608G-OEM
- USB-1608GX, USB-1608GX-OEM
- USB-1608GX-2AO, USB-1608GX-2AO-OEM

The USB-1608G Series supports the following features. Unless otherwise indicated, OEM versions support the same features as the equivalent standard versions.

## Analog input

Functions

UL: cbAIn(), cbAInScan(), cbALoadQueue(), cbATrig(), cbFileAInScan()

UL for .NET: AIn(), AInScan(), ALoadQueue(), ATrig(), FileAInScan()

Python for Windows: a_in(), a_in_scan(), a_load_queue(), a_trig()

Options

BACKGROUND, BLOCKIO, BURSTMODE, CONTINUOUS, EXTCLOCK, EXTTRIGGER, HIGHRESRATE, NOCALIBRATEDATA, RETRIGMODE, SCALEDATA, SINGLEIO

Packet size

Rate dependent. The default packet size is 256 samples. At higher rates, the packet size increases by a multiple of 256.

Mode

Single-ended and differential

HighChan

0 to 15 in single-ended mode

0 to 7 in differential mode

Count

Count must be an integer multiple of the number of channels in the scan.

Rate

500 kS/s max

Range

BIP10VOLTS (±10 volts) | BIP2VOLTS (±2 volts)
BIP5VOLTS (±5 volts) | BIP1VOLTS (±1 volts)

Pacing

Hardware pacing, internal clock supported.

## Triggering

Functions

UL: cbSetTrigger()

UL for .NET: SetTrigger()

Python for Windows: set_trigger()

TrigType

Digital triggering: TRIG_POS_EDGE, TRIG_NEG_EDGE, TRIG_HIGH, TRIG_LOW

External digital (TTL) hardware triggering supported. Set the hardware trigger source with the TRIG input.

For information about how to set up repetitive trigger events, refer to Retriggering in the Hardware Considerations section below.

## Analog output (USB-1608GX-2AO only)

Functions

UL: cbAOut(), cbAOutScan()

UL for .NET: AOut(), AOutScan()

Python for Windows: a_out(), a_out_scan()

Options

BACKGROUND, CONTINUOUS, EXTCLOCK, EXTTRIGGER, HIGHRESRATE, RETRIGMODE

Range

BIP10VOLTS (±10 Volts)

HighChan

0 to 1

Count

Count must be an integer multiple of the number of channels in the scan.

Rate

500 kS/s per channel, maximum

Packet size

Rate dependent.

## Digital I/O

##### Configuration

Functions

UL: cbDConfigBit(), cbDConfigPort()

UL for .NET: DConfigBit(), DConfigPort()

Python for Windows: d_config_bit(), d_config_port()

PortNum

AuxPort

PortType

AuxPort

##### Port I/O

Functions

UL: cbDIn(), cbDOut()

UL for .NET: DIn(), DOut()

Python for Windows: d_in(), d_out()

PortNum

AuxPort (eight bits, bit-configurable)

DataValue

0 to 255

##### Bit I/O

Functions

UL: cbDBitIn(), cbDBitOut()

UL for .NET: DBitIn(), DBitOut()

Python for Windows: d_bit_in(), d_bit_out()

PortType

AuxPort

BitNum

0 to 7 on AuxPort

## Counter I/O

UL: cbCClear(), cbCIn(), cbCIn32(), cbCLoad(), cbCLoad32()

UL for .NET: CClear(), CIn(), CIn32(), CLoad(), CLoad32()

Python for Windows: c_clear(), c_in(), c_in_32(), c_load(), c_load_32()

Note: Counters on these boards are zero-based (the first counter number is "0").

CounterNum

0 to 1

Count

232 when reading the counter.

LoadValue

0 when loading the counter.

cbCLoad() and cbCLoad32()CLoad() and CLoad32() are only used to reset the counter to 0. No other values are valid.

The Visual Basic signed integers guidelines apply when using cbCIn() or CIn() for values greater than 32,767 and when using cbCIn32() or CIn32() for values greater than 2,147,483,647.

RegNum

LOADREG0, LOADREG1

## Timer

Functions

UL: cbPulseOutStart(), cbPulseOutStop()

UL for .NET: PulseOutStart(), PulseOutStop()

Python for Windows: pulse_out_start(), pulse_out_stop()

TimerNum

0

Frequency

0.0149 Hz to 32 MHz

DutyCycle

0 to 1, non-inclusive

InitialDelay

0 sec to 67.11 sec

IdleState

IDLE_LOW, IDLE_HIGH

PulseCount

0 to 232 – 1 (Refer to 16-bit values using a signed integer data type for information on 16-bit values using unsigned integers.)

Set to 0 to continuously generate pulses until PulseOutStop() is called.

## Event Notification

Functions

UL: cbEnableEvent() cbDisableEvent()

UL for .NET: EnableEvent() DisableEvent()

Python for Windows: enable_event(), disable_event()

Event types

UL: ON_DATA_AVAILABLE, ON_END_OF_INPUT_SCAN, ON_SCAN_ERROR

UL for .NET: OnDataAvailable, OnEndOfInputScan, OnScanError

The USB-1608GX-2AO also supports ON_END_OF_OUTPUT_SCAN/OnEndOfOutputScan.

## Miscellaneous

Functions

UL: cbFlashLED()

UL for .NET: FlashLED()

Python for Windows: flash_led()

Causes the LED on a Measurement Computing USB device to blink. When you have several USB devices connected to the computer, use this function to identify a particular device by making its LED blink.

## Configuration

This hardware supports device detection with the API. Refer to the InstaCal, API Detection, or Both? section for information about whether to use InstaCal or the API to detect and configure hardware.

#### InstaCal

Factory serial number

Listed as Factory Serial No. (read only)

Identifier

Identifier text box

Input mode

Input Mode drop-down combo box for single-ended or differential.

Hardware version

Listed as Firmware Version (read only)

Listed as FPGA Version (read only)

#### Programmable API Functions

Factory serial number

UL: cbGetConfigString()

ConfigItem = BIDEVSERIALNUM

UL for .NET: GetDeviceSerialNum()

Python for Windows: get_config_string()

config_item = DEVSERIALNUM

Identifier

UL: cbGetConfig()

ConfigItem = BIUSERDEVID

maxConfigLen = up to 64 characters

UL for .Net: GetUserDeviceId(), SetUserDeviceId()

Python for Windows: get_config_string(), set_config_string()

config_item = USERDEVID

max_config_len = up to 64 characters

Input mode

UL: cbAInputMode()

UL for .NET: AInputMode()

Python for Windows: a_input_mode

Hardware version

UL: cbGetConfigString()

ConfigItem = BIDEVVERSION

DevNum = VER_FW_MAIN

DevNum = VER_FPGA

UL for .NET: GetDeviceVersion()

Type = VersionType.FW_MAIN

Type = VersionType.FPGA

Python for Windows: get_config_string()

config_item = DEVVERSION

dev_num = MAIN

dev_num = RADIO

dev_num = FPGA

## Hardware Considerations

##### Channel-gain queue

The channel-gain queue is limited to 16 elements. The channel gains may be any valid value. The channels can be listed in any order, and can include duplicate channels for sampling at different ranges.

##### Retriggering

Use the RETRIGMODE scan option to set up repetitive trigger events. Set the A/D trigger count with the cbSetConfig() ConfigItem option BIADTRIGCOUNT. For Python users, use the ADTRIGCOUNT config_item.

When using RETRIGMODE, set the values for Count and BIADTRIGCOUNT/ADTRIGCOUNT to an integer multiple of the number of channels in the scan, so that the entire buffer, or the portion of the buffer defined by the configItem, contains updated data.

##### Output scan restriction

You cannot access cbSetTrigger()/SetTrigger()/set_trigger() or call BIUSERDEVID/USERDEVID while an analog output scan is in progress.

##### Scaling data

Results using SCALEDATA may be slightly different from results using cbToEngUnits() near range limits, due to the nature of the calibration being applied and the internal calculation using floating count values. If this is undesirable use cbToEngUnits().