Title: Microcontroller Review
1Microcontroller Review
2Freescale MC9S12DP256
David Foster
- A lot of processing power for a very low price
(in the miniDragon development board) - Many I/O pins along with many standard
interfaces SCI, SPI, PWM, timer module, A/D
converter - Programmable in C and/or assembly with numerous
textbook and online references - In the miniDragon, a very small size for a
development board
3Freescale MC9S12DP256
David Foster
- Speed Very good miniDragon allows 24 MHz bus
speed, - Computing Capability Very good fuzzy logic
unit, extended precision multiply and division
instruction - Memory Space Good 12kB RAM, 256 (512) kB
Flash - Cost Great 100 for development board
- Power Usage Average roughly 325 mW max. at
24 MHz - Dev. Tools Very good Several as free
downloads (some with code size restrictions),
many online and printed resources - I/O Great relatively large I/O pin count,
number of pins that can cause interrupts, PWM,
SCI, SPI, A/D,
4Systronix JStamp
David Foster
- Programmable in Java with no need to look at
assembly/byte code level - Free design tools with no inherent limits
- Relatively large data and code space
- Fair processing speed and I/O pin count
- Small size for a development board, and the
JStamp can be removed and used as a DIP module
for a very small footprint easily built into
prototypes.
5Systronix JStamp
David Foster
- Speed Good at 74 MHz, up to 3,000,000 bytes
codes per second - Space Great 512kB RAM, 2 MB Flash
- Cost Poor 300 for development board
- Power Usage Average roughly 300 mW at 74 MHz
- Dev. Tools Good Several as free downloads, a
few online references - I/O Fair 22 I/O pins, PWM, SCI, SPI, I2C
6TI C2000 DSP Chips
Peter Mahnken
- 60 150 MHz, 32-bit Processors
- Low cost for a DSP chip.
- Comes with Code Composer Studio, a very powerful
IDE - Native support for Matlab and Simulink through
Embedded Target for TI C2000 DSP toolbox and Link
for Code Composer Studio - Able to run at 3.3V DC for battery operated
applications. Built in low power mode
7TI C2000 DSP Chips
Peter Mahnken
- TMS320F2801 Variant
- Processor 32-bit, 100 MHz
- 12KB of RAM, 32 KB of ROM
- Up to 6 independent PWM Channels
- Supports a variety of bus communications SCI,
SPI, CAN, etc - 16 channel, 8-bit A/D Converter
- Cost 11.25 _at_ 100 units
- Development kit (with similar processor)
495.00 with USB communication and includes IDE,
debugger, flasher, and compiler
8Zilog Neo
Peter Mahnken
- 16-bit, 20 MHz processors
- 6 Channel Independent PWM for Motor/Servo
Control - Built in IR Decoder/Encoder
- Low cost for development kits
- Up to 76 pins of GPIO (General Purpose I/O)
9Zilog Neo
Peter Mahnken
- Z16F2811AL20 Variant
- Processor 16-bit, 20 MHz
- 4KB of RAM, 128 KB of ROM
- Up to 6 independent PWM Channels
- Supports a variety of bus communications SCI,
SPI, etc. - 12 channel, 10-bit A/D Converter
- Cost 8.65 _at_ 100 units
- Development kit 130.00 with USB communication
and includes IDE, debugger, flasher, and compiler
1068HC12
Jon Cory
- Internal 768K Bytes EEPROM, 32K Flash, 1K Bytes
SRAM - PWM outputs, TPU, and Internal A/D
- Serial bus controllers (RS-232, CAN 2.0).
- Vast amount of support and examples
- Ease of Development
1168HC12
Jon Cory
12MicroBlaze
Jon Cory
- High Speed (100MHz)
- 32 Bit Processing
- Configurable I/O and functions
- Well Supported (examples)
- Space, Weight, and Power savings (implemented in
the - FPGA fabric)
-
13MicroBlaze
Jon Cory
14Freescale HCS12 E256
Jason Mick
- Easy to program with C compilers
- Compiled code is very compact and optimized
- Widely used, widely available
- Good at I/O easily interfaces with motors and
peripherals - Many training resources available online and
offline - Reasonable power requirements
- Relatively inexpensive compared to other
processors - Flexible memory addressing, multiple modes
- On chip debugging
15Freescale HCS12 E256
Jason Mick
- Compatible with miniIDE, a freeware assembly
language HCS12 compiler and with CodeWarrior, a
C language compiler for the HCS12, that has a
free 30 day trial - 16-Bit Microprocessor
- 40 nsec minimum instruction execution time
- 5 16-Bit registers, and 1 8-Bit Condition
register - 25 mA maximum current draw
- 2.97-5.5 Supply voltage required
- On chip bandgap reference of 2.5 V
- Interrupt structure supporting simultaneous
interrupts - Two 1 channel Digital-To-Analog (DAC) Converters
- One 16 channel Analog-To-Digital (ADC) Converter
with 10 bit resolution - Three 4-Channel Timers
- 6-Channel Pulse Width Modulation
- 256 KB Flash EEProm
- 16 KB RAM
- SPI and SCI interfaces
- Up to 90 I/O lines with Drive Voltage of 5V
- 50 MHz Processor speed (max)
- 25 MHz Bus Speed
- .5 to 16 MHz Resonating Crystal with PLL
capability
16MicroBlaze Softcore on Xilinx FPGAs
Jason Mick
- Softcore for Xilinx FPGAs
- Based on modern 32 bit architecture
- Cutting edge
- Utilizes GNU Compiler to compile code either in C
or assembly - Floating point capability allows for more
advanced math to be carried out in subroutines - Very Low power requirements when loaded onto 90
nm FPGA - Free! You only need to purchase the FPGA
development board to load it on - Easily interfaces with coprocessors, such as
video or math processors - Interrupt Capability
- Processor has memory cache with user defined size
- Can enter debug mode via signals to Xilinx Debug
coprocessor, also free to download from Xilinx - More powerful processor, less output support
(ADC, DAC, PWM, etc.)
17MicroBlaze Softcore on Xilinx FPGAs
Jason Mick
- Compatible with GNU MicroBlaze C/Assembly
compiler, Free - Based on 32-Bit Harvard RISC Architecture
- Variable instruction time...each instruction
takes a set number of cycles, but clock can be
external and vary in speed. - Thirty-Two, 32-Bit General Purpose Registers
- 32-Bit instruction words with three operands and
two addressing modes - 32-Bit address Bus
- Arithmetic Logic Unit (ALU)
- Current varies with target FPGA
- Most Xilinx FPGAs have 3 voltages- Core 1.2V
I/O 3.3 V Auxilary 2.5 V - Only supports 1 external interrupt
- No built in ADC or DAC, but can FPGAs could be
interfaced with ADC or DAC chips - No built in PWM
- 3-Cycle Optimized Multiply instruction
- 34-Cycle Hardware Optimized Integer divide
instruction - 2 kB to 64 kB data cache, size is user definable
- Eight 32-Bit General Purpose Inputs
- Eight 32-Bit General Purpose Inputs
18Freescale HC12
Aaron Harris
The HC12 family of microcontrollers are 16 bit
processors with a decent amount of features for a
relatively low cost. These processors started as
an enhanced 16 bit version of the popular 8 bit
HC11. They contain many of the modules you would
expect from a microcontroller, such as SCI, SPI
and CAN interfaces, an A2D module and a timer
module. The HC12 is perfect for a system that is
not overly complex yet still requires many
different types of communication or control.
19Freescale HC12
Aaron Harris
- (all numbers are for the MC9S12C32)
- Clock rate 8 Mhz
- Flash space 32 KB
- RAM 2 KB
- SPI and SCI modules
- CAN module
- Timer module
- Analog-to-Digital module
- Relatively low cost
- Many different tool sets due to widespread use
20Freescale ColdFire
Aaron Harris
The ColdFire family of microcontrollers are 32
bit processors with extensive features. They are
based on Motorolas 68k architecture. Depending
on requirements, there are ColdFire packages with
many different modules available. Some of the
modules include SCI, SPI and I2C, timer modules,
CAN, A2D, USB, PCI and Ethernet. With clock
rates that can reach 300 MHz, the ColdFire can be
quite powerful for an embedded system. This
microcontroller is good for a system that is
complex and requires many of the different
resources available in the ColdFire family.
21Freescale ColdFire
Aaron Harris
- (all numbers are for the MCF5282)
- Clock rate 64 MHz
- Flash space 512 KB
- Ram 64 KB
- SPI, SCI and I2C modules
- CAN module
- Timer module
- Analog-to-digital module
- Ethernet module
- Good value for its power and resources
- Multiple toolsets available such as CodeWarrior
22HCS12DP256 on Wytec Eval Board
Jason Gorski
- 16-bit processor with a maximum clock frequency
of 25 MHz - Extensive I/O capabilities
- Support for floating point numbers and fuzzy
control - Extensive support from manufacturer and online
forums - Program in C and download to onboard flash using
Codewarrior IDE. - Register based processor A,B,X,Y,SP, PC
- Huge selection of development boards available in
varying form factors starting at about 100. - External memory interfaces are available to
increase program space.
23HCS12DP256 on Wytec Eval Board
Jason Gorski
24Systronix JStamp
Jason Gorski
- 32-bit processor with a 73 MHz clock.
- Executes Java byte code natively w/ in-silicon
RTOS - Programming in a high level language increases
development speed. - Execution is streamlined as no JVM is required.
- Large amount of internal memory allows for
storage of large, complex programs. - Very little low level I/O, however high speed
serial I/O is available. - Very few development platforms offered, high cost
(although increased capability) and limited
support
25Systronix JStamp
Jason Gorski
26Atmel AT91M55800A
Chia-yang Hung
- 32-bit ARM 7 micro-controller for
power-constraint devices - Good power management and low mW/MHz
- Numerous peripherals counters, UARTs, SPI, ADCs
and DACs - Vectored-interrupts and Peripheral Data
Controller (DMA-like) - ARM's memory and peripheral buses
- Support from RTOSes eCOS, Neucleus, and uC/OS-II
- Development tools IDEs and toolchains from ARM,
Green Hills, and GNU in-circuit emulators, etc.
27Atmel AT91M55800A
Chia-yang Hung
28TI TMS320F2802
Chia-yang Hung
- 32-bit Digital Signal Controller (DSC) from TI.
- DSP core better performer on signal-processing
algorithms - Separate program and data buses less contention
in memory access. - Numerous peripheralsSCI, SPI, CAN, counters /
timers, ADCs - Vectored interrupts and DMA-like transfer for I/O
- Development tools TI Code Composer Studio IDE
and DSP / BIOS real-time kernel - Low core voltage (1.8 V)
29TI TMS320F2802
Chia-yang Hung
30MC68HC12
Neeta Kulkarni
- MC68HC12 is a 16 bit microcontroller with on
chip - peripherals like flash EEPROM, RAM, EEPROM,
advanced - serial communication interfaces, PWM ,A/D
converter. - It has 256Kbytes flash EEPROM and 4Kbytes EEPROM
and - thus has large program memory
- PLL enables adjusted power consumption and
performance to - suit operational requirements
- It has two 8 channel A/D converters and thus a
number of - sensors can be connected.
- MC68HC12 has 8 PWM channels with programmable
period - and duty cycle
- It has enhanced serial communication interfaces.
31MC68HC12
Neeta Kulkarni
- Important parameters of the microcontroller
- High speed, large program and data memory,
large number of - I/O ports, A/D converter, PWM, power
consumption, development tools. - Parameters of MC68HC12
- Speed of operation can go up to 50 MHz.
- It can operate in low power modes to minimize the
power - consumption. Modes are
- 1.Stop mode
- 2.Pseudo stop mode
- 3.Wait mode
- Various development tools are available. Mini
IDE is commonly used.
32PIC18F4620Neeta Kulkarni
- PIC18F4620 is a 8 bit microcontroller which gives
high computational performance at economical
price. - It has on chip peripherals like flash EEPROM,
RAM, enhanced addressable USART, programmable
PWM, A/D channels. - It has 64 Kbytes flash memory available as
program memory - It can be configured to give up to 4 PWM channels
and thus a couple of motors or servos can be
connected. - PIC18F4620 has 13 A/D channels and thus a number
of sensors can be connected. - It has enhanced addressable USART supporting
RS485, RS232.
33PIC18F4620Neeta Kulkarni
- Important parameters of the microcontroller
- High speed, large program and data memory,
large number of - I/O ports, A/D converter, PWM, power
consumption, development tools. - Parameters of PIC18F4620
- Speed of operation can go up to 40 MHz.
- It offers seven operating modes for efficient
power management. The modes are categorized into
run mode, idle mode and sleep mode. - Various development tools are available.
Microchip technology development tool MPLAB IDE
is commonly used.
34PIC 18F4680
James Batcheler
- Minimal External Hardware
- Easy to Program
- Many Integrated Components
- 2.5V and 5.0V Models Available
- Tremendous Amount of Documentation Online
35PIC 18F4680
James Batcheler
- Nominal Voltage 5.0V
- Power Consumption 33 ma _at_ 40 MHz
- Development Tools Single IDE with Integrated
Bootloader - ADC Integrated, 11-channel, 10-bit
- CAN Integrated ECAN module
- Program Space 64 KB
- Data Space 3.3 KB
36BS2P40
James Batcheler
- Fast Development Time
- No External Hardware
- Easy to Program Use
37BS2P40
James Batcheler
- Nominal Voltage 5.0V
- Power Consumption 40 ma _at_ 20 MHz
- Development Tools Single IDE with Integrated
Bootloader - Program Space 16 KB
38Microchip PIC18F458
Jason Beaudoin
- Cheap development board 38
- Easy instruction set (75 instructions)
- 4 PWM outputs
- 8 channel A/D
39Microchip PIC18F458
Jason Beaudoin
- Speed Up to 40 MHz, 10 MIPS
- Power consumption 30 mA on 5.0V supply
- Development tools MPLAB IDE, Free, C compiler
available - Support ticket Tech support and forums at
microchip.com
40NXP (Philips) LPC2148
Jason Beaudoin
- 512 kB Flash
- 32 kB SRAM (for a small frame buffer?)
- Plenty of serial interfaces, including USB
- 6 PWM outputs
41NXP (Philips) LPC2148
Jason Beaudoin
- Speed Up to 60 MHz
- Power consumption max 50 mA on 3.3V supply
- Development tools uLink, Keil ARM development
tools - Support Online docs or thru distributor FAE
42MC9S12DP256
Kevin Van Sickle
- Powerful Feature SET
- Already have Prototype board from other project
- Available Code Warrior C compiler
- (crippled version free to use)
- Available Free Unlimited GNU compiler with
examples from Axiom Mfg. - Experience Programming this device from other
class
43MC9S12DP256
Kevin Van Sickle
- 50 MHz capable
- Sleep Mode and Internal oscillator for power
saving - 7 micro Second 10 bit ATD.
- Three SPI interface
- Two SCI interface for RS232
- More PWM and Capture Compare capability than
MC9S08GT60 - 16 bit
- Controller Area Network
- 15.49ea price on 1000 quantity
44MC9S08GT60
Kevin Van Sickle
- Small Size
- Through Hole SDIP pkg. available
- Still Has Many advanced Features
- Available Code Warrior C compiler
- (crippled version free to use)
- Zigbee wireless design board possibly at hand.
- Quantity price 3.655.17
45MC9S08GT60
Kevin Van Sickle
- 40 MHz capable
- Sleep Mode and Internal oscillator for power
saving - 14 micro Second 10 bit ATD.
- One SPI interface
- Two SCI interface for RS232
- Some PWM and Capture Compare capability
- Low Price 3.655.17 on 1000 Quantity
46 dsPIC30F3010
Tim Raabe
The dsPIC is a great choice for motor
controlling. It has dedicated motor control
hardware, and is easy to set up to control many
types of motors. A big benefit of Microchip
devices is the free IDE and C compiler for
students. Additionally, the development kit can
control 48v motors at 2.2A. Along with motor
control features, the dsPIC also has built in DSP
functionality. This can allow more complex
algorithms on a small, cheap 16bit micro.
47dsPIC30F3010
Tim Raabe
- 40 MHz
- 6 10 bit ADCs
- 20 I/O pins
- Cost
- Chip is extremely cheap
- 5.00
- Development Kit (can drive Motors)
- 129.99
- On chip Oscillator
48LM3S811 Microcontroller
Tim Raabe
The Luminary Micro seems like a good choice if a
low cost 32 bit processor is needed. It actually
has dedicated hardware for both multiplication
and division, which should add speed over a 16
bit, or 32 bit processor which relies on software
algorithms for both multiplication and
division. The evaluation board for this device
is also very affordable, cheap enough that
several could be used for controlling a single
robot if needed.
49LM3S811 Microcontroller
Tim Raabe
- 50 MHZ
- 4 10bit ADC
- 4-32 IO Pins
- Cheap
- 10 for chip
- 49.99 for Evaluation Board
- 32 bit ARM processor
- 64KB of Flash memory
50HCS12 C32/DP256
Terry Redman
dragonfly C32 module
- Typically programmed using C or Assembly
- Inexpensive - development board for about 100
or a dragonfly C32 module for about 40 - Includes PWM Channels, Timer Channels, CAN
Interface, SCI/SPI Ports, A/D Converters - Easy to use IDEs - Codewarrior, Cosmic, eGnu
- Flash programmed with a BDM - Multilink or
DragonBDM - (Note about DragonBDM, it needs serial monitor
running and doesn't integrate with Codewarrior)
51HCS12 C32/DP256
Terry Redman
DP256 Development Board
- Clock Speed - 4/24 MHz
- RAM - 256 KBytes
- I/O Pins - 91
- Flash Memory - 256 KBytes
- Power Consumption - 60mA _at_ 5V
- Accessible Documentation - Good but not always
easy to find what youre looking for
52JStamp
Terry Redman
- Programmed using Java
- Relatively inexpensive - development kit for
about 300 or a JStamp module for about 100 - Includes SPI Port, Serial Port, PWM
- Add on modules for CAN Interface, RF, graphic
LCD, and more - Uses common Java IDEs like Eclipse
- Programmed and debugged using aJile development
tools included with the JStamp development kit
53JStamp
Terry Redman
- Clock Speed - 74 MHz
- RAM - 512 KBytes
- I/O Pins - 22
- Flash Memory - 512 KBytes
- Power Consumption - 61mA _at_ 5V
- Accessible Documentation - Good
54Freescale Coldfire 5282
Paul Krasicky
- 32-bit Coldfire Architecture
- 64kb on-chip RAM, 512kb on-chip Flash
- 80 MHz clock speed available
- Wide array of input/output capabilities
- CAN, SPI, UART, I2C, Ethernet
- Good power management capabilities
- Very popular in industry - widely supported
- Low cost at high volume - 20
- Development kits available for under 300
55Freescale Coldfire 5282
Paul Krasicky
- High marks in most relevant categories!
- CPU speed powerful enough for most embedded
apps - I/O wide variety of I/O, among best in
industry - Support availability very high
- Cost medium, good costs for 32-bit processor
- Availability easy to find
- Little in the way of on-chip RAM
56Freescale PowerPC MPC5553
Paul Krasicky
- 32-bit PowerPC architecture
- 1.5Mb on-chip Flash
- 200 MHz clock speed available
- Wide array of input/output capabilities
- CAN, SPI, UART, Ethernet
- No power management capabilities
- Very new not widely available
- Pricing info not widely available yet
57Freescale PowerPC MPC5553
Paul Krasicky
- High performance, higher cost, low availability
- CPU speed very powerful!
- I/O wide variety of I/O, two CAN busses, tons
of GPIO - Support availability decent
- Cost high cost for 32-bit processor
- Availability hard to find
- Little in the way of on-chip RAM