Tutorial: Background about Dallas 8051 Derivatives
NOTE: This document was contributed to 8052.com by
Dallas Semiconductor, a manufacturer
of 8051-compatible derivative chips. This document is copyrighted by Dallas
Semiconductor is used by permission.
Introduction
When a semiconductor company chooses to make and sell microcontrollers it faces a
fundamental choice - whether to use an existing architecture or to develop a new one.
Developing a new architecture has its advantages. The designers are able to use every
new engineering tactic available to improve performance of the hardware and the
efficiency of software (most notable of these are C compilers). The other alternative
is for a semiconductor company to use an existing architecture and make whatever
improvements are possible. This requires more ingenuity on the part of the designers
as they are not free to implement any change - only those that maintain the compatibility
of the architecture. The main benefactor of this approach is the customer. Familiarity
with a microcontroller helps companies to develop products quicker but the over riding
reason to use an existing microcontroller architecture is to re-use software (the
Intellectual Property of a company). Dallas Semiconductor is a company which has
chosen to follow the latter development path - Evolution Not Revolution.
Dallas Semiconductor began making microcontrollers in 1987. Since then key policies
adopted in the development program are:
- Maintain 100% software compatibility with the standard 8051 instruction set.
- Maintain 100% compatibility with the pin-out of existing standard devices where
appropriate.
- Improve the architecture to achieve a significant performance advantage.
- Add additional features to the microcontrollers
The latest microcontroller from Dallas Semiconductor follows in the footsteps of their
earlier parts and complies with these policies. The
DS87C550 is 100% software
compatible with the standard 8051 instruction set. It is also pin compatible with existing
parts produced by other manufacturers. These two features alone are not enough for Dallas
Semiconductor - many additional features have been added to enable customers to do
more and reduce their time to market at the same time.
The DS87C550 uses the Dallas Semiconductor high speed core. This core executes all 8015
instructions up to 3 times faster than a standard 8051. Additionally the clock speed is up
at 33MHz giving the DS87C550 a maximum instruction rate of 8.25 million instruction
per second making the DS87C550 one of the quickest 8-bit microcontrollers on the market
today. Not bad when you consider all of the new architectures that have been introduced
since its inception. Even those starting with a clean sheet have not been able to match
this level of performance.
Dealing With The Real World
The DS87C550 is the first microcontroller from Dallas
Semiconductor that has an integrated A/D converter to measure those 'Real World' analog
signals. Dallas Semiconductor has also added a number of features to the A/D converter to
make the DS87C550 a better solution. The A/D converter is an 8 channel 10-bit converter.
The A/D convert has been specially designed to keep pace with the high performance
architecture of the DS87C550 making quicker than those found on many other microcontrollers.
Additionally the converter has a window comparator associated with it. This can interrupt
the microcontroller if the analogue signal varies outside a specified range or
alternatively, if it moves within a specified range. Fig 1 shows this feature configured
in the mode where an interrupt is generated when the signal goes outside a specific range.
This range is set by the user with two comparison registers. This feature offers
significant reduction in processing overhead if the system requires action only when the
signal moves outside (or inside) a specific range. This is a common requirement for control
systems.
Moving Data
The data pointers of the DS87C550 have been significantly improved. The standard 8051
has only 1 data pointer and Dallas Semiconductor added a second to its microcontrollers.
The DS87C550 takes this improvement further with a number of additional features that
are introduced with this part.
- It is now possible to decrement the data pointers. (This is not possible on a
standard 8051.) This feature has long been requested and can significantly speed
up data transfer routines (see example below).
- After a data pointer has been called into use by an instruction the DS87C550 can
be set up to automatically switch to the other data pointer. This would be used
when moving data from a source to a destination. In this case one data pointer
would contain the source address and the second the destination address. Once the
source pointer is used the microcontroller automatically switches to use the
destination pointer and data can be written immediately to the desired location.
This use of the destination pointer causes the microcontroller to switch back to
the source pointer again. This operation saves an instruction for every read and
every write during a block data move.
These extended capabilities of the data pointers allow you to write:
Cycles
Loop: MOVX A,@DPTR 8
MOVX @DPTR,A 8
INC DPTR 12
INC DPTR 12
DJNZ Counter, Loop 12
Total 52 cycles
The automatic switching between data pointers means that instructions to switch data
pointers are eliminated. If these were not available then a similar operation would be:
Loop: MOVX A,@DPTR 8
INC DPS 8
MOVX @DPTR,A 8
INC DPTR 12
INC DPS 8
INC DPTR 12
DJNZ Counter, Loop 12
Total 68 cycles
You do not need to be the world's best programmer to see that the second method carries
an overhead of two extra instructions per loop. The second example takes an extra 16
cycles which makes it 30% slower. It seems too good to be true that this simple
modification can make block data moves some 30% quicker.
CE Compliance
It has become well known that reducing the frequency of any signals to the devices in
a system can be a big advantage when it is time to reduce EMC emissions for CE compliance.
The DS87C550 has a simple but effective means of achieving this.
The DS87C550 contains a phase locked loop to optionally multiply the frequency by 2 or 4.
This multiplication takes place before the clock to the microcontroller is generated.
Fig. 2 shows how this is implemented.
An important point to note is that the device itself does not operate any faster if the
frequency multiplier is used. This means that a 33MHz device can only have a maximum
crystal frequency of 16.5MHz if the X2 option is used and 8.25MHz if the X4 option is used.
Using the X2 or X4 options reduces the frequencies that are present off the chip removing
the high frequencies over long signal lengths which contribute so much to EMC emissions.
An additional benefit is that lower frequency crystals are generally more readily available
and therefore often for a lower cost. This is just another factor that can make a feature
rich microcontroller result in a lower overall system cost.
Staying In Control
As well as the ability to deal with real world analogue signals the microcontroller must
be able react to what it measures. This is achieved with PWM outputs.
As well as maintaining compatibility with traditional 8051 microcontrollers already on the
market Dallas Semiconductor has considerably improved the PWM function. First of all the
number of channels of PWM has been increased to 4 x 8-bit channels (this class of
microcontroller typically has only 2 x 8-bit channels).
Secondly, the DS87C550 can cascade the 8-bit channels of PWM together to form channels
of 16-bit PWM. All of the possible options are available so the DS87C550 can be configured
as:
- 4 x 8-bit PWM channels
- 2 x 16-bit PWM channels
- 1 x 16-bit channel and 2 x 8-bit PWM channels
Finally, as to be expected from the higher performance Dallas microcontrollers, the PWM
channels are able to run at a higher frequency than many other parts available on the
market. The clock source for the PWM channels is derived from the System Clock which
can be as high as 33MHz.
Catastrophic Failure
In many applications, system reliability is paramount. The most common way of achieving
this is to use a Watchdog Timer. This is an excellent device which is available on all
of the Dallas Semiconductor range of microcontrollers.
However, the traditional watchdog timers relies on a clock which is derived from the
system clock. If the clock fails the watchdog also fails. Since crystal failure is a
relatively common failure mode the DS87C550 has implemented an Oscillator Fail Detect
circuit to cope with this situation.
The Oscillator Fail Detect circuit simply checks that the clock frequency is above
a certain threshold. If the frequency ever falls below that level the device is held
in reset until the frequency once again rises above the threshold. In the reset state
the pins are all forced to know states which the designer can use to implement a
'Fail-safe' state.
Summary
Dallas Semiconductor has set itself the target of providing customers with solutions to
their microcontroller requirements without forcing them to use a brand new architecture
and rewrite any code that they already have. This has been achieved by maintaining 100%
software compatibility with the standard 8051 architecture and implementing devices that
are pin compatible with the pin-out of existing standard devices. To provide cost
effective solutions to their customers additional features have been added to the
Dallas Semiconductor microcontrollers which contribute to a lower overall system cost.
The future holds many exciting developments as Dallas Semiconductor continues to push
back the limits of current microcontrollers. A significant improvement to solve the twin
problems of address space limitations and mathematical performance will be announced early
in the third quarter. Later in the year Dallas Semiconductor will announce a ground-breaking
development which will re-define the capabilities of 8-bit microcontrollers.
(C) Copyright 1997 - 2008 by Vault Information Services LLC. All Rights Reserved.
Information provided "as-is" without warranty. Please see details.
Contact us for usage and copy permission.
|