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

Knowing  this,  you  can  eliminate  the  -RD  and  -WR  signals  (-DS  on  a
                   Motorola-style bus) and just synchronize everything to the processor clock. As long
                   as the peripheral knows what clock edge to use and meets the setup and hold-time
                   requirements, everything will work the same as if the strobe signals were there.
                     Figure 3.2B shows such a clock-synchronized bus. This example is based on the
                   timing for the Intel i960 microprocessor. The address and status signals are driven
                   onto the bus and the -ADS  signal indicates a valid address. The address and status
                   signals include all the status signals, including the address lines, DMA indication,
                   -LOCK  signal, and read/write  signal. Essentially, everything the peripheral device
                   needs to determine what kind of bus cycle is being started is available while -ADS
                   is low.
                     The peripheral decodes the address and status signals, capturing them on the
                   rising clock edge that occurs while -ADS  is low. Before the next rising clock edge
                   (-ADS  has gone high), the peripheral places data on the data bus and the CPU
                   captures it on the rising clock edge. This scheme allows all the decoding logic to
                   be synchronous. The catch is that the decoding logic or the peripheral must keep
                   track of when the CPU expects data. The last cycle shown in Figure 3.2B illustrates
                   a bus cycle that is extended by a wait state. The peripheral (or the decoding logic)
                   must keep track of which clock it is on and drive the data lines on the right clock
                   edge.
                     Processors that support such a clock-based bus often provide a burst mode of
                   operation that is ideal for interfacing to burst-mode memories such as DRAM. The
                   i960 supports such a burst mode, as shown in Figure 3.2C. The first cycle looks like
                   the ones shown in Figure 3.2B, but subsequent cycles can transfer one word from
                   memory  per  clock  cycle  (assuming appropriate  memory  speed). Although  not
                   shown in Figure 3.2C, the i960 has two additional address signals that are cycled
                   through when the burst mode is used, allowing up to four words to be accessed in
                   this mode.
                     The i960 also supports a pipelined mode. In this mode, each data transfer takes
                   two clock cycles, like the bus cycles in Figure 3.2B. However, the cycles overlap so
                   that while the CPU is reading data for one address, it is placing the address and
                   status information for the next bus cycle on the bus. This allows one word to be
                   transferred per clock cycle, just as in burst mode.  Obviously, the decoding logic
                   must detect this condition, capturing the address/status information and enabling
                   the right peripheral or memory at the right time.
                     Intel is not the only manufacturer whose processors use a clock-synchronized
                   bus. The Motorola Power PC uses a bus that has different signal names but timing
                   that is very similar to the i960. Many processors have a clock-synchronized bus struc-
                   ture of some type.
                     Interfacing memory and peripherals to a clock-synchronized microprocessor is
                   similar to interfacing to an ordinary microprocessor. The same considerations apply
                   for setup, access, and hold timings. The differences are that, first, the times typi-


                   98                                              Embedded Microprocessm Systems
   111   112   113   114   115   116   117   118   119   120   121