Session Title

Download Report

Transcript Session Title

Choosing a Microcontroller
Architecture
An Overview of the Microcontroller Marketplace
Feb 18, 2013
Bill Giovino
v1.1
1
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
2
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
microcontroller
• A device with no Program
Memory or RAM will always be a
microprocessor
• A device with no Program
Memory, and has RAM – it just
might be a Microcontroller
Microcontroller Applications
• Controloriented
applications
• Senses external
events
• Controls
external events
• Write your own
code
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-based
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
(DSP)?
• Used for precision processing of digitized analog signals
• Uniquely designed to perform a multiplication and an add in
one complex instruction (Multiply-Accumulate)
• 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-oriented,
interrupt driven, and/or
bit intensive
• Go with a
microprocessor if you
have lots of code and so
many tasks you need an
RTOS
• Go with a DSP if you are
doing intensive analog
signal processing and the
math gives you a
headache
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
complex
An orphan device is outside of the
roadmap and has no pincompatible 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
criteria
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 - Compilers
• 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
hardware
• 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:
–
–
–
–
–
•
Display options:
–
–
–
•
•
•
External SD Card
Flash memory
Expandable Flash
Sensors
–
–
–
•
LCD
Eink
Blinking LEDs
Memory Options
–
–
–
•
Ethernet
WiFi
CAN
LIN
Mobile phone
Accelerometer
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-term
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
Atmel – long history with 8-bit and ARM, AVR has fanatical following
Freescale – History with 8-bit and 32-bit, ARM competes with internal 32-bit
Infineon – Strong 16-bit player
Maxim – gets confused with the racy magazine, fast 8-bit
Microchip – consistent and reliable major 8-bit player with a rabid following, 32-bit
PIC32 competes with ARM
NXP – low power ARM, no 8-bit
Renesas – 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-M3
STMicroelectronics – 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