Page 69 - Embedded Microprocessor Systems Real World Design
P. 69
However, the decision to use DRAM implies a considerable increase in the cost and
complexity of a design; you should consider it carefully to determine whether it is
necessary.
This section has been a lengthy discussion of connecting memory to a micro-
processor and calculating the worst-case timings, but it is important because the
timing of all other peripherals is calculated in the same way. The foregoing
information is based on the assumption that the designer will use worst-case
numbers. Some manufacturers provide a table or other information that in-
dicates the memory speed needed for a specific clock rate. However, if it is not
specified in that way, assume the worst-case timing scenario eventually will
happen.
One last note about timing calculations: They are straightforward to do with a
calculator, but a number of timing analysis programs for PCs will do the calcula-
tions, display the resulting waveform on the screen, and even highlight problem
areas in red. An example is Timing Diagrammer Pro from Synapticad. These pro-
grams typically include libraries of microprocessors and other parts, including the
timing parameters, so you need not even look up the worst-case parameters on the
data sheets. The program does all the calculations for you and you can print out
a timing diagram that can be included in the board specifications or other
documentation.
The entire point of an embedded microprocessor is to monitor or control some
real-world event. To do this, the microprocessor must have 1/0 capability. Like a
desktop computer without a monitor, printer, or keyboard, an embedded micro-
processor without 1/0 is just a paperweight.
The 1/0 from an embedded control system falls into two broad categories:
digital and analog. However, at the microprocessor level, all I/O is digital. (Some
microprocessor ICs have built-in ADCs, but the processor itself still works with
digital values.) The simplest form of 1/0 is a register that the microprocessor can
write to or a buffer that it can read. Figure 2.12 illustrates these two implementa-
tions. When the microprocessor performs a read to the address of the 74AC244,
the decoding logic produces a read strobe, and the 74AC244 outputs are enabled
onto the microprocessor data bus. Similarly, a write to the address of the 74AC374
generates a write strobe that clocks the data bus value into the 74AC374. The input
bits to the 74AC244 could be switch contacts, a temperature sensor, comparator
outputs, or any other digital information. The 74AC374 outputs could drive LEDs,
a relay, or other logic. The decoding logic to generate the strobe signal can be
implemented with PLDs, discrete logic, or demultiplexers such as the 74AC138/
54 Embedded Microprocessor Systems