ingegneria e tecnologie dei sistemi di controllo ... · processori i microcontrollori • un...

46
INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: [email protected]

Upload: lycong

Post on 20-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO

Processori per sistemi di controlloProcessori per sistemi di controllo

Prof. Carlo RossiDEIS - Università di Bologna

Tel: 051 2093020email: [email protected]

Processori

Classificazione

• Processori General Purpose– CISC– RISC– Paralleli

• Microcontrollori• Digital Signal Processor

– Paralleli• DSP-microcontrollori

Processori

I microcontrollori

• Un microcontrollore è un processore caratterizzato da un core diun microprocessore più periferiche integrate sul chip che lo rendono adatto ad applicazioni di controllo– interfaccie seriali– convertitori A/D– contatori– sottosistema per la gestione HW degli eventi

• input capture e output compare– timer di watchdog– uscite PWM– unità floating point– . . .

• Sono caratterizzati da un cambio di contesto molto veloce e dalla capacità di eseguire istruzioni logiche in maniera ottimizzata– if - then - else

Processori

I Digital Signal Processor (DSP)

• Processori con architettura HW ottimizzata per il trattamento dei segnali– unità di moltiplicazione e accumulazione (MAC)– bus interni multipli per i dati– separazione tra bus di dati e di programma: architettura Harvard– utilizzo di pipeline– modalità di indirizzamento specifiche– fixed o floating point– . . .

• Sono caratterizzati dalla capacità di eseguire pordotti scalari in maniera ottimizzata– filtri, controllori

• Il cambio di contesto può essere lento, le operazioni logiche possono essere molto disefficienti

• Non hanno periferiche a bordo

Processori

DSP vs. microcontrollori

• Ognuno ha vantaggi e svantaggi• I DSP per applicazioni di controllo stanno evolvendo verso

caratteristiche originali dei microcontrollori– periferiche a bordo– cambio di contesto veloce– capacità di manipolare bit

• I microcontrollori stanno evolvendo verso caratteristiche originali dei DSP– unità di moltiplicazione HW– pipeline

Processori

Microcontrolori DSP

• DSP nati per applicazioni embedded– aggiungono periferiche tipiche dei microcontrollori su una base

DSP• Sistemi multiprocessore

– più core logici sullo stesso chip– unità DSP– unità microcontrollore

Processori

Architettura di un MC

A/D RAM ALU

S/H

MPX

(EP)ROM

PWMserialport I/O

eventmanager

interrupt

timers

Processori

Architettura di un MC

Processori

CPU CorePipeline a 4 stadi

Processori

Pipeline

• 4 Stadi– Fetch: caricamento dell’istruzione– Decode: decodifica quale istruzione deve essere eseguita– Execute: esegue l’istruzione calcolando il risultato in un registro– Write: scrive il risultato

• Permette di avere un tempo medio di esecuzione di un ciclo per ogni istruzione invece che quattro

Sequenziale

Pipeline

Fetch Execute WriteDecode

Fetch Execute WriteDecode

Fetch Execute WriteDecode

Fetch Execute WriteDecode

Processori

CPU CoreALU con HWaddizionale

Processori

ALU

• Branch in due cicli• Moltiplicazioni in cinque cicli• Divisioni in 10 cicli• Barrel shifter• Gestione dei loop• Operazioni orientate a bit, byte e word

Processori

Architettura di un MC

Gestioneinterrupt

Processori

Gestione dell’interrupt

• Modalità standard di gestione dell’interrupt– La CPU sospende il programma in esecuzione e salta

all’esecuzione di una routine di servizio dell’interrupt– Lo stato del programma è salvato su uno stack HW– 56 canali di interrupt con 16 livelli di priorità

• Tempo di risposta 3 cicli

Processori

Gestione dell’interrupt

• Sezione per interrupt dalle periferiche (PEC)– triggerato da un interrupt– esegue un trasferimento da una qualsiasi locazione su un registro

associato al canale o viceversa– utilizzato per gestire le periferiche– non richiede salvataggio di stato– 8 canali

Processori

Gestione dell’interrupt

• Interrupt esterni– non esiste un pin dedicato– vari pin sono programmabili come pin di interrupt– i pin sono testati dalla CPU

• alcuni ogni otto cicli (standard)• alcuni ogni ciclo (veloce)

Processori

Architettura di un MC

ConvertitoreA/D

Processori

Conversione A/D

• Un A/D ad approssimazioni successive a 10 bit con S/H• 16 canali in ingresso multiplexati• Varie modalità di controllo della conversione

– a richiesta su un canale (Single Mode)– continuo su un canale (Single Mode Continuous)– a richiesta su un insieme di canali convertiti sequenzialmente (Scan

Mode)– continuo su un insieme di canali convertiti sequenzialmente (Scan

Mode Continuous)– nelle ultime due modalità, si può richiedere la conversione di un

altro canale (Channel Injection Mode)– su lettura del dato convertito ADDAT

Processori

Conversione A/D

Processori

Architettura di un MC

SezioneTimer

Processori

Sezione Timer

• 5 Timer suddivisi su due sezioni• Si possono programmare per eseguire varie funzioni legate al

tempo– generazione di forme d’onda– interrupt periodici– . . .

• Si possono concatenare per realizzare timer più estesi

Processori

Sezione Timer 1

Processori

Architettura di un MC

Interfaccieseriali

Processori

Interfaccie seriali

• Una interfaccia programmabile come sincrona od asincrona– in modalità asincrona, data frame di 8 bit (o 7 bit più bit di parità) o

9 bit (o 8 bit più bit di parità)– in modalità asincrona funzionamento full-duplex– in modalità sincrona funzionamento half-duplex

• Una interfaccia sincrona ad alta velocità– funzionamento sia in full-duplex che in half-duplex– clock interno o generato da un master esterno

Processori

Architettura di un MC

SezionePWM

Processori

Sezione PWM

• Quattro canali PWM– clock base tra 1 e 64 volte il clock di CPU– contatori a 16 bit

• Varie modalità di funzionamento, tra cui allineata o simmetrica

Allineata Simmetrica

Processori

Architettura di un MC

Input captureOutput Compare

Processori

Unità di Input Capture/Output Compare

• Due unità identiche, ognuna di 16 canali• Ogni canale può essere programmato come input o come

output• Quattro timer associati, due per unità• Se il canale è configurato come input, il valore di uno dei timer è

salvato al verificarsi di un evento esterno• Se il canale è configurato come output, un evento viene

generato quando il timer raggiunge il valore progammato nel registro di compare

Processori

Unità CPACOM - Timer

Può contare su eventi esterni

Processori

Unità CPACOM - Capture Mode

Processori

Unità CPACOM - Compare Mode 0 e 1

Nel modo 0 l’uscita non viene pilotata, ma viene generato solo l’interrupt

Processori

Unità CPACOM - Compare Mode 0 e 1

Nel modo 0 l’uscita non viene pilotata, ma viene generato solo l’interrupt

Processori

Unità CPACOM - Compare Mode 2 e 3

Nel modo 2 l’uscita non viene pilotata, ma viene generato solo l’interrupt

Processori

Unità CPACOM - Compare Mode 2 e 3

Nel modo 2 l’uscita non viene pilotata, ma viene generato solo l’interrupt

Processori

Architettura di un MC

ControlloreCAN

Processori

Architettura di un DSP

controlunit

PC

Program(EP)ROM

program bus

DataRAM

16

16shifter

multiplier16

ALU32

32

data bus

Processori

Architettura di un DSP

Processori

Struttura dei BUS

Processori

Struttura della MAC

Arrotondamentoin HW Saturazione

in HW (abil.)

Registri diaccumulazione(4 bit estens.)

Processori

Architettura di un DSPGenerazione degli

indirizzi

Processori

Meccanismi di generazione dell’indirizzo

• Standard• Modulare

– per l’implementazione di buffer circolari– FIR

( ) ( )∑=

− −=n

iin ikuaky

0

anan-1an-2

a1a0

unun-1un-2

u1u0

unun-1un-2

u1u0 un+1

unun-1un-2

u1

anan-1an-2

a1a0

unun-1

u2u1

un+1

nk = 1+= nk

Processori

Benchmark su algoritmi digitali

Processori

DSP microcontrollori

Unità di calcolosu bit

Processori

DSP microcontrollori

Processori

DSP microcontrollori

• Periferiche• PWM• A/D• Interfaccie seriali

• sincrone• asincrone• alta velocità

• Timer• CAPCOM

• encoder to digital• CAN controller

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO

Processori per sistemi di controllo Processori per sistemi di controllo -- finefine

Prof. Carlo RossiDEIS - Università di Bologna

Tel: 051 2093020email: [email protected]