sistema di controllo - istituzioni per categorie | … · 2004-03-25 · 8086/8088 5 processore...

54
SISTEMA DI CONTROLLO Circuito di controllo trasduttori attuatori

Upload: lamanh

Post on 14-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

SISTEMA DI CONTROLLO

Circuito dicontrollo

trasduttori attuatori

SEGNALE DIGITALE E ANALOGICO

• SEGNALE DI TIPO ANALOGICOl'informazione è contenuta nei valori istantanei del segnale

• SEGNALE DI TIPO DIGITALEl'informazione è di tipo binario e quindi caratterizzata da una banda discreta di valori

DISPOSITIVI IN LOGICA CABLATA

UN PROBLEMA DI TIPO LOGICO PUO' ESSERE RISOLTO :

• UTILIZZANDO COMPONENTI DIGITALI DI TIPO COMBINATORIO O SEQUENZIALE TRA LORO OPPORTUNAMENTE COLLEGATI (LOGICA CABLATA)

DISPOSITIVI IN LOGICA PROGRAMMATA

UN PROBLEMA DI TIPO LOGICO PUO' ESSERE RISOLTO :

• RICORRENDO A DISPOSITIVI CHE VENGONO OPPORTUNAMENTE PROGRAMMATI PER SVOLGERE QUELLA DETERMINATA FUNZIONE (LOGICA PROGRAMMATA)

SISTEMA IN LOGICA PROGRAMMATA

CONSIDERAZIONI

IL SISTEMA COMPRENDE:• UN GENERATORE DI CLOCK

• UN CONTATORE

• UNA EPROM PROGRAMMATA

PRINCIPIO DI FUNZIONAMENTO

• NELLA EPROM VENGONO MEMORIZZATI I BIT CORRISPONDENTI ALLO STATO DEI LED CHE SI VUOLE ACCENDERE

• IL CONTATORE PUNTA ALLE PRIME 16 LOCAZIONI DI MEMORIA CIASCUNA DI 8 BIT

• VENGONO INDIRIZZATE CELLE CONSEGUENTI GRAZIE AL SEGNALE DI CLOCK APPLICATO AL CONTATORE

• MODIFICANDO IL CONTENUTO DELLA EPROM (IL SOFTWARE) CAMBIERA’ LA SEQUENZA DI ACCENSIONE DEI LED E QUESTO SENZA MODIFICARE L’HARDWARE

MICROPROCESSORE :campi di appicazione

• ELETTRONICA DI CONSUMO– CALCOLATRICI, OROLOGI, VIDEOGIOCHI, APP.

FOTOGRAFICHE

• INDUSTRIA– COMPUTER, ROBOTICA , TELEFONIA, CONTROLLO

PROCESSI, MACCHINE A CONTROLLO NUMERICO

• STRUMENTAZIONE– STRUM. LABORATORIO, ELETTROMEDICALI, SISTEMI

PUNTAMENTO D'ARMA E SICUREZZA

• COMMERCIO– FOTOCOPIATRICI, FAX, TERMINALI RETI, APP.

BANCARIE,DISTRIBUTORI AUTOMATICI

SCHEDA A MICROPROCESSORE

DISPOSITIVIIN/OUT CPU MEMORIA

BUS DATI

BUS INDIRIZZI

BUS CONTROLLI

IL MODELLO DI VON NEUMANN

LA STRUTTURA A BUS

IL COMPUTER E’ CARATTERIZZATO DALLA PRESENZA DI TRE TIPI DI BUS:

• IL BUS DATI• IL BUS INDIRIZZI• IL BUS CONTROLLI

MICROPROCESSORE:IL BUS DATI

• attraverso il bus dati scorrono le informazioni che possono essere dati da processare o istruzioni di programma.

IL BUS DATI

IL BUS DATI

MICROPROCESSORE:IL BUS INDIRIZZI

• è un collegamento unidirezionale dal microprocessore alle altre unità del sistema che permette la comunicazione dal o verso il micro.

IL BUS INDIRIZZI

Si tratta del Bus Address (o Bus degli Indirizzi); la figura seguente mette in evidenzia che questo bus, a differenza del bus dati è monodirezionale; d’alto canto il suo compito è limitato a individuare chi deve intervenire in un rapporto di scarico… ed è la CPU che impartisce l’ordine, per cui esso (o meglio, il numero che corrisponde all’oggetto che deve intervenire) potrà solo uscire dal processore.

La cosa non ha nulla di magico: insieme al bus address, si fa pervenire ad entrambe un filo di controllo. Se il livello presente su di esso è 1 sarà la memoria ad intervenire, mentre se 0 sarà il dispositivo di I/O.

Il bus address è nato per indirizzare (come fa capire il suo nome…) cioè per consentire al processore di chiamare in casa una ben precisa locazione di memoria, ma anche una determinata periferica; il numero dell’indirizzo,posto sul bus, arriva di norma sia alla prima che alla seconda, ma solo una delle due risponderà al processore! Come è possibile?

IL BUS INDIRIZZI

IL BUS INDIRIZZI

MICROPROCESSORE:IL BUS CONTROLLI

• è l'insieme di conduttori che collegano i vari blocchi che compongono il microprocessore e permettono di controllare la funzionalità di ciascun blocco

LE LINEE DI CONTROLLO: IL CLOCKLa più significativa è la linea di CLK, sulla quale è presente un’onda quadra (clock) la cui frequenza dà la vita al processore; la spinta tecnologica ha portato a traguardi assolutamente straordinari: la velocità base dei processori ha superato il GigaHerz e chissà dove ci fermeremo. La tabella mostra l’evoluzione dei processori da questo punto di vita:

2200Pentium IV

800Pentium III

450Pentium II

233Pentium

10080486

3380386

2580286

1080186/80188

58086/8088

Clock Max (in Clock Max (in MHzMHz))ProcessoreProcessore

L’ARCHITETTURA DEI MICROPROCESSORI

FC-PGA2 (Flip-Chip Pin Grid Array 2)478Pentium IVFC-PGA (Flip-Chip Pin Grid Array)370Pentium III

BGA61 (Ball Grid Array)370Pentium IISPGA (Staggered Pin Grid Array)296Pentium

PGA (Pin Grid Array)16880486DX-PGA (Pin Grid Array)13280386

PGA (Pin Grid Array)PLLC (Plastic Leaded Chip Carrier)

6880286PGA (Pin Grid Array)6880186/80188

DIP (Dual InLine Package)408086/8088

Tipo di contenitoreTipo di contenitoreNumeroNumeropiedinipiedini

ProcessoreProcessore

L’architettura dei processori si è evoluta enormemente nel tempo e, sebbene in misura superficiale, anche la loro dimensione esterna e il loro numero di piedini può, in qualche modo, esprimere questa evoluzione:

TABELLA RIASSUNTIVA CARATTERISTICHE PRINCIPALI DEI MICRO-P.

Processore anno Numero Register Data Bus Address Memoria Bus Speed Clock Max Num. Piedini Contenitore MicronTransistor Size Size Bus Size Max (in MHz) (in MHz)

8080 1970 29.000 8 bit 8 bit 20 bit 1 Mbytes 5 - 8 5 - 8 40 DIP 38085 1978 29.000 16 bit 16 bit 20 bit 1 Mbytes 5 - 10 5 - 10 40 DIP 3

80183 1982 / 8 bit 8 bit 24 bit 18 Mbytes 5 - 10 5 - 10 68 PGA 380188 1982 / 16 bit 16 bit 24 bit 18 Mbytes 6 - 10 6 - 10 68 PGA 380286 1982 134.000 16 bit 16 bit 32 bit 4 Gbytes 6 - 10 6 - 10 68 PGA -PLCC 1,5

80388SX 1985 275.000 32 bit 16 bit 32 bit 4 Gbytes 18 - 33 18 - 33 132 DX. PGA 1,580388DX 1988 275.000 32 bit 32 bit 32 bit 4 Gbytes 18 - 40 18 - 40 132 DX. PGA 1,580480DX 1989 1.200.000 32 bit 32 bit 32 bit 4 Gbytes 33 25 - 50 168 PGA 180480SX 1991 1.185.000 32 bit 32 bit 32 bit 4 Gbytes 26 15 - 33 186 PQFP 1

80486DX2 1992 1.200.000 32 bit 32 bit 32 bit 4 Gbytes 25 - 33 50 - 66 168 PGA 0,880486DX4 1994 1.600.000 32 bit 32 bit 32 bit 4 Gbytes 25 - 33 75 - 100 168 PGA 0,8

Pentium 1993 3.100.000 32 bit 64 bit 32 bit 4 Gbytes 88 60 - 100 273 PGA 0,81996 3.300.000 32 bit 64 bit 32 bit 4 Gbytes 88 120 - 200 273 PGA 0,35

Pentium Pro 1995 5.500.000 32 bit 64 bit 36 bit 64 Gbytes 88 150 - 200 296 SPGA 0,6Pentium MMX 1997 4.500.000 32 bit 64 bit 32 bit 4 Gbytes 88 188 - 233 321 SPGA 0,35

Pentium II 1997 7.500.000 32 bit 64 bit 36 bit 64 Gbytes 88 233 - 300 370 BGA615 0,351998 7.500.000 32 bit 64 bit 36 bit 64 Gbytes 100 200 - 400 370 BGA615 0,25

Celeron 1999 7.500.000 32 bit 64 bit 36 bit 64 Gbytes 88 200 - 533 370 PGA370 0,251999 9.500.000 32 bit 64 bit 36 bit 64 Gbytes 100 - 133 450 - 500 370 FC - PGA 0,25

Pentium III 1999 28.000.000 32 bit 64 bit 36 bit 64 Gbytes 100 - 133 533 - 1130 370 FC - PGA 0,182001 44.000.000 32 bit 64 bit 36 bit 64 Gbytes 133 1000 - 1400 370 FC - PGA 0,13

Celeron Sse 2000 28.000.000 32 bit 64 bit 36 bit 64 Gbytes 88 533 - 1100 370 FC - PGA 0,182002 44.000.000 32 bit 64 bit 36 bit 64 Gbytes 100 1000 - 1300 370 FC - PGA 0,13

Pentium IV 2001 42.000.000 32 bit 64 bit 36 bit 64 Gbytes 368 1300 - 2000 423 FC - PGA2 0,182002 55.000.000 32 bit 64 bit 36 bit 64 Gbytes 368 1500 - 2200 478 FC - PGA2 0,13

IL MICROPROCESSORE Z80

A11

A15CLKD4

D6Vcc

D2

D1INTNMI

HALTMREQIORQ

D7D0

D3D5

A12A13A14

A10A9

A9A8

A6A5A4A3A2A1A0

GNDRFSHM1

RESET

A7

BUSREQWAIT

BUSACKWRRD

MICROZ80

MICROPROCESSORE Z80: blocchi fondamentali

bus dati interno

bufferdati

A.L.U. accum.decod.istruz.

logica di controlloe temporizzazione

reg.interni

cont.prog.

stack poin.

reg.ind.mem.

buffer

bus dati

bus indirizzi

bus controlli

flag

reg.istruz.

CLOCK

A.L.U.

A.L.U. è l'acronimo di Unita' Aritmetico Logica

• questa unità esegue operazioni aritmetiche e logiche su uno o due operandi contenuti temporaneamente nei registri

• l' ALU è collegata direttamente sia al registro accumulatore che a quello di stato (flag).

REGISTRI

• Un registro è costituito da un insieme di flip-flop dove è possibile memorizzare temporaneamente un dato.

• i registri più importanti sono: l'accumulatore,quello di stato,il contatore programma, il registro istruzioni,quello di indirizzi di memoria , lo stack pointer e i registri di uso generale.

• Ciascun registro ha una capacità di 8 o 16 bit.

LOGICA DI CONTROLLO

• Tale blocco permette a tutte le parti del micro di lavorare nella corretta sequenza temporale.

• La funzione principale è quella di decodificare ciascuna istruzione di programma ed emettere i segnali di controllo per eseguire tale istruzione.

• Da essa dipartono tutti i segnali del bus di controllo interno ed esterno.

IL MICRO Z80

LINEE CONTROLLO SISTEMA

• M1• MREQ• IOREQ• RD• WR• RFSH

LINEE CONTROLLO CPU

• HALT• WAIT• NMI• INT• RESET

LINEE CONTROLLO BUS

• BUSREQ• BUSACK

TEMPORIZZAZIONI

C1 C2XTAL

microprocessore

TEMPORIZZAZIONI

• L' ESECUZIONE DI UNA ISTRUZIONE PREVEDE DUE FASI:

– FASE DI FETCH– FASE DI EXECUTE

• IL CICLO DI ISTRUZIONE E' COSTITUITO DA UNA SEQUENZA DI PASSI DETTA CICLO MACCHINA

CICLI DI LETTURA CODICE OP.

CICLI DI LETTURA E SCRITTURA

MICROPROCESSORE :set di istruzioni

• UNA ISTRUZIONE E' COSTITUITA DA UN GRUPPO DI CARATTERI CHE DETERMINANO UNA SPECIFICA OPERAZIONE.

• CIASCUNA ISTRUZIONE PUO' ESSERE ESPRESSA IN VARIE FORME :

– IN CODICE MACCHINA (codice oggetto)

– IN CODICE ASSEMBLER (codice sorgente)

STRUTTURA DI UNA ISTRUZIONE

COD .OP

COD .OP

COD .OP

DATO/COD.DISP

DATO/IND DATO/IND

ESEMPIO DI ISTRUZIONI

• 3C INC A incrementa di 1 il contenuto dell'accumulatore

• 3E(B2) LD A,dato carica nell'accumulatore il dato b2

• C3(B2)(B3) JP addr salto all'indirizzo di memoria b3b2

MICROPROCESSORE : istruzioni fondamentali

• TRASFERIMENTO DATI

• ARITMETICO- LOGICHE

• SALTO CHIAMATA E RITORNO

• MANIPOLAZIONE DEI BIT

• ROTAZIONE E SCORRIMENTO

• DI I/O E CONTROLLO MACCHINA

UN SISTEMA MINIMO A MICROPROCESSORE

ESSO COMPRENDE:

• UN ALIMENTATORE• UN CLOCK• UNA MEMORIA EPROM• UNA PORTA D’INGRESSO• UNA PORTA DI USCITA

D0D7

A0A14A15

• NELLA EPROM ( 27C256 A 8 BIT DI 32K) SI SUPPONEMEMORIZZATO IL PROGRAMMA DA SVOLGERE. ESSAE’ COLLEGATA AL BUS DATI, INDIRIZZI NONCHE’ AIPIEDINI DI CONTROLLO MEMRQ E RD

• LA PORTA DI USCITA (74HC374 COSTITUITO DA 8 FF TIPOD PET) E’ COLLEGATA AL BUS DATI ED AI PIEDINI DICONTROLLO IORQ E WR

• LA PORTA DI INGRESSO (74HC244 COSTITUITO DA 8BUFFER DRIVER CON ENABLE) E’ COLLEGATA AL BUSDATI ED AI PIEDINI DI CONTROLLO IORQ E RD

• IL CIRCUITO RC COLLEGATO AL RESET HA LAFUNZIONE DI RESETTARE IL MICROPROCESSOREALL’ATTO DELL’ACCENSIONE

COMPONENTI HARDWARE

PRINCIPIO DI FUNZIONAMENTO

SUPPONIAMO CHE DEBBA ESSERE ESEGUITO ILSEGUENTE PROGRAMMA:

CODICE ASSEMBLER CODICE ESADECIMALE• LD A,0F HEX 3E 0F• OUT (00HEX), A D3 00

• LA PRIMA ISTRUZIONE CARICA NELL’ACCUMULATOREIL DATO ESADECIMALE 0F

• LA SECONDA ISTRUZIONE TRASFERISCE IL CONTENUTODELL’ACCUMULATORE SULLA PORTA DI USCITA

PRINCIPIO DI FUNZIONAMENTO

• ALL’ATTO DELL’ACCENSIONE IL RESET AUTOMATICO INDIRIZZAIL PC SULLA LOCAZIONE 0000HEX DELLA EPROM

• SUCCESSIVAMENTE I PIEDINI MEMRQ E RD VANNO BASSI E ILCONTENUTO DELLA MEMORIA VIENE TRASFERITO AL MICRO

• IL MICRO INTERPRETA IL CODICE OPERATIVO E CARICA IL BYTEDELLA LOCAZIONE DI MEMORIA 0001HEX NELL’ACCUMULATORE

• IL PC PUNTA ORA ALLA LOCAZIONE 0002HEX; IL CONTENUTO DIQUESTA (D3) VIENE TRASFERITO NEL MICRO E INTERPRETATOCOME UN TRASFERIMENTO DEL CONTENUTO DELL’ ACCUMU--LATORE NELLA PORTA DI USCITA DI INDIRIZZO 00

• A TALE SCOPO VENGONO ATTIVATI I PIEDINI IORQ E WR; ILCONTENUTO DELL’ACCUMULATORE VIENE POSTO SUL BUS DATIE TRASFERITO IN USCITA

PROGRAMMA DI I/O

NOTE:• QUANDO SI ESEGUE UN PROGRAMMA

CONVIENE INIZIALMENTE TRACCIARE IL DIAGRAMMA DI FLUSSO CHE RIASSUME LE OPERAZIONI LOGICHE CHE BISOGNA SVOLGERE

• SUCCESSIVAMENTE SI TRASCRIVE IL PROGRAMMA ASSEMBLER E OVE NECESSARIO QUELLO IN CODICE MACCHINA

IL DIAGRAMMA DI FLUSSO

START

LEGGI L’INGRESSO

INPUT=00

ACCENDI I LED0-2-4-6

ACCENDI I LED0-1-2-3

NO SI

IL PROGRAMMA ASSEMBLER

START: IN A,(00H) LEGGI LA PORTA DI INGRESSOCP 00H CONFRONTA CON 00HJP Z,P1 SALTA A P1 SE E’ 00HLD A,AAH CARICA L’ACCUMULATORE CON AAOUT (00H),A SCARICA IL CONTENUTO SULLA PORTA 00JP START ESEGUI UNA NUOVA LETTURA

P1: LD A,F0H CARICA L’ACCUMULATORE CON F0OUT (00H),A SCARICA IL CONTENUTO SULLA PORTA 00JP START RITORNA ALL’INIZIO

IL FOGLIO ASSEMBLER

DB00FE00CA0E003EAAD300C300003EF0D300C30000

ORGANIZZAZIONE DELLA MEMORIA

IN UN SISTEMA A MICROPROCESSORE POSSONO COESISTERE:

• UNA MEMORIA EPROM NON VOLATILE DOVE VIENE CONSERVATO IL PROGRAMMA PRINCIPALE E QUELLO DI GESTIONE DELLE PERIFERICHE• UNA MEMORIA RAM VOLATILE DOVE VENGONO SCRITTI I DATI O EVENTUALI PROGRAMMI TEMPORANEI

COLLEGAMENTI

A0-A12

A13

D0-D7

A13

A13

OSSERVAZIONI

• LE DUE MEMORIE HANNO IN QUESTO CASO LA STESSA CAPACITA’ PARI A 8Kbytes

• I PIEDINI DI CONTROLLO SONO GLI STESSI SOLO CHE PER LA RAM E’ UTILIZZATA ANCHE LA LINEA WR

• PER INDIRIZZARE 8192 CELLE DA 8BIT SONO NECESSARI 13 PIEDINI (A0-A12)

• IL PIEDINO A13 VIENE UTILIZZATO PER SELEZIONARE LA EPROM (A13=0) O LA RAM (A13=1)

INDIRIZZI

IN QUESTO MODO :• ALLA EPROM COMPETONO GLI INDIRIZZI DI

CELLA COMPRESI TRA

0000H-1FFFH

• ALLA RAM COMPETONO GLI INDIRIZZI DI CELLA COMPRESI TRA

2000H-3FFFH

MAPPA DELLA MEMORIA

EPROM 8K*8

RAM 8K*8

0000H

1FFFH2000H

3FFFH4000H

FFFFH