SISTEMA DI CONTROLLO A mP

Materie:Tesina
Categoria:Tdp

Voto:

1 (2)
Download:84
Data:11.10.2005
Numero di pagine:9
Formato di file:.doc (Microsoft Word)
Download   Anteprima
sistema-controllo-mp_1.zip (Dimensione: 29.36 Kb)
trucheck.it_sistema-di-controllo-a-mp.doc     167.5 Kb
readme.txt     59 Bytes


Testo

ITIS B.PASCAL
A.S. 2004/2005
IV E ELETTRONICA E TELECOMUNICAZIONI

SISTEMA DI CONTROLLO A SP

Betti Domenico
Franco Alessandro
Iacobucci Riccardo
INDICE
• INTRODUZIONE

• SCHEMA A BLOCCHI
• BLOCCO DI SCRITTURA
• BLOCCO MEMORIA RAM
• BLOCCO D’INDIRIZZAMENTO MEMORIA RAM

• BLOCCO DELLA VISUALIZZAZIONE DEI DATI
• BLOCCO DELLA CPU
• BLOCCO GESTIONE INGRESSI ED USCITE
• SCHEMA ELETTRICO
INTRODUZIONE
Lo scopo di questa esperienza è stato quello di progettare e montare un sistema di controllo a microprocessore ( P), o per meglio dire a ,,controllore, basato sull’ ICU 14500B della Motorola.
Questo sistema di controllo, tramite vari codici operativi, svolge operazioni che permettono di ricevere dati dalle 8 porte d’ingresso, di modificarli, e trasferirli successivamente sulle 8 porte d’uscita.
Tramite un linguaggio di programmazione possiamo controllare le funzioni svolte dal microprocessore.
Dopo aver progettato il sistema, siamo passati al montaggio del suddetto.
Il modo che ci è stato insegnato per far si che il nostro sistema funzioni correttamente, è stato quello di montare volta per volta i vari blocchi, e testare il loro funzionamento singolarmente.
Con questo sistema si riesce più facilmente ad individuare eventuali guasti.
SCHEMA A BLOCCHI

BLOCCO DI SCRITTURA
+ Vcc
DIP – SWITCH 3 3 0
G 1 G 2
Il blocco di scrittura è gestito dall’integrato 74LS244 (buffer), il quale, insieme al dip-swicth ad 8 canali, invia un livello logico alto o basso, che verrà visualizzato con gli otto led.
Il 74LS244 è un buffer non invertente, in quanto il segnale conserva sempre il suo valore logico. Esso spesso viene usato nelle operazioni d’ingresso e di uscita per permettere agli altri dispositivi di continuare il proprio funzionamento; inoltre rafforza i livelli logici alti di valore troppo basso, così come i livelli bassi di valore troppo alto.
Quando gli interruttori del Dip-swicth sono aperti, gli ingressi corrispondenti del buffer si trovano a livello ALTO, questo perché sono dei componenti TTL.
Quando invece, sono chiusi, gli ingressi coinvolti risulteranno collegati a massa.
I livelli logici che si saranno creati, resteranno a disposizione sul bus.
Il bus è un insieme di fili, nel nostro caso 8, il quale trasferisce informazioni di tipo binario a tutti i dispositivi collegati, e abilitati.
Infine ci sono i led i quali ci fanno capire visivamente a che livello logico si trovano i vari fili.
BLOCCO MEMORIA RAM
+ Vcc
17 16 15 14 13 11 10 9
Dip-swicth G1/G2 1/19 R = 2.2 KK
1 2 20 21
1/6 7404 12 18

R = 2.2K2 5 6 7 8
+Vcc
Questo blocco denominato “ Blocco di memoria “ comprende:
- un interruttore, il quale ci permette di scegliere se effettuare operazioni di scrittura o lettura sulla memoria;
- una porta invertente (appartenente all’integrato 7404, useremo solo 1/6 di tale integrato);
- la memoria RAM (6116), come principale integrato del suddetto blocco.
Per poter salvare dei dati nella Ram, bisogna prima scrivere delle istruzioni di otto bit, in codice binario, con l’utilizzo del blocco di scrittura.
Una volta che abbiamo terminato di scrivere, ciò che vogliamo, sulla memoria, per far rimanere in memoria tali istruzioni, dobbiamo premere il pulsante che abbiamo precedentemente collegato al piedino WE ( write enable ) della memoria RAM.
In seguito, per poter far visualizzare ciò che abbiamo scritto, bisognerà agire sull’interruttore portandolo dalla fase di scrittura, alla fase di lettura.
Questo avviene perché abbassando l’interruttore, mandiamo all’ingresso del 7404 un livello logico basso. Tale livello risulterà invertito sul piedino OE ( Output Enable ), il quale è attivo a livello basso. Trovandosi a livello alto ci consente di poter leggere le informazioni contenute nella RAM.
Sulla RAM c’è poi, il piedino CE (Chip Enable), il quale è un piedino di abilitazione che in questo caso è attivo a livello basso, quindi lo abbiamo “forzato” a massa.
Questa è una memoria di tipo statico; infatti se memorizziamo dei bit sulle locazioni della RAM, essi rimarranno memorizzati fino a quando non verranno inseriti altri bit. La cancellazione di tali dati avverrà anche quando dovesse venire a mancare l’alimentazione sul circuito, la memoria si smagnetizzerà e bisognerà riscrivervi di nuovo parole: Questo perché è una memoria RAM ( Random Access Memory ).
La memoria che abbiamo utilizzato per il nostro sistema a microprocessore è la “RAM 6116”.
Essa è composta da 11 linee di indirizzo (da A0 fino a A10), 2 linee di controllo (R/W,OE) ed 8 linee di indirizzo ( che vanno da D0 a D7 ).
Nel nostro caso la memoria ha lo scopo di contenere istruzioni e dati che devono essere elaborati dal NP.
La memoria che abbiamo utilizzato possiede 2048 locazioni di memoria, ognuna delle quali può contenere in genere 1, 2, 4, o 8 bit.
Più sono numerose le locazioni, tanto più saranno numerose le linee di indirizzo.

24 23 22 21 20 19 18 17 16 15 14 13
1 2 3 4 5 6 7 8 9 10 11 12
BLOCCO D’INDIRIZZAMENTO MEMORIA RAM

6 5 6 7 8
6 2 R = 1K
1
7
5 6 7 9
C = 3.3CF
13 12 1110 9 15 14

+VCC 10
+VCC
7 6 4 2 1 9 10 8 16
R = 2.2K

Questo blocco riceve i segnali dal contatore binario 4040, il quale invia impulsi al decoder 9368, che li decodifica in forma binaria.
Ad ognuno dei sette fili che escono dal 9368, corrisponde uno dei sette segmenti del display. Con le combinazioni che inseriremo noi visualizzeremo sul display numeri che andranno dallo 0 al nove e successivamente dalla A alla F; questa è la numerazione esadecimale.
Il contatore 4040 della famiglia C-MOS, dispone di un piedino di clear attivo a livello alto, ed è sincronizzato sul fronte di discesa del clock.
C’ è anche un pulsante di reset il quale ci consente di resettare il conteggio.
BLOCCO DELLA VISUALIZZAZIONE DEI DATI

+Vcc 20 10
R = 2K
G1 1 G2 19

1 6 1 2
17 16 15 14 13 11 10 9

R = 2.2KR 20
+Vcc
Il blocco della visualizzazione dei dati è costituito da 8 led, di cui:
- 4 rossi (corrispondono alle istruzioni);
- 1 giallo ( che noi praticamente non utilizzeremo );
- 3 verdi (corrispondono alla selezione);
Suddetto blocco permette di visualizzare i segnali che arrivano dal buffer, quando il circuito è in fase di scrittura, e quelli che arrivano dalla RAM, quando è un fase di lettura.
Questi segnali arrivano ai led grazie ad un bus al quale è collegato a diversi dispositivi integrati.
Agli anodi dei led arrivano i segnali uscenti del buffer mentre i catodi sono collegati a delle resistenze ( R = 2.2KRR) collegate tutte a massa.
BLOCCO DELLA CPU
9 7 6 5 4 3 2 1 +Vcc
14

8
7 6 5 4
11 12 13 14 15
5 6 7 3 4
2 3

1 15 14 13 12 11 10 9 4
Integrato principale di questo blocco, e cuore di tutto il circuito, è il Controllore ICU 14500 B; questo perché esso esegue le operazioni che è in grado di eseguire, ma nella sequenza che noi vogliamo .
Esso, oltre a permettere lo scambio delle istruzioni con la RAM, effettua anche scambi di dati con il 4512 e con il 4099, questo grazie al segnale di clock, che abilita il primo a livello alto e l’altro a livello basso o viceversa.
Tutto questo avviene grazie alla porta invertente collegata tra il piedino DIS (del 4512) e il piedino WD (del 4099).
La CPU che abbiamo utilizzato possiede ben 4 piedini fondamentali, in essi passano le istruzioni che sono già state memorizzate dalla memoria e che la gestiscono.
BLOCCO DELLA GESTIONE DEGLI INGRESSI E DELLE USCITE
9 7 6 5 4 3 2 1 +Vcc
14

8
7 6 5 4
11 12 13 14 15
5 6 7 3 4
2 3

1 15 14 13 12 11 10 9 4
Questo blocco, ha come fondamentali componenti un multiplexer (4512), ed un demultiplexer (4099).
Con il multiplexer, tramite i piedini di selezione, possiamo selezionare i vari ingressi a nostra scelta; con il demultiplexer, invece, possiamo mandare, su di una uscita a nostra scelta, il dato che si trova all’ingresso.
Inoltre c’è anche un bus per le istruzioni (ossia i segnali che escono dal buffer e arrivano ai vari led, in questo caso usiamo solo i 3 verdi).
Per poter effettuare la selezione, bisogna digitare tramite il dip-swicth delle combinazioni di tipo binario.
Il 4099, ha uno scambio di dati con il 4512. Inoltre, legge quello che c’è nella CPU tramite un piedino chiamato DATA ( il piedino 3 ).

Esempio