TC 8253TC 8253
TIMER COUNTERTIMER COUNTER
Prof. Marco Solarino
2
CHE COSA E'CHE COSA E'
Il TC 8253 è un temporizzatore/contatore
(Timer/Counter) programmabile.
Viene utilizzato all'interno del Personal
Computer nella gestione dell’orologio,
dell'altoparlante e del refresh delle RAM
dinamiche.
3
COSA CONTIENECOSA CONTIENE
CH0
CH2
CH1
RE
GIS
TR
OD
IC
ON
TO
LLO
BUS
DATI
INTERNO
8
8
88
8
D0 - D7
TC 8253CLOCK 0 (CK0)GATE 0 (G0)USCITA 0 (U0)
GATE 1 (G1)
GATE 2 (G2)
CLOCK 1 (CK1)
USCITA 1 (U1)
USCITA 2 (U2)
CLOCK 2 (CK2)
4
COME SI PROGRAMMACOME SI PROGRAMMA
Ogni volta che vogliamo utilizzare un canale del TC bisogna inviare una parola di 8 bit al
registro di controllo, che stabilisce come funzionerà il canale interessato e che tipo di
operazione si vuole fare.
Ciascun canale, il cui contenuto può essere letto o scritto, può funzionare in sei diversi
modi di funzionamento che vanno specificati nella parola di controllo.
5
STRUTTURA DEL CANALESTRUTTURA DEL CANALE
CONTATORE A 16 BIT(CONTEGGIO IN DISCESA)
G U
CK
MSB LSB
8 8
LATCH
6
MODI DI FUNZIONAMENTOMODI DI FUNZIONAMENTO(MODO 0 - Interruzione a fine conteggio)(MODO 0 - Interruzione a fine conteggio)
Modalità in cui l’uscita U è bassa fino a quando il conteggio è diverso da zero.
Quando il conteggio è zero l’uscita U va alta e vi rimane fino a nuovo conteggio o
riprogrammazione.
L’ingresso di gate controlla il conteggio: G=1 consente il conteggio, mentre G=0 lo blocca.
7
TEMPORIZZAZIONI MODO 0TEMPORIZZAZIONI MODO 0
8
MODI DI FUNZIONAMENTOMODI DI FUNZIONAMENTO(MODO 1 – Impulso singolo programmabile)(MODO 1 – Impulso singolo programmabile)
Modalità in cui l’uscita U è inizialmente alta.
Va bassa all’inizio del conteggio, provocato da un fronte di salita sul gate G, e torna alta al
termine del conteggio (impulso basso di durata stabilita dal valore iniziale del contatore).
Un nuovo fronte di salita su G provoca la ripartenza del contatore, e quindi il
prolungamento dell’impulso.
9
TEMPORIZZAZIONI MODO 1TEMPORIZZAZIONI MODO 1
10
MODI DI FUNZIONAMENTOMODI DI FUNZIONAMENTO(MODO 2 – Generatore di impulsi regolari)(MODO 2 – Generatore di impulsi regolari)
Modalità in cui l’uscita U è inizialmente alta.
Il conteggio può partire se G=1. G=0 ferma il conteggio, e quando G torna a 1 il conteggio
riparte daccapo.
L’uscita U va bassa per un periodo di clock ogni N conteggi, dove N è il valore caricato nel contatore, e poi torna alta, fornendo così
una sequenza di impulsi bassi regolari.
11
TEMPORIZZAZIONI MODO 2TEMPORIZZAZIONI MODO 2
12
MODI DI FUNZIONAMENTOMODI DI FUNZIONAMENTO(MODO 3 – Generatore di onda quadra)(MODO 3 – Generatore di onda quadra)
Modalità in cui in uscita è possibile ottenere un’onda quadra di frequenza stabilita dal
numero caricato nel contatore:
fu = fck / N
Dove fu è la frequenza di uscita, fck è la frequenza di clock (1,19318 MHz) e N è il
numero inserito nel contatore.
Se G=1, in uscita c’è l’onda quadra, se G=0, allora U=1.
13
TEMPORIZZAZIONI MODO 3TEMPORIZZAZIONI MODO 3
14
MODI DI FUNZIONAMENTOMODI DI FUNZIONAMENTO(MODO 4 – Strobe innescato via software)(MODO 4 – Strobe innescato via software)
Modalità in cui l’uscita U è alta fino a quando il conteggio è diverso da zero.
Quando il conteggio è zero l’uscita U va bassa per un ciclo di clock (strobe), poi torna
alta e vi rimane fino a nuovo conteggio o riprogrammazione.
L’ingresso di gate controlla il conteggio: G=1 consente il conteggio, mentre G=0 lo blocca.
15
TEMPORIZZAZIONI MODO 4TEMPORIZZAZIONI MODO 4
16
MODI DI FUNZIONAMENTOMODI DI FUNZIONAMENTO(MODO 5 – Strobe innescato via hardware)(MODO 5 – Strobe innescato via hardware)
Modalità in cui l’uscita U è inizialmente alta, e si comporta come nel modo 4.
L’ingresso di gate si comporta come nel modo 1, cioè un fronte di salita su G provoca
l’avvio o il riavvio del contatore.
17
TEMPORIZZAZIONI MODO 5TEMPORIZZAZIONI MODO 5
18
LA PAROLA DI CONTROLLOLA PAROLA DI CONTROLLO
D7 D6 D5 D4 D3 D2 D1 D0
00 = CH001 = CH110 = CH211 = ILLEGALE
SCELTA CANALE
00 = MEMORIZZAZIONE01 = LETT./SCR. LSB10 = LETT./SCR. MSB11 = LETT./SCR. COMPLETA (PRIMA LSB POI MSB)
OPERAZIONE
MODO DI FUNZIONAMENTO000 = MODO 0001 = MODO 1X10 = MODO 2X11 = MODO 3100 = MODO 4101 = MODO 5
TIPO CONTEGGIO0 = BIN1 = BCD
19
GLI INDIRIZZIGLI INDIRIZZI
In ogni TC i canali e il registro di controllo sono individuati da 4 indirizzi di Input/Output.
Nel caso del dispositivo contenuto nel PC tali indirizzi sono i seguenti:
CH0 => 40H (0x40)
CH1 => 41H (0x41)
CH2 => 42H (0x42)
Controllo => 43H (0x43)
20
PROGRAMMAZIONEPROGRAMMAZIONELa programmazione del TC viene effettuata dal BIOS del sistema all'avvio, configurando i canali
0 e 1 come segue:CH0 Modo 3 (Generatore di onda quadra) e
contatore impostato a 0. In tal modo si ottiene un’onda quadra di 18,2 Hz che invia richieste di interrupt su IRQ0 ogni 55 millisecondi.
CH1 Modo 2 (Generatore di impulsi regolari) e contatore impostato a 18. In tal modo ogni 15 microsecondi vengono attivati i circuiti di refresh delle RAM dinamiche.
21
E IL CANALE 2?E IL CANALE 2?
CH2 lo utilizzeremo noi per gestire l’altoparlante interno del PC, ma
questo lo vedremo nella prossima presentazione!