Departamento de Tecnología
E l e c t r ó n i c a
Periféricos E/S. VIA 65C22
Sistemas Digitales
2º curso Ingeniero Técnico en
Electrónica Industrial
Sistemas Digitales
Curso 2007/2008
Bloques funcionales
Sistemas Digitales
Departamento de Tecnología
E l e c t r ó n i c a
Curso 2007/2008
Modelo del Programador
Departamento de Tecnología
E l e c t r ó n i c a
Sistemas Digitales
Curso 2007/2008
Puerto A
Registros involucrados
7
DDRA
ORA
IRA
ACR
6
5
4
3
2
1
0
DDRA7 DDRA6 DDRA5 DDRA4 DDRA3 DDRA2 DDRA1 DDRA0
7
6
5
4
3
2
1
0
ORA7
ORA6
ORA5
ORA4
ORA3
ORA2
ORA1
ORA0
7
6
5
4
3
2
1
0
IRA7
IRA6
IRA5
IRA4
IRA3
IRA2
IRA1
IRA0
7
6
5
T2
Control
4
3
2
T1 Control
SR Control
Departamento de Tecnología
E l e c t r ó n i c a
1
0
PB
PA
Latch Latch
Enable Enable
Configura pines como E ó S
Escribe en el puerto
Lee del puerto
Configura modo de
funcionamiento
Hardware Involucrado
PuertoA
8
PA[7 a 0]
CA1
Sistemas Digitales
Curso 2007/2008
Puerto B
Registros involucrados
7
DDRB
ORB
IRB
ACR
6
5
4
3
2
1
0
DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0
7
6
5
4
3
2
1
0
ORB7
ORB6
ORB5
ORB4
ORB3
ORB2
ORB1
ORB0
7
6
5
4
3
2
1
0
IRB7
IRB6
IRB5
IRB4
IRB3
IRB2
IRB1
IRB0
7
6
5
T2
Control
4
3
2
T1 Control
SR Control
Departamento de Tecnología
E l e c t r ó n i c a
1
0
PB
PA
Latch Latch
Enable Enable
Configura pines como E ó S
Escribe en el puerto
Lee del puerto
Configura modo de
funcionamiento
Hardware Involucrado
PuertoB
8
PB[7 a 0
CB1
Sistemas Digitales
Curso 2007/2008
Temporizador T1
Departamento de Tecnología
E l e c t r ó n i c a
Capacidades:
•Valor de cuenta de 16 bits.
•2 latches (de 8 bits) para guardar el valor de la cuenta a realizar.
•Generar un único intervalo de tiempo (una única cuenta).
•Generar un intervalo de tiempo de forma contínua (modo Astable)
•Producir un único o una serie contínua de pulsos en el pin 7 del Puerto B.
•Generar una interrupción cada vez que la cuenta pase por 0.
Sistemas Digitales
Curso 2007/2008
Temporizador T1
Departamento de Tecnología
E l e c t r ó n i c a
Registros involucrados:
T1L-H y T1L-L
7
6
5
6
T1C-H y T1C-L
5
IER
DDRB
ORB
Sistemas Digitales
2
1
0
7
6
5
4
3
2
6
T1 Control
4
3
2
1
0
1
0
T1 Latch (Low)
1
0
7
6
T1 Contador (High)
7
IFR
3
T1 Latch (High)
7
ACR
4
5
4
3
2
T1 Contador (Low)
5
T2
Control
4
3
2
SR Control
1
0
PB
PA
Latch Latch
Enable Enable
1
0
7
6
5
4
3
2
IRQ
T1
T2
CB1
CB2
SR
CA1
CA2
7
6
5
4
3
2
1
0
IRQ
T1
T2
CB1
CB2
SR
CA1
CA2
7
6
5
4
3
2
1
0
DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0
7
6
5
4
3
2
1
0
ORB7
ORB6
ORB5
ORB4
ORB3
ORB2
ORB1
ORB0
Valor de cuenta
(Estático)
Valor de cuenta
(Variable)
Configura modo de
funcionamiento
Señala interrupción
de paso por cero
Habilita la interrupción
definida en IFR
Configura el pin 7
Curso 2007/2008
Temporizador T1
Departamento de Tecnología
E l e c t r ó n i c a
Modo de funcionamiento: Configuración
•El registro ACR configura el modo de funcionamiento Monoestable ó Astable, y
la salida en el pin PB[7]. EN los registros IFR e IER se especifica la generación
de interrupción Hw .
7
ACR
6
T1 Control
5
T2
Control
4
3
2
SR Control
Bit 7 ACR Bit 6 ACR Operación
Modo Monoestable.
0
0
Interrupción
cada
paso por 0
Modo
Astable.
0
1
Interrupciones
de
forma contínua
Modo Monoestable.
1
0
Interrupción
cada
paso por 0
Modo
Astable.
1
1
Interrupciones
de
forma contínua
1
0
PB
PA
Latch Latch
Enable Enable
Pin 7 PORTB
Inhabilitado
Impulso en la salida
con la interrupción
Genera onda cuadrada
Frecuencias generadas:
•Modo Monoestable: T=(N+1.5)/fVIA
•Modo Astable: T=(N+2)/fVIA
Sistemas Digitales
Curso 2007/2008
Temporizador T1
Departamento de Tecnología
E l e c t r ó n i c a
Modo de funcionamiento: Inicio de la cuenta
•Escribe el byte bajo de la cuenta en el latch T1L-L
•Escribe el byte alto del contador T1C-H. Automáticamente se copia en T1L-H,
T1L-L se copia en T1C-L y empieza la cuenta atrás.
7
6
5
4
3
2
1
0
7
T1L-H (nada)
6
5
4
3
2
T1C-H (nada)
1
Byte
Comienza
alto delalacuenta
cuenta
5
4
3
2
1
0
T1L-L (nada)
Byte alto de la cuenta
7
6
Byte bajo de la cuenta
0
7
6
5
4
3
2
1
0
T1C-L (nada)
Byte
bajo delalacuenta
cuenta
Comienza
•Al llegar a 0 se activa el bit 6 del IFR. Este bit es borrado al leer el byte bajo del
contador (T1C-L) o al escribir el Byte alto del mismo (T1C-H).
Sistemas Digitales
Curso 2007/2008
Interrupciones en la VIA
Departamento de Tecnología
E l e c t r ó n i c a
Los eventos que generarán una petición de interrupción (activación de la
señal IRQ#) de la VIA se determinan actuando sobre los registros IFR e IER.
Para que se active la línea, es necesario que el bit correspondiente al evento
ocurrido esté a 1 tanto en IFR como en IER.
IFR: Interrupt Flag Register
7
6
5
4
3
2
1
0
IRQ
T1
T2
CB1
CB2
SR
CA1
CA2
Cada bit a 1 señala el evento
que pide una interrupción
El bit 7 a 1, indica que alguno de los otros está a 1.
IER: Interrupt Enable Register
7
6
5
4
3
2
1
0
IRQ
T1
T2
CB1
CB2
SR
CA1
CA2
Si el bit está a 1 habilita la
interrupción correspondiente
El bit 7 a 1, indica que se ha activado la línea IRQ#
Sistemas Digitales
Curso 2007/2008
Interrupciones en la VIA
Departamento de Tecnología
E l e c t r ó n i c a
Esquema de generación de IRQ#:
Sistemas Digitales
Curso 2007/2008
Interrupciones en la VIA
Departamento de Tecnología
E l e c t r ó n i c a
Valor de los flags de interrupción:
Sistemas Digitales
Curso 2007/2008
Departamento de Tecnología
E l e c t r ó n i c a
Periféricos E/S. VIA 65C22
Sistemas Digitales
2º curso Ingeniero Técnico en
Electrónica Industrial
Sistemas Digitales
Curso 2007/2008
Descargar

Modos de direccionamiento