Dallas Semiconductor's High-Speed Microcontrollers can improve performance and power consumption when upgrading older 8051/8032 designs. The DS80C320 retains instruction set and object code compatibility, while performing the same operations in fewer clock cycles. The microcontroller is a drop-in replacement for older 8032 and 8051 designs. This application note addresses key issues such as software loops, timers, clock speed, power-on reset and memory interface.
The DS80C320 High-Speed Micro is another member of Dallas Semiconductor's 8051 instruction set-compatible 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 drop-in replacement. When doing so, however, there are some issues that must be taken into account. This application note discusses those issues.
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 33 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.
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. A typical 8032, when using a 12 MHz crystal, requires that the program memory 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 approximately 230 ns. While this is not a tremendous difference, it is something that must be considered, and may be important in some systems.
Software Timing/Delay Loops
The other issue having to do with speed considerations is the use of software timing. Software writers often use the presumed constant execution speed of a processor as a real time reference to generate 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.
The DS80C320 incorporates circuitry to generate its own power-on reset function. While the RST pin may still be connected to an external reset generating circuit, this on-board feature is provided as a convenience to new designs. The fact that the processor has its own reset function is a benefit in most cases; however, there are situations where the on-board reset is not exactly what the user wants. One could conceive of situations where the reset may not be at exactly the desired voltage level or last for exactly the desired duration. One example of this could be the case where battery backed RAM is used for storage. If the RAM contains its own voltage detection circuitry and does not become unprotected at the same voltage as the DS80C320 leaves reset (approximately 4.0 volts), then the processor could be accessing protected RAM. While these cases are not common, they remain something to consider for each specific application.
In addition to being a higher performance device, the DS80C320 is also a lower power device than the 8032 when equivalent work is considered. All CMOS parts exhibit the property that they consume more power as their speed goes up. Since the DS80C320 is a higher speed part, it will consume more power for a given crystal frequency. However, if an equivalent amount of work is considered, it consumes slightly less power than a conventional 8032. This difference in power consumption is probably only important for battery powered applications, in which case stop mode power is likely to be more important.
¹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."