Hidden Hidden Hidden Hidden
 
 

Working with Multiple i2x0/i60x Controllers
REFERENCE > ADVANCED TECHNIQUES >

One can attach up to eight i240/i60x controllers to a computer to increase total system throughput. For example, four i240 controllers (where each is attached to a separate i4xx Card Cage or i100 box) can digitize 16 total channels at 41Ks/sec/channel; or 32 channels at 20.5K each. In this example, each controller runs at 166Ks/sec/controller and the entire system runs at 664Ks/sec/system.

When working with multiple controllers, the meaning of the "network number" becomes more important, since it selects a particular network in the Data Tree from which to operate. To digitize simultaneously from multiple controllers, one must select channels for digitizing in the Network page (any channel combination across all controllers), and then press the Start button in the Record page.

Multiple i240/i60x USB Controllers attach to 1 USB Hub

One can attach up to eight i240/i60x USB controllers to a USB ≥ 2.0 High Speed hub, and then attach that hub directly to a computer. In this case, it is recommended that no other USB device attach to that hub. To improve communication speed between hub and computer, one would attach a USB ≥ 3.0 HUB to a computer's USB ≥ 3.0 connector. If working with multiple i240/i60x controllers, please make sure you are working with instruNet software ≥ v3.7.

Multiple Controllers Do Not Digitize At Exact Same Sample Rate

Each i2x0/i60x controller has it's own crystal oscillator that paces the collection of samples from that controller. One can expect these to be different by as much as 5 uSec per 1 second of digitizing (5ppm maximum, 1ppm typical). This means that if you digitize the same signal for 1 second from multiple controllers; and you synchronize the 1st point of the digitization via Trigger (to make it accurate to +-10uSec); then the last point of the digitization from each controller will vary in time by as much as +-5uSec between the first controller and the other controllers. Put differently, if the 1st controller sample rate is X, then the sample rate of the other controllers will be at most (X * 1.000005), even though the sample rate field in the software is commanding all controllers to digitize at the same rate (due to inaccuracy of i2x0 crystal oscillator IC).

For example, if you digitize 10k seconds (~3 hours) at 100s/sec/ch (10K * 100 = 1M points) with multiple controllers, then then last point (i.e. point number 1M) of waves from the two controllers might differ in time by as much as 50mSec (0.000005 * 1M = 5 points, 5 points at 100s/sec corresponds to 50mSec).

To see this, digitize the same waveform with two controllers (e.g. 100M points, 1 scan), and then look at how these are shifted in time at the end of the digitization.

Synchronising Sample Rate

One sets the sample rate (samples-per-second-per-channel) in the Record page Setup dialog and multiple controllers do their best to achieve this rate. If you ask for a very fast rate (e.g. 100ks/sec/ch) and one i20x/i60x controller can achieve this (e.g. 1 channel at 100ks/sec/ch) and the 2nd controller is running slower (e.g. 10 channels at 10ks/sec/ch), then the Setup dialog will display "100k" (i.e. the fastest). If one then selects Digitize Channels Report under the Setup menu, they will see the actual sample rate for each channel. To encourage all channels to run at the same rate, set the Setup sample rate to the lowest seen in the Digitize Channels Report (e.g. tell the 1 channel in controller #1 to run at 10k).

Due to internal clocks and integer math, it is sometimes not possible for all channels to run at the exact same rate. In this case, one has several options:

  • Analysis software uses the actual sample rate for each channel as specified in exported data (e.g. sample rate row in "Excel Waveform Data.txt" file).
  • Change channel settings slightly and try again.
  • Change requested sample rate and search for one that produces the same rate for all channels.

To evalulate a setup in instruNet World software, click the Start button, wait several seconds, click the Stop button, and select Digitize Channels Report in the Setup menu. To evalulate a DASYLab setup, Execute for several seconds, Stop, click any instruNet input icon, click the instruNet World button, and then then select Digitize Channels Report in the Setup menu

Digitizing without Trigger

When you start digitizing from multiple i2x0/i60x controllers with Trigger turned OFF, the Windows computer commands each controller to begin digitizing with approximately 1.0 mSec of time between each command. This means that the waves digitized from each controller will offset in time approximately 1.0 mSec between the 1st controller and 2nd controller, 1.0 mSec between the 2nd and 3rd, and so forth and so on.

Digitizing with Trigger

To reduce the start time between multiple i2x0/i60x controllers from approximatley 1mSec to less than 10uSec, one can set up all controllers to trigger from the same external trigger signal. This might or might not be convenient since it involves setting up an additional external signal.

Notice that each controller has its own Trigger settings (as opposed to one Trigger dialog box for entire computer). This is because each controller operates independently (i.e. each has its own processor that manages its own data acquisition task). To access a Trigger dialog for a specific network, press the Trigger button in the Setup Dialog, and then select a specific network in the Network popup menu. Setting the Trigger with multiple controllers is a little tricky since one controller cannot physically see the trigger signal attached to other controllers, and each controller has no way of sending messages to its colleagues in a short period of time. To make the digitizing from all networks trigger off the same signal, one must attach the trigger signal to one channel from each network, and set up the Trigger dialogs for each network to trigger off that one channel in each of their respective networks.

Trigger Example

For example, to trigger from the i4xx/i60x Ch29 Uio25_28 Din channel (4 bits interpreted as 0 to 15 value), one must specify this channel as the trigger source, set the Threhold to 7.5, and attach the trigger signal to UIO28. When UIO28 is high (i.e. 2V to 5V) Ch29 is read as a 4bit value between 8 and 15, and when UIO28 is held low (i.e. 0V to 0.8V) Ch29 is read as a 4bit value between 0 and 7.

More Information