introduction
the ds80c320 high-speed micro is another member of dallas semiconductor’s 8051 instruction setcompatible
family of microprocessors. it was designed with the same pinout and basic resources as a
conventional 8032, but has significantly enhanced performance capabilities and a number of additional
resources. since the instruction set and pinout are the same, many situations allow it to be used as a dropin
replacement. when doing so, however, there are some issues that must be taken into account. this
application note discusses those issues.
processor speed
while the ds80c320 is 100 percent compatible with the 8051 instruction set, the execution of the
instructions has been streamlined for increased performance. a single byte instruction that previously
required 12 clocks to complete now executes in 4 clocks. in addition, the ds80c320 can accept clocks up
to 25 mhz, where in some versions of the 8032 the maximum was 12 mhz. because of this higher
performance, there are issues relating to processor speed that must be considered when evaluating the
ds80c320 as a drop-in replacement for the 8032.
memory interface1
since the basic instruction execution time has been streamlined in the ds80c320, the time available to
transfer data to and from memory has also been reduced. this means that for the same frequency crystal,
there is less time available for memory access. a simple example illustrates this point. the data sheet for
the 80322 stipulates that, when using a 12 mhz crystal, the program memory must have an address access
time of 302 ns or less (neglecting any address latch overhead). a ds80c320 also using a 12 mhz crystal
requires a memory with an address access time of 230 ns of less. while this is not a tremendous
difference, it is something that must be considered, and may be important in some systems.
software loops
the other issue having to do with speed considerations is the use of software timing. it is frequently the
case that software writers will use the presumed constant execution speed of a processor as a real time
reference. often a tight loop that requires a known number of clocks to execute will be used for
generating delays. since the ds80c320 executes instructions much more quickly than the standard 8032,
these previously designed timing loops will no longer produce the originally intended results. while using
software timing loops is generally accepted as undesirable software design, in practice they are used
rather frequently in embedded applications. the ds80c320 was designed so that the internal timers
default to a condition where they behave exactly as the timers in the 8032. if application code is written to
make use of these timers rather than software delays, the code will run as originally intended.
1 details on selecting the correct speed memory devices for the ds80c320 may be found in dallas semiconductor’s application note 57 entitled “ds80c320
memory interface timing.”
2 data for the 8032 from the intel “8-bit embedded controllers” data book dated 1991.