Download Software User Manual

Transcript
SUM
NLR-EFO-SUM-2
26.3
External Event Handler
26.3.1
Introduction
iss: 6 rev: 3
The External Event Handler solution is essential when integrating a realtime device such as an avionics
bus like Mil1553. The key to realtime systems is a seperation of control and data. In a non realtime
streaming solution, the data is handled when convenient after arrival. On a realtime bus however, the
data may only be available for a short time, and when they contain commands for a device, the response
must be written to bus at a certain moment in time. In practice, interface devices that support such
realtime busses are capable of sending an interrupt to signal to the simulation that it needs to take action,
including paramters that define the current situation. Looking from the perspective of the EuroSim
scheduler these interrupts are external events, which can need to be caught using an InputConnector on
the schedule canvas which will trigger an association task. The standard InputConnectors however are
associated with the scheduler heartbeat and thus pass on events in synchronization with the heartbeat of
the scheduler, meaning at the start of a minor scheduler cycle. This delay may be far to slow for the
realtime bus interface and therefore the user is able to create Event Handlers. An EventHandler owns
a very high priority thread on a realtime processor in parallel to the executer threads that execute tasks.
The EventHandler thread is blocked on an interrupt source and when awoken will take control of the
processor core and raise an InputConnector that is associated with the EventHandler. The InputConnector
will immediately activate all dependent tasks. The tasks follow the normal scheduling parameters that
can be defined in the ScheduleEditor. Normally you want a high priority and other tasks shold not be
non-preemptive to benefit from the very fast asynchonous event handling that Event Handler offer. There
should not be more than one Eventhandler per core in the system.
Figure 26.3 illustrates the above explained event handler mechanism, showing the route from an interrupt
from a device to a running task in the scheduler.
Figure 26.3: Architecture of the Event Handler mechanism
In some cases the OEM provides a device driver which creates a thread to handle interrupts from the
c Airbus Defence and Space
433