Page 91 - Embedded Microprocessor Systems Real World Design
P. 91

DMA REQUEST
                 DMA ACKNOWLEDGE
                ADDRESSIDATA BUSES   cw    )-----(REQUESTER   >-<    C W
                   A DMA CONTROLLER  f.
                   ANOTHER CPU OR
                   REQUESTS THE BUS                                    CPU TAKES ADDRESS.
                                                                       DATA, AND CONTROL
                   BY ASSERTING                                        BUSES OUT OF TRISTATE
                   A DMA REQUEST                                       AND RESUMES NORMAL
                                                                       OPERATION
                  CPU 1 TRISTATES ITS
                  DATA, ADDRESS, AND          BUSES, ACCESSING  LL CPU REMOVES DMA
                  CONTROL SIGNALS IN
                  PREPARATION FOR                                    ACKNOWLEDGE
                  RELEASING THE BUS
                  TO THE DMA REQUESTOR.       THE SAME AS THE   - REQUESTER REMOVES
                                              CW WOULD.              DMA REQUEST
                                        CW  1 ASSERTS DMA   REQUESTER COMPLETES
                                        ACKNOWLEDGE TO   WHATEVER BUS CYCLES
                                        INDICATE THAT IT HAS   IT NEEDED TO PERFORM
                                        RELEASED CONTROL   AND TRISTATES THE
                                        TO THE REQUESTER   BUSES IN PREPARATION
                                                         FOR TERMINATING THE
                                                         DMA.

                Figure 2.22
                DMA Operation.




                  Processors that support DMA provide one or more inputs that the bus requester
                can assert to gain control of  the bus and one or more outputs that the processor
                asserts to indicate it has relinquished the bus. When designing with DMA, address
                buffers must be disabled during DMA so the bus requester can drive them without
                bus contention. This means the design must use buffers with tristate outputs. On
                the  80188, for  example, the  HLDA  (HOLD Acknowledge) signal indicates that
                the processor is acknowledging a DMA request. It can be connected to the address
                latch output enable pins, which will  tristate the outputs when the processor is in
                a hold  state. If data bus buffers are used, a similar mechanism is needed to dis-
                able them.
                  Figure 2.23 shows an 80188 CPU using HLDA to disable external address bus
                buffers so a DMA can drive them. Note that the lower 8 bits of the address bus are
                driven from an address latch that captures the lower 8 address bits from the mul-
                tiplexed address/data bus of  the CPU. The latch has tristate outputs, which are


                Hardware Design I                                                     75
   86   87   88   89   90   91   92   93   94   95   96