tc 8253 timer counter prof. marco solarino. 2 che cosa e' il tc 8253 è un...

21
TC 8253 TC 8253 TIMER COUNTER TIMER COUNTER Prof. Marco Solarino

Upload: arabella-pinna

Post on 02-May-2015

242 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

TC 8253TC 8253

TIMER COUNTERTIMER COUNTER

Prof. Marco Solarino

Page 2: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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.

Page 3: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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)

Page 4: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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.

Page 5: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

5

STRUTTURA DEL CANALESTRUTTURA DEL CANALE

CONTATORE A 16 BIT(CONTEGGIO IN DISCESA)

G U

CK

MSB LSB

8 8

LATCH

Page 6: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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.

Page 7: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

7

TEMPORIZZAZIONI MODO 0TEMPORIZZAZIONI MODO 0

Page 8: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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.

Page 9: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

9

TEMPORIZZAZIONI MODO 1TEMPORIZZAZIONI MODO 1

Page 10: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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.

Page 11: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

11

TEMPORIZZAZIONI MODO 2TEMPORIZZAZIONI MODO 2

Page 12: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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.

Page 13: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

13

TEMPORIZZAZIONI MODO 3TEMPORIZZAZIONI MODO 3

Page 14: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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.

Page 15: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

15

TEMPORIZZAZIONI MODO 4TEMPORIZZAZIONI MODO 4

Page 16: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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.

Page 17: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

17

TEMPORIZZAZIONI MODO 5TEMPORIZZAZIONI MODO 5

Page 18: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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

Page 19: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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)

Page 20: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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.

Page 21: TC 8253 TIMER COUNTER Prof. Marco Solarino. 2 CHE COSA E' Il TC 8253 è un temporizzatore/contatore (Timer/Counter) programmabile. Viene utilizzato all'interno

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!