Each mode is a fully functional self contained state machine
To view MODE A in greater detail click here
|
|
In this system, MODE A has been designed to handles I/O events from the
external switches and comms events from MODE B. When an external switch
changes from on to off or from off to on, MODE A generates a message and
sends MODE B an event telling it a message is ready and waiting to be
sent.
|
|
Each mode is a fully functional self contained state machine
In this system, MODE A has been designed to handles I/O events from the external switches, while MODE B has been designed to handle the high level communications protocol between the two CPUs. MODE A generates events for MODE B in order to initiate a message transfer. MODE B responds by generating events to MODE A indicating when the message is accepted for transmition, when transmition is complete, or if some error occures. All the while MODE A is free to continue handling I/O events from the switches. MODE B also generates events for MODE A when it receives a message from another CPU. These events are not responses to requests from MODE A they are initiated by MODE B which is monitoring comms traffic. Both MODE A and B transfer data between each other via a shared buffer which is external to the event system. They know when it is safe to read from or write to the buffer due to their given state. This removes the need for shared resource locks (semaphores etc) and complex polling schemes. To view MODE B in greater detail click here
|