Page 244 - Embedded Microprocessor Systems Real World Design
P. 244
Master/Slave. Will a master/slave protocol be fast enough? Some systems with
one master and multiple slaves have poor response to attention requests because
the master must poll each slave until it finds the one that made the request. Will
the worstcase response time be fast enough for the last slave polled?
Network/Poht-Point. A network interface is more complex, both in hardware
and software. A point-to-point interface requires a separate interface circuit for
each communication path. A PC communicating with eight microcontroller
slaves using RS-232 requires eight serial interface channels.
Complexity. If you choose Ethernet for a PC because it is fast and readily avail-
able, what does that do to the complexity of the microcontrollers that must
communicate with the PC? Your interface needs to meet the needs of the entire
system, unless your product cost budget is flexible enough to let the interface
drive the design.
Acknowledge Timing
In many multiprocessor systems, one higher-level controller passes commands to
lower-level controllers. These commands usually cause the lower-level controller to
perform some action-a command to “plane the block smooth” would be an
example in the moving block scenario. One issue in any system of this type is how
and when to acknowledge the command. There are four basic possibilities:
1. No acknowledge. In this scheme, the low-level controller does not acknowledge
the command at all. However, there may be an acknowledge that the data were
taken, such as the register empty/full bit associated with the communication reg-
ister. The higher-level controller has no indication of when or how the command
was carried out.
2. Acknowledge on error. The low-level controller sends an acknowledge indica-
tion only if there was an error in communication or in carrying out the
command. For instance, if the command is to move a robotic arm to a certain
position, an error would be returned if the arm is stuck.
3. Acknowledge on receipt of command. The low-level controller acknowledges
that it has received the command. If the communication protocol includes a
checksum or other error check, the acknowledge will include an indication if
there was an error. The higher-level controller still has no indication of when
the command actually is executed.
4. Acknowledge on completion of command. The low-level controller acknowl-
edges when the command has been executed-when the arm has been moved,
to use the robotic arm example. The higher-level controller now knows that the
command was received and executed and when the command was complete.
However, if the communication protocol does not allow multiple commands to
be sent, then the higher-level controller is inhibited from sending additional
commands until the previous command was executed and acknowledged.
Multiprocessor Systems 225