choosing an mcu - engineeringicom5047/spring11/documents/choosing...zapplications: consumer...

26
Choosing a Micro for an Embedded System Application Dr. Manuel Jiménez DSP Slides: Luis Francisco UPRM - Spring 2010

Upload: others

Post on 12-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Choosing a Micro for an Embedded System

Application

Dr. Manuel JiménezDSP Slides: Luis Francisco

UPRM - Spring 2010

Page 2: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Outline

MCU Vs. CPU Vs. DSPSelection FactorsEmbedded PeripheralsSample ArchitecturesSelection GuidesDevelopment Tools

HardwareSoftware

Page 3: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Introduction

Choosing the right MCU: A Difficult TaskWide Selection of VendorsLarge Number of Alternatives

CPU Architecture/ProgrammingEmbedded peripheralsCostPowerPackages

Try a Search in the DigiKey on-line CatalogMore than 16,000 entries for “Microcontroller”

Page 4: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

MCU, MPU, or DSP?

Let your application dictate the needs & requirements for the system CPU

MicroprocessorSelectionProcess

MicroprocessorSelectionProcess

RequirementsEmbedded Systems

Application

Embedded Systems

Application

Application Processor

Application Processor

MPUMPUDSPDSPMCUMCU

Page 5: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Classic Microprocessor-based Systems (MPU)

MPU

Control Bus

Program

Memory

DataMemory

I/O

Glue

Logic

Data Bus

Address Bus

Chip/Board

Chip/Board Chip/Board Chip/Board

Chip/Board

Inter‐chip level

Page 6: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

MPU

Microcontroller-based Systems (MCU)

MPU

Control Bus

Program

Memory

DataMemory

I/O

Glue

Logic

Data Bus

Address Bus

External

I/O Lines

Single Chip 

Device

Intra‐chip level

Page 7: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Embedded Microprocessors Systems

MPU

Control Bus

Program

Memory

DataMemory

I/O

ExternalBus

Peripherals&

Memory

Data Bus

Address Bus

Chip/BoardChip/Board

Intra‐chip levelInter‐chip level

I/O

Lines

I/OPeripherals

Single Chip 

Device

Page 8: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Embedded DSP / DSC Systems

Control Bus

DataMemory

DSP 

Operation

s moduleAnalog

I/O

ExternalBus

Peripherals&

Memory

Data Bus

Chip/Board

Chip/Board

Intra‐chip levelInter‐chip level

I/O

LinesI/O

Peripherals

Single Chip DeviceRAM/

High‐speed 

peripherals 

controllers

Program

Memory

MPU

I/O 

Line

s

Address Bus

Page 9: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Critical IndicatorsSystemSpecs

Memory

ProcessingSpeed

PeripheralRequired

Large

Fast

Bus Type MPUDomain

MCUDomain

I/O Type

Small

“Slow”

DSP Math

DSPDomain

Yes

NoDSP Math

DSCDomain

Page 10: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Typical MCU Structure

Page 11: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Core CPU Architecture

Word WidthData resolutionComputing power

Register StructureHow many?Register types

Accumulator-based Vs. Register File Vs. Load/StoreStack type and depth

Assembly Language StructureCISC Vs. RISC

Bus ArchitectureHarvard Vs. Stanford (Von Neuman)Internal Vs. External

Page 12: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Digital Signal Processor Architecture Characteristics

MPU designed to perform Digital Signal Processing math operations

Multiply and accumulate (MAC) Digital Filters: IIR & IIF FFT

MAC instructions in a single cycleMultiple access to memory in a single instruction cycleMAC operations with fixed-point or floating-point

Page 13: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Embedded DSP vs. DSCDSP

High speed processingHigh speed external peripheralsLots of external memoryImage & Video processing, powerful DSP algorithms

DSCLow speed processingI/O type peripheralsApplications: Consumer electronics applications, motors controls, power electronics controllers, etc.

Page 14: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Architectural Considerations for Embedded DSP / DSC (1/2)

SpeedMAC operationsBuses Sampling

Internal Modules for DSP Math operationsFFTFilters

Arithmetical Format and lengthFixed-pointFloating-point

Page 15: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Architectural Considerations for Embedded DSP / DSC (2/2)

On-Chip MemoryCodeInternal RAMSampling

Controllers external RAMOn-Chip PeripheralsBuses

Page 16: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Programmability

ProgrammabilityPrefer FLASH devices

Many erase/reprogram cyclesOn-board reprogrammable

Other types:EEPROMEPROMOTPExternal Memory

FLASH/EEPROMRAMEPROM

Page 17: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

On-chip MCU Peripherals (1/2)

I/O portsNumber of I/OsIndividually or byte programmableDriving capability

TimersNumber of TimersCounting bitsPrescaler(s)Operating modes:

Event/timerWatchdog

Page 18: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

On-chip MCU Peripherals (2/2)

UARTs/USARTsClocking sourcesBaud rate generation

Data ConvertersResolution (No. of bits)Analog ChannelsConversion MethodSpeedReferencing

Other PWMComparatorsI2C, CAN, USB, etc.JTAG, BlueTooth, 802.11

Page 19: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Other Considerations

Physical PackagingImportant for prototypingPLCC, QFP, BGA, DIP

Supply voltageCompatibility with add-on components

MemoryProgram memoryData memory

Application requirementsWord width

Power Down ModesPower ConsumptionSleep/wake-up time

Page 20: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Embedded MPU Examples

Page 21: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Embedded DSP Example

Page 22: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Product Selection GuidesAllow choosing specific members within a family

Page 23: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Product Selection Guides

Page 24: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Hardware Development Tools

Availability of Development KitsMost Kits sold for $50 or lessAsk for samples or student discount

Minimum HW ContentsDevelopment BoardJTAG debugger or EmulatorPower supplySpare chipsCables

Page 25: Choosing an MCU - Engineeringicom5047/spring11/documents/Choosing...zApplications: Consumer electronics applications, motors controls, power electronics controllers, etc. Architectural

Software Development ToolsAllow for Software Development

ProgrammingDebuggingDownloadingTesting

Minimum SupportIntegrated Development Environment (IDE)EmulatorAssemblerC-Compiler (Demo)