Choosing a Microcontroller Architecture

canolaokahumpkaElectronics - Devices

Nov 2, 2013 (4 years and 7 months ago)


Choosing a Microcontroller

Feb 18, 2013

Bill Giovino


An Overview of the Microcontroller Marketplace


What You Will Learn Today

What is a Microcontroller?

What is a Microprocessor?

Are Digital Signal Processors (DSP) scary?

Show me a roadmap

Importance of Development Tools

Different Major Vendors


Microcontroller vs. Microprocessor

The lines are blurred

Both may contain peripherals

Both can contain RAM

A device with program memory
(Flash, ROM) will always be a

A device with no Program
Memory or RAM will always be a

A device with no Program
Memory, and has RAM

it just
might be a Microcontroller

Microcontroller Applications


Senses external

external events

Write your own

Microcontroller Applications

Microcontrollers are primarily used in control
oriented applications that are interrupt
driven, sensing and
controlling external events.

The external environment is detected and outputs are sent to drivers/actuators that control events.

Here, we see a typical example of an embedded system using a microcontroller. The microcontroller
system takes information from the outside world by reading the value of digital position devices, such as
switches, and reading analog signals from temperature sensors.

Waveforms generated by timers control the LCD display and motors.

A digital output pin drives an LED on and off.

The system efficiently communicates with other microcontrollers in its network by a commonly available
CAN bus network.

Microprocessor Applications

Need raw horsepower

Running high performance applications and
many tasks at once

Write your own code

What is a Digital Signal Processor

Used for precision processing of digitized analog signals

Uniquely designed to perform a multiplication and an add in
one complex instruction (Multiply

Uses complex instructions to perform many

simultaneous operations in a small amount of time

Not well suited to control
oriented tasks

Usually more expensive than a microcontroller

Usually draws more power than a microcontroller

More complex to program than a microcontroller

Driven by available, pre
written software to perform

specific tasks like image processing, video processing,

audio processing

What to choose?

Go with a
microcontroller if the
task is control
interrupt driven, and/or
bit intensive

Go with a
microprocessor if you
have lots of code and so
many tasks you need an

Go with a DSP if you are
doing intensive analog
signal processing and the
math gives you a

Roadmaps Get You There

A roadmap shows a vendor will
develop code
compatible variants
of a microcontroller

Today, pin
compatible roadmaps
are crucial

A roadmap shows a vendor’s
commitment to a product line

A roadmap shows you can upgrade
your system if your code gets
bigger, or the system gets more

An orphan device is outside of the
roadmap and has no pin
compatible siblings

Sometimes made for one customer

Subject to discontinuance

There may be no bug fixes

Development Tools

For ALL CORES, the quality of the
Development Tools are the gating

Development board selection can
make or break any product line

The usability of a microcontroller is
proportional to the total number of
development boards and compilers
available, plus the QUALITY of tech
support supplied by the vendor

The usability of a microprocessor is
proportional to the number of RTOS
and compilers available, plus the
quality of support by the vendor

A core is your hand is just a square
piece of plastic

tools must be used
to make it do anything useful

A core with poor or no
development tools is like a
Ferrari with a poor or no
steering wheel

all that
power & it can't be used to
do anything!

Development Tools


You can’t program a
microcontroller without one

without a compiler a
microcontroller is just a
dumb piece of plastic

Program it in C

go ahead!

It helps to have an
underlying understanding of
the microcontroller’s
architecture and assembly
instructions to write
efficient C code

Choosing a Compiler

There’s water that’s free from the tap, and there’s
water you can buy.

There are free compilers, and there are compilers
you have to pay for

Compilers you can buy from

IAR, Keil, etc have more

optimizations and so create

more efficient code

Compilers you can buy come with technical support

Development Boards

Development boards can make or break a product family

A development board allows you to test the target
microcontroller in system without building your own

Development boards are not “one size fits all”

Development boards for motor control, home automation,
LCD control are all different

Development boards allow you to become

comfortable with the target microcontroller

so you know you are making the right

sourcing decision

Or making a mistake

Development Board Fun Features

Is it modular?

Is the debug interface USB?

Battery backup?

What are the networking options:





Mobile phone

Display options:



Blinking LEDs

Memory Options

External SD Card

Flash memory

Expandable Flash



Temperature sensor

Light sensor

Are there other development boards
for this microcontroller family?

Is the quality consistent across all
development boards

Are the interfaces consistent across
all development boards?

Choose a Vendor

Before you choose a core, choose a vendor

Your potential long
term relationship with the
vendor determines the potential long
success of using the microcontroller

Things go wrong. Your fault, the vendor’s fault,
nobody’s fault.

Your choice of vendor is important for when
things go wrong.

Some Major Microcontroller Vendors

Major Microcontroller Vendors

Analog Devices

serious Analog 8051 microcontroller with high accuracy ADC


long history with 8
bit and ARM, AVR has fanatical following


History with 8
bit and 32
bit, ARM competes with internal 32


Strong 16
bit player


gets confused with the racy magazine, fast 8


consistent and reliable major 8
bit player with a rabid following, 32
PIC32 competes with ARM


low power ARM, no 8


lots of options to choose from thanks to mergers

Silicon Labs

extremely low power 8
bit with precision analog, and maybe the
lowest power ARM Cortex


Major 8
bit player, wants to own all the ARM sockets

Texas Instruments

low power 16
bit MSP430 endures forever, major ARM player,
now owns the 8
bit COP8 from NSC

Choosing a Vendor: Making a Decision

Look at Development Tools

Most important criteria

How many development boards?

Cheap/free boards & compilers?

Go where people like you are talking online

Vendor forums

LinkedIn Groups

LinkedIn is our Facebook

People using their real names will give

you honest feedback

Can you get them on the phone?

Then look at price and depth

The End Part 1

Next: The Architectures