3.2 - Stream Mode [U6 Datasheet]
The fastest data rates on the U6 occur when operating in stream mode. Much of the command response overhead is eliminated in stream mode because the U6 is responsible for initiating IO operations. Collected data is stored in the U6's stream buffer it is retrieved by the host application. The end result is a continuous data stream, sampled at regular intervals, collected with a minimum number of command response data sets [1.].
As samples are collected, they are placed in a small FIFO buffer on the U6, until retrieved by the host. The buffer typically holds 984 samples, but the size ranges from 512 to 984 depending on the number of samples per packet. Each data packet has various measures to ensure the integrity and completeness of the data received by the host.
The U6 uses a feature called auto-recovery. If the buffer overflows, the U6 will continue streaming but discard data until the buffer is emptied, and then data will be stored in the buffer again. The U6 keeps track of how many packets are discarded and reports that value. Based on the number of packets discarded, the UD driver adds the proper number of dummy samples (-9999.0) such that the correct timing is maintained.
Subsections
Table 3.2.1 and 3.2.2 provide typical stream-related performance results [2.]. The tabulated data is useful for determining what types of signals can be analyzed using a U6. The U6 is capable of streaming analog data [3.] at regular discrete intervals. As a result, various discrete time signal analysis tools can be utilized to interpret data.
Table 3.2.1. Stream scan rates for stream mode over various gain, resolution index, channel count combinations.
Maximum Scan Rate | |||||
Resolution Index | Gain : Range | 1 Channel [Hz] | 2 Channels [Hz] | 4 Channels[Hz] | 8 Channels [Hz] |
1 | 1 : ±10V | 50k | 25.0k | 12.5K | 6.3K |
10 : ±1V | 50k | 2.2k | 1.1k | 540 | |
100 : ±0.1V | 50k | 444 | 222 | 110 | |
1000 : ±0.01V | 50k | 178 | 88 | 44 | |
2 | 1 : ±10V | 30k | 14.5k | 7.3k | 3.6k |
10 : ±1V | 30k | 2.0k | 1.0k | 500 | |
100 : ±0.1V | 30k | 220 | 110 | 54 | |
1000 : ±0.01V | 30k | 178 | 88 | 44 | |
3 | 1 : ±10V | 16k | 7.8k | 3.9k | 2.0k |
10 : ±1V | 16k | 817 | 408 | 204 | |
100 : ±0.1V | 16k | 175 | 87 | 43 | |
1000 : ±0.01V | 16k | 175 | 86 | 43 | |
4 | 1 : ±10V | 8.4k | 4.2k | 2.0k | 990 |
10 : ±1V | 8.4k | 742 | 371 | 185 | |
100 : ±0.1V | 8.4k | 165 | 85 | 41 | |
1000 : ±0.01V | 8.4k | 172 | 84 | 42 | |
5 | 1 : ±10V | 4.0k | 2.0k | 1.0k | 500 |
10 : ±1V | 4.0k | 370 | 185 | 92 | |
100 : ±0.1V | 4.0k | 163 | 82 | 40 | |
1000 : ±0.01V | 4.0k | 165 | 82 | 40 | |
6 | 1 : ±10V | 2.0k | 1.0k | 500 | 250 |
10 : ±1V | 2.0k | 184 | 92 | 46 | |
100 : ±0.1V | 2.0k | 153 | 77 | 38 | |
1000 : ±0.01V | 2.0k | 153 | 76 | 38 | |
7 | 1 : ±10V | 1.0k | 500 | 250 | 130 |
10 : ±1V | 1.0k | 156 | 78 | 39 | |
100 : ±0.1V | 1.0k | 133 | 66 | 33 | |
1000 : ±0.01V | 1.0k | 133 | 66 | 33 | |
8 | 1 : ±10V | 500 | 250 | 130 | 62 |
10 : ±1V | 500 | 120 | 62 | 33 | |
100 : ±0.1V | 500 | 105 | 52 | 26 | |
1000 : ±0.01V | 500 | 106 | 53 | 26 |
A distinction between the terms scan and sample must be drawn to better interpret the data from Table 3.2.1. A sample and a scan represent two separate parameters which make up a U6 data stream. The definitions for each parameter are as follows:
Sample - A reading from one channel/address.
Scan - One reading from a list of channels/addresses (scan list).
The scan rate, by definition, is a fraction of the sample rate where the fraction is the inverse of the number of channels being read in a single scan. The scan rate is defined as:
ScanRate = SampleRate / NumChannels
The U6 has a maximum sample rate of 50 ksamples/second. The stated maximum sample rate is achievable when a stream is configured with Range = +/-10V and ResolutionIndex = 0 or 1 [4.]. This is reflected in the first row of data in table 3.2.1 (highlighted). The reported scan rate is simply the maximum sample rate divided by the number of channels in the scan list (within ~10%). Note that the sample rate and scan rate for a single-channel stream are equal since the NumAddresses = 1.
The maximum scan rate will decrease at higher resolution index and range settings simply because analog conversions take longer to complete. Table 3.2.2 illustrates how analog conversion times increase at higher resolution index and range settings.
Table 3.2.2. Stream performance characteristics for single-channel stream over various gain and resolution index combinations.
Resolution Index | Peak-to-Peak Noise | Interchannel Delay |
---|---|---|
[16-bit counts] | [µs] | |
Gain/Range: 1/±10V | ||
1 | ±3.0 | 15 |
2 | ±2.5 | 30 |
3 | ±1.5 | 40 |
4 | ±1.0 | 110 |
5 | ±1.0 | 220 |
6 | ±0.5 | 440 |
7 | ±0.5 | 875 |
8 | ±0.5 | 1,740 |
Gain/Range: 10/±1V | ||
1 | ±4.5 | 205 |
2 | ±3.5 | 220 |
3 | ±2.5 | 545 |
4 | ±1.5 | 600 |
5 | ±1.0 | 1,210 |
6 | ±1.0 | 2,430 |
7 | ±0.5 | 2,880 |
8 | ±0.5 | 3,740 |
Gain/Range: 100/±0.1V | ||
1 | ±16.0 | 1,010 |
2 | ±11.0 | 2,030 |
3 | ±8.0 | 2,560 |
4 | ±5.0 | 2,630 |
5 | ±3.0 | 2,730 |
6 | ±2.5 | 2,940 |
7 | ±1.5 | 3,380 |
8 | ±1.0 | 4,240 |
Gain/Range: 1000/±0.01V | ||
1 | ±67.0 | 2,500 |
2 | ±42.5 | 2,535 |
3 | ±21.5 | 2,560 |
4 | ±16.5 | 2,630 |
5 | ±11.5 | 2,730 |
6 | ±11.0 | 2,940 |
7 | ±6.0 | 3,380 |
8 | ±4.5 | 4,240 |
Notes:
1. The number of command response data sets used to retrieve stream data from the U6 depends on the number of data points allowed to accumulate in the in the U6's stream buffer.
2. Some systems might require a "USB high-high" configuration to obtain the maximum speeds listed. A “USB high-high” configuration means the U6 is connected to a high-speed USB2 hub which is then connected to a high-speed USB2 host. Even though the U6 is not a high-speed USB device, such a configuration does often provide improved performance.
3. Channel 14 is not stream-able. The readings from the internal temperature sensor(channel 14) need extended settling time and this takes too long for stream-mode.
4. Stream mode only supports resolution index values 0-8 (24-bit ADC not supported). Therefore, setting the resolution index to 0 is equivalent to resolution index = 1.