|
issue: September 2003 APPLIANCE Magazine
Electronic Controls and Embedded Systems
MCUs and DSPs: Worlds Apart? |
Printable format
Email this Article
Search
 |
|
by Lisa Bonnema, Managing Editor
Traditionally, MCUs and DSPs have been perceived as appropriate control options for entirely different types of applications. |
MCUs
are used in general-purpose environments where they
are required to shift quickly among different control
tasks with multiple inputs and outputs (I/Os).
Therefore, MCUs are designed to respond
rapidly to I/O interrupts and to read in the code and data
associated with several programs stored throughout a wide
memory address range. In addition, MCUs are known to feature
integrated peripherals and Flash memory that help keep embedded
system costs down and enable reprogramming for faster system
development.
The drawback in MCUs is that they are not designed for high
precision and the parallel execution of instructions, so that
they have limited utility in systems that need a high level
of performance for control in real time.
DSPs, on the other hand, are specifically designed
to deliver high performance in real-time applications. The parallelism
inherent in DSP architectures permits several multiply-accelerate
(MAC) operations to be performed simultaneously in computationally
intensive tasks. DSP C/C++ compilers are also designed to
be extremely efficient, so that the hardware architecture
is supported to the fullest in software. With their performance
overhead, DSPs are able to extend embedded control capability
while reducing components and saving system costs.
For instance, in motor control, DSPs can perform rotor speed
and positioning tasks in software without the look-up tables
and additional feedback sensors required by an MCU. In power
supplies, DSPs can support new requirements, such as power
factor correction, without the addition of complex analog
control hardware.
The high-performance architectures of DSPs, however, have
tended to make them specialty engines for single-task systems.
Earlier generations of DSPs were slower in handling interrupts
and had a more limited address range than MCUs, as well as
offering fewer integration options. In addition, developers
have perceived programming DSP assembly code as a complicated
process, compared to the familiar high-level MCU programming
flow. As a result, system developers with an investment in
MCUs have been reluctant to make the transition to DSPs for
control applications.
The
Best of Both Worlds
Texas
Instruments (Houston, TX, U.S.) says it has eliminated
these drawbacks by combining the high performance of DSPs
with the general-purpose control features of MCUs.
The company's C2000 DSP controllers are reportedly capable
of executing up to 150 million instructions per second (MIPS),
supplying the high computational speed needed for real-time
control.
The C2000 DSP controllers also feature the low interrupt
latency and a wider address range typical of MCUs, which is
said to make them better adapted for use in systems with multiple
I/Os and control tasks. Integrated analog peripheral functions
such as analog-to-digital converters (ADCs) and pulse-width-modulation
(PWM) outputs save system space and cost, and on-chip Flash
memory permits easy reprogramming for faster code development.
While the Flash memory supports up to 120 MIPS with no wait
states, additional zero-wait-state SRAM is also available
on chip for time-critical code.
This information is provided by Todd Solak, Texas
Instruments, Inc.