progettazione sistemi elettronici 12/03/2014 2013/2014 1 · 12/03/2014 progettazione sistemi...

39
12/03/2014 Progettazione Sistemi Elettronici 2013/2014 1 Microcontrollori

Upload: trinhhanh

Post on 20-Feb-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

12/03/2014Progettazione Sistemi Elettronici

2013/2014 1

Microcontrollori

12/03/2014Progettazione Sistemi Elettronici

2013/2014 2

Microcontrollori

12/03/2014Progettazione Sistemi Elettronici

2013/2014 3

Microcontrollori – CPU

Instruction set-CISC Complex Instruction Set Computing (Intel x86 family; Motorola 680x0) -RISC Reduced Instruction Set computer (ARM family, ATMEL AVR Family)

Architecture (respect integer operand maximum dimension)-8 bit (Intel 8051, ATMEL AVR, PIC ) -16 bit (Intel 8088, Motorola 68000, TI MSP430) -32 bit (x86 family, Motorola 680x0, ATMEL AVR32, Power PC) -64 bit (x86-64 family, Power PC)

12/03/2014Progettazione Sistemi Elettronici

2013/2014 4

Microcontrollori - CPU

Costituita da una unità aritmetica e una unità di controlloche interpreta le istruzioni e gestisce il trasferimento dei dati nei Registri.

12/03/2014Progettazione Sistemi Elettronici

2013/2014 5

Microcontrollori - Architettura

Informazioni presenti in un programma:

Codice di Istruzioni per l’esecuzioneDati utilizzati dalle Istruzioni

VON NEUMANN HARWARD

ARCHITETTURE

12/03/2014Progettazione Sistemi Elettronici

2013/2014 6

Microcontrollori - Memoria

VON NEUMANN HARWARD

12/03/2014Progettazione Sistemi Elettronici

2013/2014 7

Microcontrollori - Architettura

MSP 430 TEXAS INSTRUMENT

BUS PERIFERICHE+ Memorie

12/03/2014Progettazione Sistemi Elettronici

2013/2014 8

Microcontrollori - Architettura

BUS MEMORIE

BUS PERIFERICHE

ATMEL AVR

12/03/2014Progettazione Sistemi Elettronici

2013/2014 9

Microcontrollori – Registri InterniRegistri dedicati:

�Program Counter (PC):

Puntatore alla prossima istruzione che deve essere letta ed eseguita dalla CPU.

�Stack Pointer (SP):

Utilizzato per memorizzare informazioni sullo stato delle istruzioni

(instructions: store by PUSH, retrieve by POP);

utilizzato per i parametri delle routine (PUSH, POP in calling routine)

urato dalle subroutine per memorizzare il punto di ritorno al programma (RET).

�Status Register (SR):

Registro di stato della CPU, aggiornato automaticamenete dalla CPU.

12/03/2014Progettazione Sistemi Elettronici

2013/2014 10

Microcontrollori – General PurposeRegister

R0

R1

R2

R3

R26

R27

R28

R29

R30

R31

Register File

X Pointer

Y Pointer

Z Pointer

XL

XH

YL

YH

ZL

ZH

12/03/2014Progettazione Sistemi Elettronici

2013/2014 11

Microcontrollori – General PurposeRegister

Register File

ALU

12/03/2014Progettazione Sistemi Elettronici

2013/2014 12

Microcontrollori – Processor Size

•Unità di Misura: Bits

•Corrisponde alla dimensione massima dei dati che può elaborare la CPU

•Rispecchia la dimensione del bua interno e della memoria die registri della CPU

•Architetture standard : 8 , 16, 32 Bits

12/03/2014Progettazione Sistemi Elettronici

2013/2014 13

Microcontrollori- Performance Metrics

Elaborazione:

•Clock Speed•MIPS (instructions per sec) •Latency•Throughput

Elettrciche:

•Power Consumptions•Voltage Supply•Noise Immunity•Sensitivity

12/03/2014Progettazione Sistemi Elettronici

2013/2014 14

Microcontrollori- Power Consumption

Contributi al consumo di potenza nei dispositivi CMOS:

•Consumo dinamico (PDYN)

•Consumo di corto circuito (PSHORT)

•Consumi di Leakage (PLEAK)

LEAKSHORTDYN PPPP ++=

12/03/2014Progettazione Sistemi Elettronici

2013/2014 15

Microcontrollori- Power Consumption

fVCAPDYN ⋅⋅⋅=2

A : Attività del GateC: Capacità di caricoV: Tensione di alimentazionef : Frequenza del clock

12/03/2014Progettazione Sistemi Elettronici

2013/2014 16

Microcontrollori- Power Consumption

fIVAP SHORTSHORT ⋅⋅⋅⋅=τ

fIVAP SHORTSHORT ⋅⋅⋅⋅=τ

t=Tempo di corto circuito

A : Attività del GateISHORT: Corrente di corto circuitoV: Tensione di alimentazionef : Frequenza del clock

ONPONN

SHORTRR

VI

+

=

12/03/2014Progettazione Sistemi Elettronici

2013/2014 17

Microcontrollori- Power Consumption

LEAKLEAK IVP ⋅=

12/03/2014Progettazione Sistemi Elettronici

2013/2014 18

Microcontrollori- Power Consumption

12/03/2014Progettazione Sistemi Elettronici

2013/2014 19

Microcontrollori – Clock System

12/03/2014Progettazione Sistemi Elettronici

2013/2014 20

Microcontrollori - Crystal

12/03/2014Progettazione Sistemi Elettronici

2013/2014 21

Microcontrollori - Crystal

Specifiche:

Quality FactorRapporto fra l’energia immagazzinata e quella dissipata . Q alto � lentezza nella partenzaLoad CapacitanceCapacità necessaria per far oscillare il quarzoESRResistenza serie equivalenteFrequency StabilityMassima deviazione della frequenza dalla specifica in un dato range di temperaturaFrequency ToleranceMassima deviazione della frequenza dalla specifica a 25°C.

12/03/2014Progettazione Sistemi Elettronici

2013/2014 22

Microcontrollori – Reset Logic

RESTART!

EVENTIInterniEd Esterni

12/03/2014Progettazione Sistemi Elettronici

2013/2014 23

Microcontrollori – Reset Logic

Start Up

External Reset

12/03/2014Progettazione Sistemi Elettronici

2013/2014 24

Microcontrollori – Reset Logic

Watch dog Reset

12/03/2014Progettazione Sistemi Elettronici

2013/2014 25

Microcontrollori – Reset Logic

Brown Out Reset

12/03/2014Progettazione Sistemi Elettronici

2013/2014 26

Microcontrollori – Reset Logic

In quale stato riporta il dispositivo?

12/03/2014Progettazione Sistemi Elettronici

2013/2014 27

Microcontrollori - Timer

12/03/2014Progettazione Sistemi Elettronici

2013/2014 28

PWM – Pulse Width Modulation

12/03/2014Progettazione Sistemi Elettronici

2013/2014 29

PWM – Pulse Width Modulation

12/03/2014Progettazione Sistemi Elettronici

2013/2014 30

PWM – Pulse Width Modulation

FILTRO

12/03/2014Progettazione Sistemi Elettronici

2013/2014 31

PWM – Pulse Width Modulation

12/03/2014Progettazione Sistemi Elettronici

2013/2014 32

Microcontrollori - Interrupt

Permette di rispondere ad un evento “Esterno”senza polling

“Esterno”: tutto ciò che è al di fuori del Core etutto ciò che può attivare i flag di interrupt

12/03/2014Progettazione Sistemi Elettronici

2013/2014 33

Microcontrollori - Interrupt

System reset

(Non)-maskableNMI

Maskable

12/03/2014Progettazione Sistemi Elettronici

2013/2014 34

Microcontrollori - Interrupt

12/03/2014Progettazione Sistemi Elettronici

2013/2014 35

Microcontrollori - Interrupt Overheads

Interrupt arrives

Complete current instruction

Save essential register information

Vector to ISR

Save additional register information

Execute body of ISR

Restore other register information

Return from interrupt and restore essential

registers

Resume task

Interrupt

Latency

Interrupt

Termination

12/03/2014Progettazione Sistemi Elettronici

2013/2014 36

Microcontrollori - GPIO

PIN

PORT

PORT NOT EQUAL TO PIN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

12/03/2014Progettazione Sistemi Elettronici

2013/2014 37

Microcontrollori - GPIO

DDx

PORTx

PINx Physical Pin

Pull-Up

Direction: INPUTPull-Up: OFF

??

0

0

12/03/2014Progettazione Sistemi Elettronici

2013/2014 38

Microcontrollori - GPIO

DDx

PORTx

PINx Physical Pin

Pull-Up

Direction: INPUTPull-Up: ON

??

0

111

Switch On Pull-Up

12/03/2014Progettazione Sistemi Elettronici

2013/2014 39

Microcontrollori - GPIO

DDx

PORTx

PINx Physical Pin

Pull-Up

Direction: OUTPUTPull-Up: OFF

11

1

11

11

1