VXI/VME Interrupts and Asynchronous Events in VISA

NI-VISA

VXI/VME Interrupts and Asynchronous Events in VISA

VXI/VME devices can communicate asynchronous status and events through VXI/VME interrupt events (VI_EVENT_VXI_VME_INTR) or by using specific messages called signals (VI_EVENT_VXI_SIGP). Since VXI interrupts can be treated just like signals, a VISA application for VXI devices will typically just use VI_EVENT_VXI_SIGP to handle both interrupts and signals, regardless of which is actually sent in hardware. The main difference is that the status/ID returned as an attribute of the event is 16-bit for VI_EVENT_VXI_SIGP and 32-bit for VI_EVENT_VXI_VME_INTR.

The VXI specification also makes use of triggering (VI_EVENT_TRIG) to synchronize events between VXI devices. VXI devices support these events in the INSTR resource through the standard VISA operations such as viEnableEvent, as discussed in VISA Events. Since devices can both send and receive triggers, the attribute VI_ATTR_TRIG_ID specifies the line used for either. You cannot use the same session to both assert and receive triggers; for this, you need multiple sessions.