Programming considerations, Programming considerations -38 – National Instruments NI-VXI User Manual

Page 76

Advertising
background image

Chapter 3 Software Overview

NI-VXI User Manual

3-38

© National Instruments Corporation

Programming Considerations

The global signal queue used to hold signal values is of a finite length.
If the application is not handling signals fast enough, it is theoretically
possible to fill the global signal queue. If the global signal queue
becomes full,

DisableSignalInt

is called to inhibit more signals

from being received. Under the VXIbus specification, if the local CPU
signal FIFO becomes full (in which case a signal be lost if another
signal is written), the local CPU must return a bus error on any
subsequent writes to its Signal register. This bus error condition
notifies the sending CPU that the signal transfer needs to be retried.
This guarantees the application that, even if the global signal queue
becomes full, no signals will be lost.

In addition to

DisableSignalInt

, the

DisableVXItoSignalInt

function is also called to disable VXI/VME interrupts from occurring
on levels that are routed to the signal Processor. When

SignalDeq

is

called to remove a signal from the global signal queue, the interrupts
for the Signal register and the VXI/VME interrupt levels routed to the
signal handler are automatically re-enabled.

If signals received never get dequeued, the global signal queue
eventually becomes full and the interrupts will be disabled forever. If
the signals were routed to the

DefaultSignalHandler

, all except

Unrecognized Command Events from message-based devices perform
no operation. Unrecognized Command Events call the function

WSabort

to abort the current Word Serial operation in progress.

Advertising