CARACTERISTICAS ELECTRICAS DE LOS PUERTOS

Anuncio
CARACTERISTICAS ELECTRICAS DE LOS PUERTOS
Los 3 puertos tienen una especificación de corriente IOL de 1.7 mA y una especificación de IOH de 200 uA.
Esto significa que puede manejar directamente una carga TTL estándar o 4 cargas TTL LS.
Las 8 lineas de los puertos B y C pueden suministrar hasta 1 mA a 1.5 Volts.
Esto es útil para manejar relevadores de estado solido y transistores manejadores.
Pero no son capaces de absorver la corriente típica de un Led de 10 a 20 mA.
Para este fin se deberá usar un buffer TTL.
Velocidad de operación del 8255
Existen dos versiones de 8255 de acuerdo a sus velocidades de operación y
estos se diferencian de la siguiente forma.
El 8255A y el 8255A-5
La diferencia entre estos dos está en cuanto tiempo tardan en preparar su
dato valido cuando se le solicita una lectura (RD=0) tRD y cuandto tiempo requiere
para hacer una escritura (tww cuando WR=0)
tRD: es el tiempo que el 8255 requiere para enviar un dato valido a su bus
de datos.
El p lee el bus de datos después de 205 ns (o 335 ns en modo máximo)
tMRD: es el tiempo que le da el up al dispositivo para tener listo el dato.
Para que haya una sincronización entre el p y el 8255 es indispensable que
tMRD >= tRD si esto no se cumple se requiere solicitar un estado de espera al
micro.
Tww: tiempo requerido para escribir un dato en el 8255
tMW tiempo que el p proporciona para hacer una escritura tMW>=tww si
esto no se cumple quiere decir que el tiempo que el micro le da al 8255 para escribir
un dato no es suficiente y por lo tanto se requiere un estado de espera.
Especificaciones de lectura escritura del 8255
8255A (ns)
8255A-5 (ns)
tRD(tMRD)
250
200
tww(tMW)
400
300
ESTADOS DE ESPERA DEL 8255 CON EL 8086
MODO
MINIMO
SIN BUFFER
CON BUFFER
8255A
1
1
8255A-5
0
1
ACTIVAR/DESACITVAR BIT
8086 modo min.
205
340
MODO
SIN BUFFER
1
0
8086 modo max
335
175
MAXIMO
CON BUFFER
1
0
Cuando se pone en 0 el bit 7 de la palabra de control del 8255, se indica que
se realizará una operación de Activación/Desactivación de un bit.
En este modo cualquier bit (solo uno a la vez) del puerto C puede ponerse a
un 1 lógico o a un cero lógico.
Una de las desventajas de este modo es que los bits del puerto C pueden ser
cambiados individualmente sin cambiar ninguno de los demás. ESTO ES
IMPORTANTE CUANDO EL PUERTO C ES USADO PARA CONTROLAR EL
STATUS ON/OFF DE VARIOS DISPOSITIVOS EXTERNOS.
El dispositivo conectado a PC4 puede ser encendido sin afectar el status de
ningun otro dispositivo conectado en las otras 7 salidas.
El modo de Activar/Desactivar bit también se presta para la fácil
generación de pulsos de habilitar. Considerese la siguiente secuencia de
instrucciones.
LD A,00001001
OUT CTRL-PORT, A
DEC A
OUT CTRL-PORT, A
La función de habilitar/Desactivar se usa en modo 1 y 2 para habilitar las
salidas de interrupción.
MODO 2 (Bus bidireccional de E/S controlado)
Proporciona un medio para comunicación con un dispositivo periférico o
estructura por un solo bus de 8 bits tanto transmitir como recibir datos (bus
bidireccional de E/S).
Se tienen señales de “Handshaking” para mantener una disiplina de flujo
adecuada en una forma similar a la de modo 1.
También se tienen funciones de generación de interrupción y de habilitar y
deshabilitar.
DEFINICION DE LAS FUNCIONES BASICAS DEL MODO 2
Se usa solo el grupo A
Un puerto bus bidireccional de 8 bits (Puerto A) y 5 bits del puerto (puerto
C) de control.
Tanto entradas como salidas son Latcheadas.
El puerto de control (puerto C) es usado para controlar e indicar el status
del puerto Bus bidireccional de 8 bits.
OPERACIONES DE SALIDA
OBF (Output buffer Full) Indica que el buffer de salida está lleno. Se hace
cero para indicar que la CPU escribió un dato en el puerto A.
ACK (Acknowledge) Entrada de aviso que el dispositivo de salida lee el
dato del puerto A. Con un cero en esta entrada se habilita el buffer tri-state de
salida del puerto A para sacar el dato.
Si es “uno”, el buffer de salida estará en estado de alta impedancia (tristate).
INTE1 (Flip flop de habilitación de interrupción asociado con la salida OBF)
es controlado por la función SET/RESET de PC6.
OPERACIONES DE ENTRADA
STB (Strobe input) Señal para habilitar entrada con un “cero” en esta
entrada se carga el dato al latch de entrada.
IBF (Input buffer full flip flop). Flip Flop que indica qie el buffer de entrada
esta lleno. Un uno en esta salida le indica al periférico que un dato ha sido cargado
en el latch de entrada. El periférico no debe mandar otro dato todavia.
INTE2 (El flip flop de habilitación de interrupción asociado con IBF) es
controlado con la función bit set/reset de PC4.
LECTURA DE STATUS DE LA COMUNICACION
En modo 0 el puerto C transfiere datos al periférico y recibe datos de el.
Pero cuando se programa en modo 1 o 2, el puerto C se encarga de generar o
aceptar señales de “handshaking” del y al dispositivo periférico.. De tal forma que
leyendo el puerto C se le permite al programador probar o verificar el “status” de
cada dispositivo periférico y cambiar el flujo del programa de acuerdo a eso.
CARACTERISTICAS DE CARGA DEL 8255
El puerto B y el puerto C; tienen una capacidad para suministrar corriente
hasta de 1mA en cada uno de los 8 bits de los buffers de salida) a 1.5 Volts. Esta
característica permite al 8255 accionar directamente drivers tipo Darlington y
Displays de alto voltaje que requieren esa fuente de corriente.
COMO CONECTAR ELECTRICAMENTE EL 8255 CON EL Z80
Para habilitar el chip y seleccionar un puerto del 8255 habilitado: Ejemplo:
Suponiendo que desearamos direccionar los puertos 10H a 13H.
CODIGO DE SELECCION (para que Yo=0)
A7
A6
A5
A4
A3
A2
A1
0
0
0
1
0
0
X
Para habilitar el
74LS138
A0
X
Dirección del
puerto seleccionado
Lectura = entrada de datos por el puerto
Escritura = salida de datos
El reset del 8255 es activo en “1” por eso se requiere el inversor.
REGISTROS DE LECTURA Y ESCRITURA DEL 8255.
Las direcciones de los cuatro registros de lectura / escritura del 8255 según
nuestro ejemplo analizando son 10H, 11H, 12H, 13H.
Terminales del Chip
RD
WR
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
Nombre del registro
A1
0
0
0
0
1
1
1
1
A0
0
0
1
1
0
0
1
1
Escribir dato al puerto A
Leer dato del puerto A
Escribir dato al puerto B
Leer dato del puerto B
Escribir dato al puerto C
Leer dato al puerto C
Escribir palabra de control
Dato ilegal
Las direcciones de los puertos A y C siempre serán PARES ya que A0=0
Las direcciones de los puertos B y de control siempre serán IMPARES ya
que A0=1.
Ejemplo del MODO 0:
Todos los puertos son salida con 80H.
Se escribe la palabra de control
LD A,80H
OUT (13H),A
Ya que se ha programado el puerto podemos escribir a cualquier puerto
usando la instrucción OUT del Z80. Ejemplo: Deseamos escribir 23H a las salidas
del puerto A, 41H al puerto B y 93H al puerto C.
LD A,23H
OUT (10H),A
LD A,41H
OUT (11H),A
LD A,93H
OUT (12H),A
BIT D1=0 habilita el puerto C como un puerto de salida.
BIT D0=0 pone los cuatro bits más bajos del puerto C como salida.
MODO 1 DE OPERACION PARA EL 8255
La idea general de este modo de operación es: El dispositivo periférico
eléctricamente informa al 8255 que el dato está listo ya sea para ser enviado o para
ser tomado. Las líneas de handshake son usados para proporcionar esta
infromación.
MODO 2 DE OPERACIÓN DEL 8255
El dispositivo puede usar el puerto A como un puerto bidireccional de
datos. Esto es, que las 8 líneas del puerto A pueden transmitir datos al dispositivo
y recibir del mismo.
CARACTERISTICAS ELECTRICAS DE LOS PUERTOS
Los 3 puertos tienen una especificación de corriente IOL de 1.7 mA y una especificación de
IOH de 200 uA. Esto significa que puede manejar directamente una carga TTL estandar o 4
cargas TTL LS.
dibujo
Las 8 lineas de los puertos B y C pueden suministrar hasta 1 mA a 1.5 Volts. Esto es útil
para manejar relevadores de estado solido y transistores manejadores.
Pero no son capaces de absorver la corriente típica de un Led de 10 a 20 mA. Para este fin
se deberá usar un buffer TTL.
dibujo
Velocidad de operación del 8255
Existen dos versiones de 8255 de acuerdo a sus velocidades de operación y estos se
diferencian de la siguiente forma.
El 8255A y el 8255A-5
La diferencia entre estos dos está en cuanto tiempo tardan en preparar su dato valido
cuando se le solicita una lectura (RD=0) tRD y cuandto tiempo requiere para hacer una
escritura (tww cuando WR=0)
dibujo
tRD: es el tiempo que el 8255 requiere para enviar un dato valido a su bus de datos.
El up lee el bus de datos después de 205 ns (o 335 ns en modo máximo)
tMRD: es el tiempo que le da el up al dispositivo para tener listo el dato.
Para que haya una sincronización entre el up y el 8255 es indispensable que tMRD >= tRD
si esto no se cumple se requiere solicitar un estado de espera al micro.
Tww: tiempo requerido para escribir un dato en el 8255
tMW tiempo que el up proporciona para hacer una escritura tMW>=tww si esto no se
cumple quiere decir que el tiempo que el micro le da al 8255 para escribir un dato no es
suficiente y por lo tanto se requiere un estado de espera.
tRD(tMRD)
tww(tMW)
8255A
8255A-5
Especificaciones de lectura escritura del 8255
8255A (ns)
8255A-5 (ns) 8086 modo min. 8086 modo max
250
200
205
335
400
300
340
175
ESTADOS DE ESPERA DEL 8255 CON EL 8086
MODO MINIMO
MODO
SIN BUFFER CON BUFFER SIN BUFFER
1
1
1
0
1
0
ACTIVAR/DESACITVAR BIT
MAXIMO
CON BUFFER
1
0
Cuando se pone en 0 el bit 7 de la palabra de control del 8255, se indica que se realizará
una operación de Activación/Desactivación de un bit.
En este modo cualquier bit (solo uno a la vez) del puerto C puede ponerse a un 1 lógico o a
un cero lógico.
Una de las desventajas de este modo es que los bits del puerto C pueden ser cambiados
individualmente sin cambiar ninguno de los demás. ESTO ES IMPORTANTE CUANDO EL
PUERTO C ES USADO PARA CONTROLAR EL STATUS ON/OFF DE VARIOS
DISPOSITIVOS EXTERNOS.
El dispositivo conectado a PC4 puede ser encendido sin afectar el status de ningun otro
dispositivo conectado en las otras 7 salidas.
El modo de Activar/Desactivar bit también se presta para la fácil generación de pulsos de
habilitar. Considerese la siguiente secuencia de instrucciones.
LD A,00001001
OUT CTRL-PORT, A
DEC A
OUT CTRL-PORT, A
La función de habilitar/Desactivar se usa en modo 1 y 2 para habilitar las salidas de
interrupción.
MODO 2 (Bus bidireccional de E/S controlado)
Proporciona un medio para comunicación con un dispositivo periférico o estructura por un
solo bus de 8 bits tanto transmitir como recibir datos (bus bidireccional de E/S).
Se tienen señales de “Handshaking” para mantener una disiplina de flujo adecuada en una
forma similar a la de modo 1.
También se tienen funciones de generación de interrupción y de habilitar y deshabilitar.
DEFINICION DE LAS FUNCIONES BASICAS DEL MODO 2
Se usa solo el grupo A
Un puerto bus bidireccional de 8 bits (Puerto A) y 5 bits del puerto (puerto C) de control.
Tanto entradas como salidas son Latcheadas.
El puerto de control (puerto C) es usado para controlar e indicar el status del puerto Bus
bidireccional de 8 bits.
OPERACIONES DE SALIDA
OBF (Output buffer Full) Indica que el buffer de salida está lleno. Se hace cero para indicar
que la CPU escribió un dato en el puerto A.
ACK (Acknowledge) Entrada de aviso que el dispositivo de salida lee el dato del puerto A.
Con un cero en esta entrada se habilita el buffer tri-state de salida del puerto A para sacar el
dato.
Si es “uno”, el buffer de salida estará en estado de alta impedancia (tri-state).
INTE1 (Flip flop de habilitación de interrupción asociado con la salida OBF) es controlado
por la función SET/RESET de PC6.
OPERACIONES DE ENTRADA
STB (Strobe input) Señal para habilitar entrada con un “cero” en esta entrada se carga el
dato al latch de entrada.
IBF (Input buffer full flip flop). Flip Flop que indica qie el buffer de entrada esta lleno. Un
uno en esta salida le indica al periférico que un dato ha sido cargado en el latch de entrada.
El periférico no debe mandar otro dato todavia.
INTE2 (El flip flop de habilitación de interrupción asociado con IBF) es controlado con la
función bit set/reset de PC4.
LECTURA DE STATUS DE LA COMUNICACIÓN
En modo 0 el puerto C transfiere datos al periférico y recibe datos de el. Pero cuando se
programa en modo 1 o 2, el puerto C se encarga de generar o aceptar señales de
“handshaking” del y al dispositivo periférico.. De tal forma que leyendo el puerto C se le
permite al programador probar o verificar el “status” de cada dispositivo periférico y
cambiar el flujo del programa de acuerdo a eso.
CARACTERISTICAS DE CARGA DEL 8255
El puerto B y el puerto C; tienen una capacidad para suministrar corriente hasta de 1mA en
cada uno de los 8 bits de los buffers de salida) a 1.5 Volts. Esta característica permite al
8255 accionar directamente drivers tipo Darlington y Displays de alto voltaje que requieren
esa fuente de corriente.
COMO CONECTAR ELECTRICAMENTE EL 8255 CON EL Z80
Para habilitar el chip y seleccionar un puerto del 8255 habilitado: Ejemplo: Suponiendo que
desearamos direccionar los puertos 10H a 13H.
CODIGO DE SELECCION (para que Yo=0)
A7 A6 A5 A4 A3 A2 A1 A0
0
0
0
1
0
0
X
X
Para habilitar el
74LS138
Dirección del
puerto seleccionado
Código para selección del 8255
PARA HABILITAR LA LECTURA Y ESCRITURA DE UN PUERTO
SELECCIONADO PREVIAMENTE
Lectura= entrada de datos por el puerto
Escritura=salida de datos
El reset del 8255 es activo en “1” por eso se requiere el inversor.
REGISTROS DE LECTURA Y ESCRITURA DEL 8255.
Las direcciones de los cuatro registros de lectura / escritura del 8255 según nuestro ejemplo
analizando son 10H, 11H, 12H, 13H.
Terminales del Chip
Nombre del registro
RD
WR
A1
A0
1
0
0
0
Escribir dato al puerto A
0
1
0
0
Leer dato del puerto A
1
0
0
1
Escribir dato al puerto B
0
1
0
1
Leer dato del puerto B
1
0
1
0
Escribir dato al puerto C
0
1
1
0
Leer dato al puerto C
1
0
1
1
Escribir palabra de control
0
1
1
1
Dato ilegal
Las direcciones de los puertos A y C siempre serán PARES ya que A0=0
Las direcciones de los puertos B y de control siempre serán IMPARES ya que A0=1.
Ejemplo del MODO 0:
Todos los puertos son salida con 80H.
Se escribe la palabra de control
LD A,80H
OUT (13H),A
Ya que se ha programado el puerto podemos escribir a cualquier puerto usando la
instrucción OUT del Z80. Ejemplo: Deseamos escribir 23H a las salidas del puerto A, 41H
al puerto B y 93H al puerto C.
LD A,23H
OUT (10H),A
LD A,41H
OUT (11H),A
LD A,93H
OUT (12H),A
BIT D1=0 habilita el puerto C como un puerto de salida.
BIT D0=0 pone los cuatro bits más bajos del puerto C como salida.
MODO 1 DE OPERACION PARA EL 8255
La idea general de este modo de operación es: El dispositivo periférico eléctricamente
informa al 8255 que el dato está listo ya sea para ser enviado o para ser tomado. Las líneas
de handshake son usados para proporcionar esta infromación.
MODO 2 DE OPERACIÓN DEL 8255
El dispositivo puede usar el puerto A como un puerto bidireccional de datos. Esto es, que
las 8 líneas del puerto A pueden transmitir datos al dispositivo y recibir del mismo.
Descargar