A timing engine is the circuitry a device uses to control an acquisition or generation. Controlling an acquisition or generation includes:
Timing engines for different devices and subsystems provide different functionality. The timing engine for an analog input or output subsystem uses a timebase to produce a Sample Clock. The capabilities of a digital I/O timing engine depend on the device. Some can use change detection and/or handshaking for sample timing, while others can also produce a Sample Clock. Some timing engines cannot produce a Sample Clock, but can perform Sample Clock timing if the clock comes from an external source, such as from another subsystem or from a source external to the device. For example, counters produce no inherent timing signals, but can utilize a Sample Clock from an external source. Some devices can perform Sample Clock timing for digital I/O, but require an external clock.
All timing engines can respond to and route control signals, such as triggers. Not all triggers are supported by all devices and measurement types.
Most devices have a single timing engine per subsystem. When a task reserves resources from a timing engine, another task cannot reserve those same resources. However, another task can use signals routed by that timing engine. For example, a counter task can use the Sample Clock from an analog input task. One task can use the Start Trigger from another task to synchronize when the tasks start. Reserving one part of a timing engine reserves the entire timing engine. For example, if an analog input task uses the Sample Clock from an analog output task, the analog input task must reserve the analog input timing engine to utilize that external Sample Clock. As a result, another task can not use the Sample Clock from the analog input timing engine.
Some devices have multiple timing engines available for some subsystems. Multiple timing engines allow a device to run multiple tasks simultaneously on the same subsystem or to use different terminals for handshaking.