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
   239   240   241   242   243   244   245   246   247   248   249