Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoΚλυμένη Μαυρίδης Modificato 6 anni fa
1
Introduzione L’8254 è un interval timer event/counter, progettato per risolvere i problemi del controllo del timing, comuni ad ogni microcomputer. E’ costituito da da 3 contatori indipendenti da 16 bit, che possono essere programmati dal sistema software in 6 modi di operare. Il data sheet completo è reperibile al giovedì 29 novembre 2018
2
Funzioni implementabili con 8254
Generazione di un ritardo Generazione di un’onda generica Generazione del “real time clock” Contatore di eventi giovedì 29 novembre 2018
3
Pinout 8254 D7 Vcc D6 WR D5 RD D4 CS D3 A0 D2 A1 D1 CLK 2 D0 OUT 2
GATE 2 OUT 0 CLK 1 GATE 0 OUT 1 GND GATE1 giovedì 29 novembre 2018
4
Modalità I tre contatori di 16 bit dell’8254 possono essere programmati tramite la Control Word in 5 modi di operare. Diamo ora una breve rassegna di tali modalità. Per il modo 0 e 1 verrà dettagliato il modo di interpretarne il timing, per gli altri modi si invita lo studente a derivarli analizzando il timing giovedì 29 novembre 2018
5
Modo 0 Il Modo 0 è usato in ogni tipologia di conteggio, ma in particolare per contare eventi. Dopo che la Control Word è stata scritta il segnale di OUT è posto basso e rimarrà basso fino alla fine del conteggio. giovedì 29 novembre 2018
6
Modo 0 (Caso a: gate sempre alto)
fronte clk che inizia il conteggio fronte clk che imposta il modo imposto il valore iniziale giovedì 29 novembre 2018
7
Modo 0 (caso b: gate abbassato )
mentre il gate è basso il conteggio è sospeso giovedì 29 novembre 2018
8
Modo 0 (caso c:conteggio reinizializzato)
restart del counter quando arriverà a zero giovedì 29 novembre 2018
9
Modo 1 Il Modo 1 è usato per generare il one_shot_pulse.
OUT è inizializzato alto. OUT andrà basso al verificarsi di un Trigger; al termine del conteggio OUT ritornerà alto. giovedì 29 novembre 2018
10
Modo 1 (caso a) impulsi di trigger del conteggio
giovedì 29 novembre 2018
11
Modo 1 (caso b) impulsi di triggerdel conteggio,
il conteggio continua poiché il trigger è giunto prima di terminare il conteggio giovedì 29 novembre 2018
12
Modo 1(caso c: modificazione del valore di inizio dopo il retrigger)
Modifica del valore impulsi di trigger del conteggio giovedì 29 novembre 2018
13
Modo 2 Il modo 2 fa si che il contatore funzioni come un divisore.
Tale modo è utilizzato per generare l’interrupt per tempo reale di clock (orologio del sistema). giovedì 29 novembre 2018
14
Modo 2 (Caso a) giovedì 29 novembre 2018
15
Modo 2 (caso b) giovedì 29 novembre 2018
16
Modo 2 (caso c) giovedì 29 novembre 2018
17
Modo 3 Il modo 3 è tipicamente usato per la generazione di onde quadre. E’ simile al modo 2 eccetto per il ciclo dell’OUT. OUT viene inizializzato alto. Quando il conteggio del contatore è giunto alla metà del valore iniziale, OUT viene posto basso per tutta la successiva metà del conteggio. giovedì 29 novembre 2018
18
Modo 3 (caso a) giovedì 29 novembre 2018
19
Modo 3 (caso b) giovedì 29 novembre 2018
20
Modo 3 (caso c) giovedì 29 novembre 2018
21
Modo 4 OUT è inizializzato alto
Quando il conteggio el contatore raggiunge lo zero, OUT va basso per un impulso di CLK e poi ritorna subito alto. giovedì 29 novembre 2018
22
Modo 4 (caso a) giovedì 29 novembre 2018
23
Modo 4 (caso b) giovedì 29 novembre 2018
24
Modo 4 (caso c) giovedì 29 novembre 2018
25
Modo 5 OUT è inizializzato alto.
Il conteggio è attivato da un Trigger. Quando il conteggio è terminato OUT va basso per la durata di un Impulso di CLK per poi tornare subito di nuovo alto. giovedì 29 novembre 2018
26
Modo 5 (caso a) giovedì 29 novembre 2018
27
Modo 5 (caso b) giovedì 29 novembre 2018
28
Modo 5 (caso c) giovedì 29 novembre 2018
29
Block Diagram Data Counter Bus Buffer Read Write 1 Logic Control Word
Register Counter 1 2 8 CLK 0 GATE 0 OUT 0 CLK 1 GATE 1 OUT 1 CLK 2 GATE 2 OUT 2 RD WR A0 A1 CS D7- D0 giovedì 29 novembre 2018
30
Struttura di un contatore
La Control Word Register non appartiene a un contatore, ma ne definisce il modo Struttura di un contatore CE CRL CRM OLL OLM Control Word Register Status OUT n GATE n CLK n Bus interno Logic giovedì 29 novembre 2018
31
Status Register Lo status register, quando è stato caricato, contiene:
CE CRL CRM OLL OLM Control Word Register Status OUT n GATE n CLK n Bus interno Logic Il contenuto corrente della Control Word Register. Lo stato dell’ouput del Contatore. Lo stato del Null Counter Flag. giovedì 29 novembre 2018
32
CE - Down Conter Nella figura il contatore è indicato con l’etichetta CE (Counting Element). Si tratta di un down counter presettabile sincrono di 16 bit. CE CRL CRM OLL OLM Control Word Register Status OUT n GATE n CLK n Bus interno Logic giovedì 29 novembre 2018
33
Output Latch (OL) OLM e OLL sono due latch di 8 bit di Output
Contengono il valore corrente del conteggio del contatore a cui appartengono. CE CRL CRM OLL OLM Control Word Register Status OUT n GATE n CLK n Bus interno Logic giovedì 29 novembre 2018
34
Counter Register CRM e CRL (counter register) sono due registri di 8 bit. Normalmente sono, entrambi, referenziati con una unica chiamata. Quando un nuovo valore deve essere scritto sul contatore, il valore è caricato in CR e successivamente trasferito in CE. CE CRL CRM OLL OLM Control Word Register Status OUT n GATE n CLK n Bus interno Logic giovedì 29 novembre 2018
35
Inizializzazione di un contatore
Nel caso in cui il contatore sia stato programmato per un solo byte, l’altro byte verrà posto a zero. giovedì 29 novembre 2018
36
Control Word Tutte le Control Word sono scritte nella Control Word Register, la quale è selezionata quando A1, A0 = 11. Nella Control Word viene specificato quale contatore sarà programmato. giovedì 29 novembre 2018
37
Control Word Format 1 D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0
BCD SC1 SC0 SC-Select Counter Seleziona il Contatore 0 1 Seleziona il Contatore 1 Seleziona il Contatore 2 Read-Back Command Il Read Back Command attiva uno dei diversi modi per latchare, leggere i contatori... giovedì 29 novembre 2018
38
Control Word Format 1 D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0
BCD RW1 RW0 RW - Read/Write Counter Latch Command 1 Read/Write solo il byte meno significativo Read/Write solo il byte più significativo Read/Write il byte meno significativo prima, poi il byte più significativo giovedì 29 novembre 2018
39
Control Word Format D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0
BCD M2 M1 M0 M - Mode 1 Modo 1 X Modo 2 Modo 3 Modo 4 Modo 5 Modo 0 giovedì 29 novembre 2018
40
Control Word Format D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0
BCD BCD BCD Contatore binario a 16 bit 1 Contatore Decimale BCD (Binary Coded Decimal) a 4 decimali giovedì 29 novembre 2018
41
Programmazione delle procedure
La programmazione delle procedure per l’8254 è molto flessibile. Solo due convenzioni devono essere ricordate: Per ciascun contatore la Control Word deve essere scritta prima del suo valore di inizializzazione. Il valore iniziale del contatore deve rispettare il formato specificato dalla Control Word. giovedì 29 novembre 2018
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.