Upload
eduardo-verdin
View
4
Download
1
Embed Size (px)
Citation preview
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE 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
Departamento de TecnologíaE l e c t r ó n i c a
Bloques funcionales
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE l e c t r ó n i c a
Modelo del Programador
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE l e c t r ó n i c a
Puerto A7 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 0T2
Control
PB Latch Enable
PA Latch Enable
T1 Control SR Control
Configura pines como E ó SDDRA
Escribe en el puertoORA
Configura modo de funcionamiento
ACR
PA[7 a 0]PuertoA
CA1
8
Registros involucrados
Hardware Involucrado
7 6 5 4 3 2 1 0
IRA7 IRA6 IRA5 IRA4 IRA3 IRA2 IRA1 IRA0 Lee del puertoIRA
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE l e c t r ó n i c a
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
7 6 5 4 3 2 1 0T2
Control
PB Latch Enable
PA Latch Enable
T1 Control SR Control
Configura pines como E ó SDDRB
Escribe en el puertoORB
Configura modo de funcionamiento
ACR
PB[7 a 0PuertoB
CB1
8
Registros involucrados
Hardware Involucrado
7 6 5 4 3 2 1 0
IRB7 IRB6 IRB5 IRB4 IRB3 IRB2 IRB1 IRB0 Lee del puertoIRB
Puerto B
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE l e c t r ó n i c a
Temporizador T1
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
Departamento de TecnologíaE l e c t r ó n i c a
Temporizador T1
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
7 6 5 4 3 2 1 0T2
Control
PB Latch Enable
PA Latch Enable
T1 Control SR Control
Configura el pin 7DDRB
ORB
Configura modo de funcionamientoACR
Registros involucrados:
Señala interrupciónde paso por ceroIFR
7 6 5 4 3 2 1 0
T1 Latch (High)7 6 5 4 3 2 1 0
T1 Latch (Low)
7 6 5 4 3 2 1 0
T1 Contador (High)7 6 5 4 3 2 1 0
T1 Contador (Low)
T1L-H y T1L-L
T1C-H y T1C-L
7 6 5 4 3 2 1 0
IRQ T1 T2 CB1 CB2 SR CA1 CA2
Habilita la interrupcióndefinida en IFRIER
7 6 5 4 3 2 1 0
IRQ T1 T2 CB1 CB2 SR CA1 CA2
Valor de cuenta(Estático)
Valor de cuenta(Variable)
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE l e c t r ó n i c a
Temporizador T1Modo 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 .
Bit 7 ACR Bit 6 ACR Operación Pin 7 PORTB
0 0Modo Monoestable.Interrupción cadapaso por 0
0 1Modo Astable.Interrupciones deforma contínua
1 0Modo Monoestable.Interrupción cadapaso por 0
Impulso en la salidacon la interrupción
1 1Modo Astable.Interrupciones deforma contínua
Genera onda cuadrada
Inhabilitado
7 6 5 4 3 2 1 0T2
Control
PB Latch Enable
PA Latch Enable
T1 Control SR ControlACR
Frecuencias generadas:•Modo Monoestable: T=(N+1.5)/fVIA
•Modo Astable: T=(N+2)/fVIA
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE l e c t r ó n i c a
7 6 5 4 3 2 1 0
T1L-H (nada)
7 6 5 4 3 2 1 0
T1C-L (nada)
Byte alto de la cuenta
Byte bajo de la cuenta
7 6 5 4 3 2 1 0
T1L-L (nada)
7 6 5 4 3 2 1 0
T1C-H (nada)
Byte bajo de la cuentaByte alto de la cuenta
Byte bajo de la cuenta
•Escribe el byte bajo de la cuenta en el latch T1L-L
•Escribe el byte alto del contador T1C-H.
Byte alto de la cuenta Comienza la cuentaComienza la cuenta
Temporizador T1Modo de funcionamiento: Inicio de la cuenta
•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.
•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
Departamento de TecnologíaE l e c t r ó n i c a
Interrupciones en la VIALos 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.
Cada bit a 1 señala el evento que pide una interrupción
IFR: Interrupt Flag Register7 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
7 6 5 4 3 2 1 0
IRQ T1 T2 CB1 CB2 SR CA1 CA2
El bit 7 a 1, indica que alguno de los otros está a 1.
IER: Interrupt Enable Register
El bit 7 a 1, indica que se ha activado la línea IRQ#
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE l e c t r ó n i c a
Interrupciones en la VIAEsquema de generación de IRQ#:
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE l e c t r ó n i c a
Interrupciones en la VIAValor de los flags de interrupción:
Sistemas Digitales Curso 2007/2008
Departamento de TecnologíaE 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