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

as does the Siemens/Infineon  C167 family when accessing external memory in a
                 multiplexed mode.
                    In the Intel scheme, the data bus is multiplexed with the address bus. In a proces-
                 sor with an &bit data bus, the 8 data bits are multiplexed with the 8 lower address
                 bits. If  the data bus is 16 bits, then all 16 data bits are multiplexed with the lower
                 16 address  bits.  Multiplexing is  a  common  means  to  access  external  memory
                 because it saves pins-without  multiplexing, accessing 64 kilobytes (K) of memory
                 with an &bit bus would require 24 pins just for the address and data lines. A mul-
                 tiplexed scheme requires only 16 pins for address and data.
                    During  the  first  part  of  the  machine  cycle  (labeled  A  on  the  diagram), the
                 microprocessor places the address on the data bus; it must be captured by an exter-
                 nal latch such as a 74AC373. The ALE  (Address Latch Enable) signal is used to
                 capture the address in the external latch. After ALE  goes inactive, the processor
                 stops driving the address onto the multiplexed address/data  bus and generates a
                 read or write strobe (-RD  or -WR)  to transfer data to or from the external memory
                 or 1/0 device. For a read  cycle, -RD  is driven low, indicating to the peripheral
                 device that it should drive read data onto the bus, which the processor will  leave
                 in the tristated condition. For a write cycle, -WR  indicates that write data is avail-
                 able for the peripheral,  and the processor will  drive the data onto the data bus.
                 This basic waveform is used whether the external device is an EPROM, RAM, or
                 peripheral.
                    The  second  waveform  in  Figure  2.2 shows the  timing  for  external  memory
                 access by a Microchip PIC17Cxx part. The basic waveform is nearly identical to the
                 Intel, with  one  significant difference:  During  a write  cycle, the  Microchip part
                 places write data on the data bus prior to the leading  (falling) edge of the -WR
                 strobe. With the Intel timing, write data is guaranteed to be stable only prior  to
                 the  trailing  (rising)  edge  of  the  -WR  strobe.  Other  devices  that  use  this  same
                 basic  timing  include  the  Atmel  AT9OS85  15  microcontroller,  when  accessing
                 external RAM.
                    The third waveform in Figure 2.2 shows the timing used by the parts in the Zilog
                 28 family. The data bus is still multiplexed with the address, but the address strobe
                  (-AS)  is  true when low instead of when high. There are no separate strobes for
                 read  and write.  Instead,  there  is  a  single data strobe  (-DS)  and another  signal
                  (R/W)  that determines whether the cycle is a read or write cycle.
                    The fourth waveform  in  Figure  2.2 shows timing  for  processors such  as  the
                 Motorola  68000 family. These parts have  separate  address  and data buses.  The
                 address strobe is not used to latch the address but to indicate that a valid address
                 is present on the bus. Similarly, the data strobe is used to indicate that valid write
                 data is present on the data bus  (write cycle) or that the peripheral should place
                 read data on the bus (read cycle). The 68000 family parts also use a -DTACK  (data
                 transfer acknowledge) signal from the addressed device to indicate the end of the



                 Hardware Design I                                                     33
   43   44   45   46   47   48   49   50   51   52   53