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

data transfer cycle. The processor will leave the data, address, and control signals
                  active until a -DTACK  is received from the peripheral device.
                    The last timing diagram in Figure 2.2 is for the Hitachi H8 family of parts. These
                  parts use an address strobe (-AS)  to indicate a valid address but do not need an
                  ALE signal, as there are separate pins for address and data. The H8 family produces
                  separate -RD  and -WR  signals for read and write cycles. The diagram in Figure 2.2
                  shows single -RD  and -WR  signals; the  actual microprocessor IC produces two
                  -RD  and two -WR  signals since it performs 16-bit accesses. We’ll cover 16-bit buses
                  and the need for separate signals later in the chapter.
                    The timing sequences shown in Figure 2.2  cover the majority of microproces
                  sors and microcontrollers that can access external memory. Some other memory
                  access schemes exist. The Siemens/Infineon  C167 family, mentioned earlier, has a
                  multiplexed mode that follows the Intel timing. The C167 parts also have a demul-
                  tiplexed  mode  that  eliminates  the  external  address  latch.  Since the  address  is
                  demultiplexed  inside the chip, this mode requires an additional 16 pins for the
                  address signals. The ALE signal is still generated  to indicate a valid address, but
                  external address latches are not required.
                    The Zilog 2180 and 2380 microprocessors, not shown in Figure 2.2, use timing
                  similar to the Intel timing, with  separate read  and write strobes. However, these
                  parts do not multiplex the address lines with the data lines, so there is no need for
                  an ALE signal to latch the address. There are dedicated address pins on the part,
                  and the address is stable throughout the bus cycle. A separate -1ORQ  or -MREQ
                  line goes active to indicate whether the bus cycle is a memory or 1/0 operation.
                  The 2380 also provides an indication, similar to the ALE  signal, when a bus cycle
                  starts for designs requiring that information.
                    Some  ARM-7 processors use a nonmultiplexed version of the Intel timing. Figure
                  2.2 does not show synchronized buses; these will be covered in a later section.
                    Figure 2.3 shows how a 74AC373 latch would be used to capture the multiplexed
                  address on one of  the processors that uses a multiplexed address/data  bus. The
                  address is latched so that when the multiplexed bus switches to data, the address is
                  still available for the peripherals to use. The circuit shown in Figure 2.3 is typical
                  of a processor with an 8-bit external interface. When using a processor with a 16-
                  bit data bus (such as the Intel SOlSS), both bytes of the bus are used for data trans-
                  fer, so two &bit latches are required to capture the full 16-bit address bus.
                    The output enable signal to the 74AC373 is shown grounded. This enables the
                  outputs, and therefore the address bus, all the time. There are some circumstances
                  in which this will not be the case; we’ll discuss these later.
                    The latching circuit need not be a duplicate of the one shown in Figure 2.3. It
                  could be implemented in a programmable logic device (PLD) or other logic.
                    One final note: So far, we have discussed only 16-bit address buses, which allow
                  access to 64K of memory. Many processors can address more than this. In some of
                  these  parts,  including the  80188/186  family, an  additional latch  (or latches)  is


                  34                                              Embedded Microprocessor Systems
   44   45   46   47   48   49   50   51   52   53   54