8 o 32 bits estat actual dels microcontrol·ladors · 8 o 32 bits estat actual dels...

15
8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors - 1 CPU de 1 bit Motorola MC14500 (1981) CPU de 4 bits Intel 4004 (1970) Nec uPD75x CPU de 8 bits Intel 8080 (1974), 8085, 8051 (1980) MOS Tech 6502 Rockwell (1975) Zilog Z80 (1976), compatible 8080 de Intel Motorola MC6800 (1975), 6802, 6805,, 68HC08, MC9S08 Hitachi H8/300 Microchip PIC16 (1975)

Upload: others

Post on 02-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

8 o 32 bitsEstat actual dels microcontrol·ladors

Jordi Mayné

Enginyer d’aplicacions

02

Historia dels microcontrol·ladors - 1

CPU de 1 bit Motorola MC14500 (1981)

CPU de 4 bitsIntel 4004 (1970)

Nec uPD75x

CPU de 8 bitsIntel 8080 (1974), 8085, 8051 (1980)

MOS Tech 6502 Rockwell (1975)

Zilog Z80 (1976), compatible 8080 de Intel

Motorola MC6800 (1975), 6802, 6805,, 68HC08, MC9S08

Hitachi H8/300

Microchip PIC16 (1975)

Page 2: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

03

Historia dels microcontrol·ladors - 1

CPU de 16 bitsIntel 8086 (1976), 8088, 80286

Motorola 6809(1978), MC68HC11, MC68HC12

Mitsubishi

Hitachi SH (1990) Renesas = Hitachi + Mitsubishi

Texas Instruments MSP430

04

Historia dels microcontrol·ladors - 1

CPU de 32 bitsIntel 80186 Atom

Motorola 68000 ColdFire y PowerPC

Freescale ColdFire

Microchip PIC32 MIPS

Hitachi

Mitsubishi

NEC

ST

Atmel

Page 3: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

05

Taula Comparativa entre Fabricants

R8C/R16C

SH

H8

No tools or pin compatibility

No tools or pin compatibility

Cortex M0

Cortex M3

MSP430

06

Nucli ARM - 1

ARM (Advanced RISC Machines)Es una família de microprocessadors RISC dissenyats per Acorn Computers (1983) i desenvolupats per Advanced RISC Machines Ltd (1990)

ARM1 amb arquitectura similar al 6502 (1985)

ARM2 amb bus de dades 32 bits, bus d'adreces 26 bits, 4MIPS a 8MHz (1986)

ARM3 inclou una memòria “caché” de 4K, bus d'adreces de 32 bits, 12 MIPS a 25MHz

ARM6 utilitzat per Apple, 28 MIPS a 33MHz (1991)

ARM7 8K de “caché”

ARM7 TDMI el mes utilitzat en l'època en telèfons mòbils i videojocs portables (1994). 60MIPS a 60MHz

Page 4: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

07

Acrònims i d’altres

Cache: Accelera la velocitat d'accés a memòria, guardant la informació accedida recientment de memòria mes lenta en RAM d'accés mes ràpid.

MMU (Memory Management Unit): Permet memòria virtual y es generalment requerida per plataformes amb sistemes operatius com Windows CE o Linux.

MPU (Memory Protection Unit): Administra l'accés a certes àrees de emmagatzemen per aplicacions de seguretat.

Jazelle: per executar JAVA.

VFP (Vector Floating Point) para accelerar l'aritmètica en punto flotant d’acord amb l'estàndard IEEE754.

TDMI (Thumb+Debug+Multiplier+ICE)

08

Nuclis ARM - 2

Strong ARM 16K caché MMU, 200MHz

ARM8 8K MMU, 84 MIPS a 72MHz

ARM9 TDMI 16K caché MMU, 200MIPS a 180MHz

ARM9 E instruccions DSP, 220MIPS a 200MHz

ARM10 32K caché MMU, VFP

Xscale

ARM11 Thumb2, MMU, VFP, Jazelle, 740 MIPS a 600MHz

Cortex M3 sense caché, Thumb2 125 DMIPS a 100MHz

Cortex A8 VFP, Thumb2, Jazelle, MMU

Cortex M0 sense caché, Thumb2,

Cortex M4 Thumb i Thumb2, FPU, MAC,

Page 5: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

09

Instruccions ARM

Amb els comandaments originals ARM totes les instruccions són de 32-bit. La majoria de les instruccions poden implementar-se condicionalment, evitant salts Branch associats amb les sentències IT/THEN/ELSE.

Amb la introducció del nucli ARM7TDMI es desenvolupar el joc d’instruccions THUMB, de 16-bits. Les instruccions Thumb són una abreviació de les instruccions ARM 32-bits mes freqüentment utilitzades. Encara que es requereix un nombre lleugerament superior d’instruccions per escriure un programa, el tamany del codi es redueix en un 30-40% aproximadament.

TUMB2 complementa Thumb amb la majoria de les instruccions ARM mes populars i a més permet execució condicional. Addicionalment s’ha optimitzat el joc d’instruccions per compiladors d’alt nivell (C/C++) i exigències comuns en sistemes encastats com la manipulació de bits i divisió per hardware.

Resumin, Thumb2 combina el comportament aritmètic de ARM amb la densitat de codi del joc d’instruccions Thumb.

010

Avantatges de fer servir arquitectura ARM

La continuïtat del joc d’instruccions entre els conjunts, ARM i THUMB, facilita una proposició única dintre de l’industria del microcontrol·lador. Un usuari pot qualificar i reutilitzar llibreries de software validades d’un projecte a altre en el mateix entorn. Aquesta reutilització pot reduir notòriament els costos de manteniment a lo llarg de múltiples projectes i aplicacions i optimitzar d'inversió en software en la companyia.

L’arquitectura ARM també està suportada per varis projectes open source, com compilador GNU, depurador GDB i distribucions Linux.

Page 6: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

011

Fabricants de Semiconductors ARM

ARM7 TDMI NXP (LPC2xxx i LH754xx)

ARM9 TDMI Freescale (iMX1), NXP (LH7A40)

ARM9E Texas (OMAP1xx), Freescale (iMX21, iMX27), STM (STR91x) , NXP (LPC29xx i LPC3xxx)

ARM11 Texas (OMAP2420), Freescale (iMX31)

Cortex M3 NXP (LPC17xx), STM (STM32), Texas (Stellaris)

Cortex A8 Texas (OMAP3xxx), Freescale (iMX51)

Cortex A9 Texas (OMAP44xx)

Cortex M4 Freescale (Kinetis)

Cortex M0 NXP (LPC11xx),

012

Resumen de nuclis ARM i Cortex

Page 7: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

013

Cortex M0

El nou processador ARM Cortex-M0 amb arquitectura Von Neumann consumeix tan sols 85 µW/MHz i va ser pensat per ser utilitzat amb aplicacions d’ultra baix consum (jocs, dispositius inalàmbrics....)

Ofereix prestacions de 32 bits, a preu de 8 bits, amb modes sleep integrats, pipeline de 3 etapes i pot processar dispositius analògics i digitals a la vegada. Pot ser usat per sensors intel·ligents.

Les companyies NXP Semiconductors i ST Semiconductor són les dues llicenciades de la tecnologia del nou processador.

Instrucció Multiplicació 32x32 en un sols cicle.

Latència d’Interrupció en 16 cicles

Depuració/Programació JTAG (5 pins)

o Serial Wire Debug (2 pins)

Augmenta les prestacions dels 8/16bit fins x10

Entre un 40/50% menys de codi que un 8/16bit

Preus a partir de 0.65$

014

Cortex M0 - NXP

Page 8: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

015

Cortex M3

Arquitectura Harvard

Thumb/Thumb2 (alta densitat de codi)

Pipeline de 3 etapas

Millora en les interrupcions NVIC (Nested Vectored Interrupt Controller), baixa latència.

Latència d’interrupció 12 cicles

Nivells de prioritat d’interrupció: fins a 256 nivells

Manipulació de bit: Instruccions integrades i bit banding

MUL i DIV per hardware, en un sols cicle

Depuració: JTAG (5 pins) o Serial Wire Debug (2 pins),

8 breakpoints y 4 wachpoints. Traza.

016

Cortex M3 - NXP

Page 9: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

017

Cortex M3 - ST

Flash

(bytes)

128 K

100 pins LQFP/BGA(2)

32 K

64 K

64 pins LQFP/BGA(1)

48 pinsLQFP

256 K

512 K

144 pins LQFP/BGA(1)

36 pinsQFN

384 K

16 KSTM32F101R4

STM32F103R4

STM32F102R4

STM32F101R6

STM32F103R6

STM32F102R6

STM32F101RD

STM32F103RD

STM32F101RE

STM32F103RE

Access line

Connectivity line

USB Access line

Performance line

STM32F101R8

STM32F103R8

STM32F102R8

STM32F105R8

STM32F101RC

STM32F103RC

STM32F105/7RC

STM32F101RB

STM32F103RB

STM32F102RB

STM32F105/7RB

STM32F101C4STM32F101T4

STM32F103C4STM32F103T4

STM32F102C4

STM32F101C6STM32F101T6

STM32F103C6STM32F103T6

STM32F102C6

STM32F101C8STM32F101T8

STM32F103C8STM32F103T8

STM32F102C8

STM32F101CB

STM32F103CB

STM32F102CB

STM32F101V8

STM32F103V8

STM32F101VB

STM32F103VB

STM32F101VC

STM32F103VC

STM32F101ZC

STM32F103ZC

STM32F101VD

STM32F103VD

STM32F101ZD

STM32F103ZD

STM32F101VE

STM32F103VE

STM32F101ZE

STM32F103ZE

STM32F105/7VC

STM32F105/7VB

STM32F105V8

018

Comparativa ARM7TDMI – Cortex M3

ARM7TDMI-S Cortex-M3Architecture v4T v7M

ISA Support ARM (32-bit) & Thumb (16-bit) Thumb-2 (Merged 32/16-bit)

DMIPS/MHz 0.74 Thumb / 0.93 ARM 1.25 Thumb-2

Pipeline 3-Stage 3-Stage + Branch Speculation

Interrupts FIQ / IRQ NMI, SysTick and up to 240 interrupts. Integrated NVIC Interrupt Controllerup to 1-255 Priorities

Interrupt Latency 24-42 Cycles(Depending on LSM)

12 Cycles (6 when Tail Chaining)

Memory Map Undefined Architecture Defined

System Status PSR. 6 modes.20 Banked regs

xPSR. 2 modes.Stacked regs (1 bank)

Sleep Modes No Three

Page 10: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

019

Depuració/Programació

JTAG SWDMes pins disponiblesper l’aplicació

4 o 5 fils (JTAG Interface Reset pin (nTRST) opcional)Conector estàndard 2x5 50mil

020

Arquitectura HarvardThumb/Thumb-2DSP i SIMD (una instrucció, múltiples dades)

MAC en un sols cicle (fins 32 x 32 + 64 -> 64)Optional single precision FPU NVIC configurable Compatible amb Cortex-M3

Pipeline de 3 etapes

Deep Sleep Mode, Wakeup Interrupt ControllerPower down features for Floating Point Unit

Control·lador d’interrupcions configurable (1-240 Interrupcions i Prioritats)Memory Protection UnitDebug & Trace

Cortex M4

Page 11: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

021

Cortex M4 - Freescale

Core reading code from flash

DMA reading from UARTAnd writing to RAM on FlexBus

DMA fetching graphic bufferFrom SDRAM

Core reading code from flash

DMA reading from UARTAnd writing to RAM on FlexBus

DMA fetching graphic bufferFrom SDRAM

022

Flex Memory

Memoria Programa Principal

FlexMemory

EEPROM:► Elimina components externs

• Menys cost del sistema

► No requereix recursos del sistema

• Fàcil implementació sobre emulació

► Alta durabilitat• Fins 10 Milions de cicles

► Altes prestacions• Temps escriptura = ~100 µSeg• Borrat + escriptura = 1.5mSeg

Configurable pel usuari com…

EEPROMFlash

Programa/Dades

Programa adicional o Flash de Dades:

► Flexibilitat• Espai per futures expansions

► Efficient• Llegeix mentres escriu en la Flash

del programa principal

► Alta durabilitat de les dades en la memoria

o combinació de les dues

Page 12: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

023

Flex Memory

Attribute Traditional Embedded EEPROM FlexMemory

Read-while-write with program memory

Yes Yes

Granularity Byte write/erase Byte write/erase

Write time~1-5msec

(byte write only)

~100usec(word or byte program, brown-outs w/o

loss or corruption of data)

Erase + write time ~5-10 msec ~750 usec + ~750 usec (1.5 msec)

Endurance 50-300K cycles (fixed)SoC implementation and user configurable, can

exceed 10M cycles

Minimum write voltage ≥ 2.0V 1.71V

Flexibility Fixed by part numberProgrammable trade-off - quantity vs.

endurance

024

DevelopmentTools

Bundled IDE

w/ Processor Expert

Bundled OS

USB, TCP/IP, Security

Modular Tower H/ware

Development System

Application Software Stacks,

Peripheral Drivers & App.

Libraries

(Motor Control, HMI, USB)

Broad 3rd party ecosystem

CommonDigital IP

CRC

I2C

SSI (I2S)

UART/SPI

ProgrammableDelay Block

External Bus Interface

Motor ControlTimers

eSDHC

RTC

CommonAnalog IP

16-bit ADC

ProgrammableGain Amplifiers

12-bit DAC

High-speedComparators

Low-powerTouch Sensing

CommonSystem IP

32-bit ARM

Cortex-M4 Core

w/ DSP Instructions

Next Generation

Flash Memory

High Reliability,

Fast Access

FlexMemory w/ EEPROM capability

SRAM

MemoryProtection Unit

Low Voltage,

Low Power Multiple Operating Modes,

Clock Gating

(1.71V-3.6V with 5V tolerant I/O)

DMA

-40 to 105C

K70 Family 512KB-1MB, 196-256pin

K60 Family 256KB-1MB, 100-256pin

K50 Family 128-512KB, 64-144pin

K40 Family 64-512KB, 64-144pin

K30 Family 64-512KB, 64-144pin

K20 Family 32KB-1MB, 32-144pin

K10 Family 32KB-1MB, 32-144pin

DRAM C

ontro

ller

(120

MHz,

150M

Hz, on

ly)

Hardw

are

Tampe

r Det

ect

Dual C

AN

Encry

ption

(CAU+RNG)

Ether

net (

IEEE 1

588)

Floatin

g Poin

t Unit

(120

MHz,

150M

Hz, on

ly)

NAND Flas

h Con

trolle

r

(120M

Hz, 15

0MHz,

only)

LCD (S

egm

ent/G

raph

ics)

USB OTG (F

S & H

S)

Cortex M4 - Freescale

Page 13: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

025

Preus familia Kinetis de Freescale

K10 Family

Low power, analogue, CAN

$0.99

$6.82

K20 Family

K10 + USB OTG (FS/HS)

$1.58

$7.22

K30 Family

K10 + Seg. LCD

$2.30

$4.67K40 Family

K10 + USB OTG (FS) + Seg. LCD

$2.60

$4.97

K60 Family

K10 + USB OTG (HS), + Ethernet +

Encryption + Tamper Detect, + DRAM Ctrlr

$3.98

$8.65

Preus per 10Kpcs

026

Eines Freescale

A modular development platform for 8/16/32-bit MCUs & MPUs

Quickly combine Tower Modules to build a prototype of your application

Modules sold individually or in kits

Open Source: Build your own Tower Module to integrate your IP

Cost-optimized hardware

Software support from Freescale and Third Parties

Growing community of Third Party hardware support

On-line community: www.towergeeks.org

Primary Elevator

Board Connectors

MCU/MPU Module: • Tower controller board

• Standalone or in Tower System

Secondary ElevatorPeripheral Module:

• Up to 3 per system: Serial, Memory, LCD,..

• Mix & match with different MCU modules

Support for all ColdFire+

and Kinetis MCUs!

TWR-SENSOR-PAKTWR-LCDTWR-MEM

Page 14: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

027

Texas

32-bit ARMCortex™-M3

MCUs

16-bit ultra-low power

MCUs

High-performance

DSPs

ARM Cortex-A8

MPUs

Stellaris®

ARM® Cortex™-M3

MSP430™Sitara™

ARM® Cortex™-A8& ARM9

Microcontrollers (MCUs) ARM®-Based Processors

OMAP™

ARM +DSP

Up to 100 MHz

Flash64 KB to 256 KB

USB, ENET MAC+PHYCAN, ADC, PWM, SPI

Connectivity, Security,Motion Control, HMI,Industrial Automation

$1.00 to $8.00

300MHz to >1GHz

Cache, RAM, ROM

USB, CAN,PCIe, EMAC

Industrial computing, POS & portable data terminals

$5.00 to $20.00

Up to 25 MHz

Flash1 KB to 256 KB

Analog I/O, ADCLCD, USB, RF

Measurement,Sensing, General

Purpose

$0.49 to $9.00

300MHz to >1GHz+Accelerator

CacheRAM, ROM

USB, ENET, PCIe, SATA, SPI

Test & Meas., Video, audio, security,

imaging, infrastructure

$5.00 to $200.00

32-bit real-time

MCUs

C2000™

Delfino™

Piccolo™

40MHz to 300 MHz

Flash, RAM16 KB to 512 KB

PWM, ADC, CAN, SPI, I2C

Motor Control, Digital Power,

Lighting, Ren. Energy

$1.50 to $20.00

028

Cypress – Cortex M3

Page 15: 8 o 32 bits Estat actual dels microcontrol·ladors · 8 o 32 bits Estat actual dels microcontrol·ladors Jordi Mayné Enginyer d’aplicacions 02 Historia dels microcontrol·ladors

029

Cypress – Familia Cortex M3

CY8C5588• 80 MHz• 256 KB Flash• 64 KB SRAM• FS USB

CY8C5585• 80 MHz• 32 KB Flash• 8 KB SRAM• FS USB

CY8C5586• 80 MHz• 64 KB Flash• 16 KB SRAM• FS USB

CY8C5587• 80 MHz• 128 KB Flash• 32 KB SRAM• FS USB

CY8C5488• 80 MHz• 256 KB Flash• 64 KB SRAM• 2x 12-bit SAR• FS USB

DIGITAL

ANALOG

12-bit

SC/CTBlock

SC/CTBlock

SC/CTBlock

SC/CTBlock

Digital FilterBlock

20-bit

OP

OP

OP

OP

CY8C5485• 80 MHz• 32 KB Flash• 8 KB SRAM• 2x 12-bit SAR• FS USB

CY8C5486• 80 MHz• 64 KB Flash• 16 KB SRAM• 2x 12-bit SAR• FS USB

CY8C5487• 80 MHz• 128 KB Flash• 32 KB SRAM• 2x 12-bit SAR• FS USB

CY8C5386• 80 MHz• 64 KB Flash• 16 KB SRAM• 1x 12-bit SAR

CY8C5385• 80 MHz• 32 KB Flash• 8 KB SRAM• 1x 12-bit SAR

CY8C5388• 80 MHz• 256 KB Flash• 64 KB SRAM• 1x 12-bit SAR

CY8C5387• 80 MHz• 128 KB Flash• 32 KB SRAM• 1x 12-bit SAR

CY8C5246• 40 MHz• 64 KB Flash• 16 KB SRAM• 1x 12-bit SAR• VREF 0.9%

CY8C5247• 40 MHz• 128 KB Flash• 32 KB SRAM• 1x 12-bit SAR• VREF 0.9%

CY8C5248• 40 MHz• 256 KB Flash• 64 KB SRAM• 1x 12-bit SAR• VREF 0.9%

12-bit

20 UDBs 24 UDBs

030

Eines adicionals de fer servir micros actuals

Llibreries:Grafiques: Control i grafics per pantalles TFT.

Touch control: teclats sensitius, deslliçadors, circulars.

Funcions de control de motor.

Control de memories: Flash serie, tarjes SD

PLC

Dali

DMX512

Etc..