Download Important parameters of the microcontroller

Document related concepts

Alternating current wikipedia , lookup

Power engineering wikipedia , lookup

Mains electricity wikipedia , lookup

Microprocessor wikipedia , lookup

Switched-mode power supply wikipedia , lookup

Power over Ethernet wikipedia , lookup

Electrification wikipedia , lookup

Field-programmable gate array wikipedia , lookup

Variable-frequency drive wikipedia , lookup

Tektronix analog oscilloscopes wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Pulse-width modulation wikipedia , lookup

Transcript
Microcontroller Review
CSE 678
Winter 2007
Freescale 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
Freescale 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,…
Systronix 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.
Systronix 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
TI 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
TI 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 @ 100 units
• Development kit (with similar processor): $495.00 with
USB communication and includes IDE, debugger, flasher,
and compiler
Zilog 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)
Zilog 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 @ 100 units
• Development kit: $130.00 with USB communication and
includes IDE, debugger, flasher, and compiler
68HC12
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
68HC12
Jon Cory
Scoring: 1 (lowest) - 10 (highest)
Metric
68HC12
Speed (Clock Freq/MIPS)
2
Serial Interfaces
6
Size (e.g. 8 bit, 16 bit)
4
Ease of development
6
Flexibility
3
Features (e.g. A/D, PWM)
7
Support
7
Power Consumption
4
Cost Efficiency
10
Space Claim
4
Total
53
MicroBlaze
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)
MicroBlaze
Jon Cory
Scoring: 1 (lowest) - 10 (highest)
Metric
Speed (Clock Freq/MIPS)
Serial Interfaces
Size (e.g. 8 bit, 16 bit)
Ease of development
Flexibility
Features (e.g. A/D, PWM)
Support
Power Consumption
Cost Efficiency
Space Claim
Total
MicroBlaze
6
2
8
2
7
3
6
6
10
10
60
Freescale 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
Freescale 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
MicroBlaze 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.)
MicroBlaze 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
Freescale 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.
Freescale 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
Freescale ColdFire
Aaron Harris
The ColdFire family of microcontrollers are 32 bit processors
with extensive features. They are based on Motorola’s 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.
Freescale 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
HCS12DP256 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.
HCS12DP256 on Wytec Eval Board
Jason Gorski
Power
Directly Proportional to clock speed, about
2 mA per MHz @ 5V (250 mW at 24 MHz)
Memory
256K Flash, 12K Ram, 4K EEPROM
(DP256 in single chip mode)
I/O
8-ch 16bit IC,OC,PA. up to 91 I/O, 2 SCI, 3
SPI, I2C, 16-ch 10bit A/D, 8-ch 8bit PWM
Appropriate Large systems that require a lot of external
for
interfacing and little to moderate
intelligence with moderate power
consumption and low cost.
Systronix 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
Systronix JStamp
Jason Gorski
Power
Memory
I/O
Unregulated 5-14 VDC
45-300 mW power consumption
2 MB Flash, 512 KB SRAM
2 SCI, 1 SPI, 1 I2C, 1-wire, PWM, 22 pins
of general I/O.
Appropriate Small to medium systems that require high
for
intelligence with moderate power
consumption and cost. Not a stand-alone
solution for larger systems (requires external
devices for low level interfacing).
Atmel 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.
Atmel AT91M55800A
Chia-yang Hung
Atmel AT91M55800A
Speed
Fair:
33 MHz max
Interrupts
Good:
Vectored Interrupt Controller
Peripherals
Good:
Numerous; counters / PWM, SPI , 3 UARTs, 8-ch ADC, 2-ch DAC
Power Management
Better:
Core voltage >= 2.7 V
Multiple power modes (Normal, STDBY, etc)
Individual Peripheral Clocks
~216 mW @ 33 MHz
RTOS support
Fair:
Open-source eCOS
uC/OS-II
Neucleus, etc.; > 7
Development Tools
Good:
Arm Development Suite (trial), C/C++
GNU tool chain
TI 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 peripherals:SCI, 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)
TI TMS320F2802
Chia-yang Hung
TI TMS320F2802
Speed
Good:
66 MHz max, DSP MACs
Interrupts
Good:
Vectored Interrupts
Peripherals
Better:
Numerous; counters / PWM, SPI, I2C, SCI, CAN
Power Management
Good:
Low core voltage: 1.8 V
Multiple power modes (Normal, STDBY, etc)
Individual Peripheral Clocks
~280 mW @ 33 MHz
~400 mW @ 60 MHz
RTOS support
Limited:
TI’s DSP/BIOS kernel + ~4 3rd party systems
Development Tools
Good:
Code Composer Studio IDE, C/C++
Hardware Breakpoint
MC68HC12
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.
MC68HC12
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.
PIC18F4620
Neeta 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.
PIC18F4620
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 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.
PIC 18F4680
James Batcheler
• Minimal External Hardware
• Easy to Program
• Many Integrated Components
• 2.5V and 5.0V Models Available
• Tremendous Amount of Documentation Online
PIC 18F4680
James Batcheler
•Nominal Voltage: 5.0V
•Power Consumption: 33 ma @ 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
BS2P40
James Batcheler
• Fast Development Time
• No External Hardware
• Easy to Program & Use
BS2P40
James Batcheler
•Nominal Voltage: 5.0V
• Power Consumption: 40 ma @ 20 MHz
• Development Tools: Single IDE with Integrated Bootloader
• Program Space: 16 KB
Microchip PIC18F458
Jason Beaudoin
• Cheap development board $38
• Easy instruction set (75 instructions)
• 4 PWM outputs
• 8 channel A/D
Microchip 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
NXP (Philips) LPC2148
Jason Beaudoin
• 512 kB Flash
• 32 kB SRAM (for a small frame buffer?)
• Plenty of serial interfaces, including USB
• 6 PWM outputs
NXP (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
MC9S12DP256
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
MC9S12DP256
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
MC9S08GT60
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.65~$5.17
MC9S08GT60
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.65~$5.17 on 1000+ Quantity
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
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.
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
dsPIC30F3010
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
LM3S811 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.
LM3S811 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
HCS12 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)
HCS12 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 @ 5V
• Accessible Documentation - Good but not always easy to find
what you’re looking for
JStamp
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
JStamp
Terry Redman
•
•
•
•
•
•
Clock Speed - 74 MHz
RAM - 512 KBytes
I/O Pins - 22
Flash Memory - 512 KBytes
Power Consumption - 61mA @ 5V
Accessible Documentation - Good
Freescale 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
Freescale 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
Freescale 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
Freescale 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