Application programming interface for synchronizing multiple instrumentation devices
First Claim
1. A memory medium that stores program instructions implementing an application programming interface (API) for synchronizing multiple devices in a system, wherein the API comprises:
- a plurality of functions invocable in a program to synchronize a plurality of devices, wherein each function is executable to perform a respective functionality related to synchronizing the plurality of devices, and wherein at least one of the plurality of functions is executable to access a plurality of instrument drivers corresponding respectively to the plurality of devices to synchronize the plurality of devices;
wherein, in synchronizing the plurality of devices, the at least one of the plurality of functions is executable to;
query each of the plurality of devices to determine a trigger clock signal for each of the plurality of devices based on one or more of;
a common sample clock;
a common reference clock;
ora specified minimum trigger clock period; and
synchronize the plurality of devices based on the determined trigger clock signals, wherein, in synchronizing the plurality of devices based on the determined trigger clock signals, the at least one of the plurality of functions is executable to;
equalize phase of the common sample clock and/or the common reference clock of each of the plurality of devices;
equalize phase of the trigger clock signals of each of the plurality of devices; and
condition driving and/or reception of triggers on trigger enable signals generated from the trigger clock of each of the plurality of devices.
5 Assignments
0 Petitions
Accused Products
Abstract
An application programming interface (API) for synchronizing multiple devices in a system. The API includes a plurality of functions invocable in a program to synchronize multiple devices, where each function is executable to perform a respective functionality related to synchronizing the devices, and at least one of the functions is executable to access a plurality of instrument drivers corresponding respectively to the plurality of devices to synchronize the plurality of devices. In synchronizing the plurality of devices, the functions determine a trigger clock signal for each of the plurality of devices, and synchronize the plurality of devices based on the determined trigger clock signals. The API also includes a plurality of attributes corresponding to respective properties of the system related to synchronization of the devices, including one or more trigger attributes and/or one or more trigger clock attributes for each of the devices. The API representations may be text-based and/or graphical.
51 Citations
20 Claims
-
1. A memory medium that stores program instructions implementing an application programming interface (API) for synchronizing multiple devices in a system, wherein the API comprises:
-
a plurality of functions invocable in a program to synchronize a plurality of devices, wherein each function is executable to perform a respective functionality related to synchronizing the plurality of devices, and wherein at least one of the plurality of functions is executable to access a plurality of instrument drivers corresponding respectively to the plurality of devices to synchronize the plurality of devices; wherein, in synchronizing the plurality of devices, the at least one of the plurality of functions is executable to; query each of the plurality of devices to determine a trigger clock signal for each of the plurality of devices based on one or more of; a common sample clock; a common reference clock;
ora specified minimum trigger clock period; and synchronize the plurality of devices based on the determined trigger clock signals, wherein, in synchronizing the plurality of devices based on the determined trigger clock signals, the at least one of the plurality of functions is executable to; equalize phase of the common sample clock and/or the common reference clock of each of the plurality of devices; equalize phase of the trigger clock signals of each of the plurality of devices; and condition driving and/or reception of triggers on trigger enable signals generated from the trigger clock of each of the plurality of devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system, comprising:
-
a processor; and a memory, coupled to the processor, wherein the memory stores program instructions executable by the processor to implement an application programming interface (API) for synchronizing a plurality of devices, comprising a plurality of synchronization functions and a plurality of synchronization attributes, wherein the plurality of synchronization functions comprises; a synchronize function, executable to synchronize trigger clock signals for the plurality of devices, wherein to synchronize trigger clock signals for the plurality of devices, the synchronize function is executable to; query each of the plurality of devices to determine a trigger clock signal for each of the plurality of devices based on one or more of; a common sample clock; a common reference clock;
ora specified minimum trigger clock period; and synchronize the plurality of devices based on the determined trigger clock signals, wherein, in synchronizing the plurality of devices based on the determined trigger clock signals, the at least one of the plurality of functions is executable to; equalize phase of the common sample clock and/or the common reference clock of each of the plurality of devices; equalize phase of the trigger clock signals of each of the plurality of devices; and condition driving and/or reception of triggers on trigger enable signals generated from the trigger clock of each of the plurality of devices; and one or more of; a configuration function, executable to configure at least a subset of the plurality of attributes for synchronization of the plurality of devices; an initiate function, executable to initiate synchronous operation of the plurality of devices; a done function, executable to monitor the operation of the plurality of devices;
ora wait until done function, executable to indicate when operation of the plurality of devices is done; wherein the plurality of synchronization attributes comprises one or more of; one or more trigger attributes for each device;
orone or more trigger clock attributes for each device. - View Dependent Claims (19)
-
-
20. A computer-implemented method of synchronizing multiple devices in a system, the method comprising:
-
including one or more function calls in a program in accordance with an application programming interface (API) for synchronizing multiple devices in the system, wherein the API comprises a plurality of functions invocable in a program to synchronize a plurality of devices, wherein each function is executable to perform a respective functionality related to synchronizing the plurality of devices, and wherein at least one of the plurality of functions is executable to access a plurality of instrument drivers corresponding respectively to the plurality of devices to synchronize the plurality of devices; and executing the program, including executing the one or more function calls to invoke the at least one of the plurality of functions to synchronize the plurality of devices by; querying each of the plurality of devices to determining a trigger clock signal for each of the plurality of devices based on one or more of; a common sample clock; a common reference clock;
ora specified minimum trigger clock period; and synchronizing the plurality of devices based on the determined trigger clock signals, including; equalizing phase of the common sample clock and/or the common reference clock of each of the plurality of devices; equalizing phase of the trigger clock signals of each of the plurality of devices; and conditioning driving and/or reception of triggers on trigger enable signals generated from the trigger clock of each of the plurality of devices.
-
Specification