ingegneria e tecnologie dei sistemi di controllo ... · processori i microcontrollori • un...
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
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
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
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
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
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
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
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
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 - 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 DSP
controlunit
PC
Program(EP)ROM
program bus
DataRAM
16
16shifter
multiplier16
ALU32
32
data bus
Processori
Struttura della MAC
Arrotondamentoin HW Saturazione
in HW (abil.)
Registri diaccumulazione(4 bit estens.)
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
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]