Page 687 - Engineering Digital Design
P. 687

13.6  SYSTEM-LEVEL DESIGN                                            655


                  PI, c(CNT = 8). Thus, roughly twice as much external hardware and one extra flip-flop
                  are needed by the one-hot approach for the convenience of reading and implementing the
                  NS- and output-forming logic directly from the state diagram without the use for K-maps.
                  If D flip-flops are used instead of JK flip-flops, it is easily shown by map conversion that
                  the NS functions become

                                      \D A = ABStart+A(CNT=V
                                      \D B = AStart + A(CNT = 8) + AB J '

                  the output logic remaining the same. This would bring the total gate/input tally for the D flip-
                  flop design to 10/22 exclusive of inverters. Thus, the gap narrows between a conventional
                  D flip-flop design and that for the one-hot method. Also shown, by map conversion, is the
                  T flip-flop design that falls in between the JK and D designs, yielding

                                          T A = ABStart + A(CNT = 8)1
                                               _                  f                 ( LJ. lo)
                                          T B = BStart + A(CNT = 8) J

                  for the NS functions, giving a total gate/input tally of 8/19 excluding inverters.
                    There still remains the question of ORGs in the design of this FSM. The transition from
                  state 11 to state 00 can result in the production of ORGs if the race path is via the 01 state.
                  In Fig. 13.36b it is evident that 0 2 is not used in the K-maps for PSCRY, CLCRY, or S\ and,
                  consequently, ORGs are not possible by the 10-race state path. But this discussion is made
                  moot by the fact that the 11 -> 00 transition completes the process and the FSM is brought
                  to an initialized condition in state 00. Therefore, it does not matter that ORGs are produced
                  during this transition — no logic noise problems exist. This fact can be useful in the design
                  of other system controllers.

                  13.6.2 Design of a Stepping Motor Control System

                  Stepping motors convert a series of pulses into angular motion that permits very accurate
                  positioning of the motor's rotor without feedback control. Also, stepping motors are useful
                  in systems where there is space only for a small motor to drive a relatively massive part.
                  Linear angular accelerations and decelerations of the motor can prevent slippage, chattering,
                  or jerky motion that could lead to mechanical failure or adversely affect mechanical opera-
                  tion. Stepping motors exhibit zero steady-state error positioning and can develop torque up
                  to 15 Nm (Newton-meters). They are used in robotics to accurately operate mechanical parts
                  in some manner, in fluid control systems for precise adjustment of fluid control valves, in
                  wire-wrap processing of circuit boards, and in a variety of other applications too numerous
                  to mention here.
                    Stepping motors will accept pulse strings in the range of 1500 to 2500 pulses per second.
                 The design of the control system required to generate these pulse strings is the subject of
                  this subsection. The nature and design of the stepping motor to which the control system
                  is attached fall outside the scope of this text and will not be discussed further (see Further
                 Reading for information on this subject).
                    The overall operational characteristics for the stepping motor control system are provided
                 in Fig. 13.38. In Fig. 13.38a are shown the angular velocity/time requirements of the motor.
                 The GO command causes a linear angular acceleration of the motor while a HALT command
   682   683   684   685   686   687   688   689   690   691   692