Download El PPI intel 8255 - fc

Document related concepts
no text concepts found
Transcript
Microprocesadores
EL PPI 8255
El PPI intel 8255
Interfase para Periféricos Paralelo
Carlos Canto Q.
EL PPI 8255
Microprocesadores
9El circuito PPI (Interfaz Perifé
Periférica
Programable) 8255A de Intel es un
dispositivo
programable
de
entrada/salida de propó
propósito general
diseñ
diseñando para ser usado con
microprocesadores Intel.
Intel.
9El PPI es un circuito integrado de 40
terminales
9 de
las
cuales
24
son
de
entrada/salida
y
se
pueden
programar individualmente en 2
grupos de 12 y se puede utilizar en 3
diferentes modos de operació
operación.
9Contiene 3 puertos programables
paralelos de 8 bits
9Cada puerto tiene un registro
9Tiene tambié
también un registro de control
de los puertos
Carlos Canto Q.
Microprocesadores
EL PPI 8255
Estructura Interna del PPI 8255A
La figura nos muestra la estructura
interna de este dispositivo.
BUS DE DATOS
D0-D7
Buffer de
Buffer de
bus de
bus de
datos
datos
Control
Control
del
del
grupo
grupoAA
BUS DE DATOS
INTERNO
8 BITS
Grupo A
Grupo A
Puerto A
Puerto A
E/S
PA0-PA7
Grupo A
Grupo A
Puerto C
Puerto C
4 altos
4 altos
E/S
PC7-PC4
Grupo B
Grupo B
Puerto C
Puerto C
4 bajos
4 bajos
E/S
PC3-PC0
Grupo B
Grupo B
Puerto B
Puerto B
E/S
PB7-PB0
RD
WR
A0
A1
Lógica de
Lógica de
control
control
de
de
escritura/
escritura/
lectura
lectura
Control
Control
del
del
grupo
grupoBB
RESET
CS
Carlos Canto Q.
Microprocesadores
EL PPI 8255
DISTRIBUCIÓN DE TERMINALES DEL 8255
D0-D7
BUS DE DATOS
RESET
ENTRADA DE RESET
CS
SELECCIÓN DE CHIP
RD
ENTRADA DE LECTURA
WR
ENTRADA DE ESCRITURA
A0,A1
DIRECCIÓN DE PUERTOS
PA7-PA0
PUERTO A
PB7-PB0
PUERTO B
PC7-PC0
PUERTOC
VCC
ALIMENTACIÓN +5V
GND
TIERRA
PA3
PA2
PA1
PA0
RD
CS
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
PA4
PA5
PA6
PA7
WR
RESET
D0
D1
D2
D3
D4
D5
D6
D7
VCC
PB7
PB6
PB5
PB4
PB3
Carlos Canto Q.
Microprocesadores
EL PPI 8255
Tabla de verdad de la operación del
PPI 8255
A1
A0
RD
WR
CS
0
0
0
1
0
Puerto AÆbus de datos
0
1
0
1
0
Puerto BÆbus de datos
1
0
0
1
0
Puerto CÆBus de Datos
.
.
.
.
.
operación de entrada (leer)
operación salida (escribir)
0
0
1
0
0
Bus de datosÆpuerto A
0
1
1
0
0
Bus de datosÆpuerto B
1
0
1
0
0
Bus de datosÆpuerto C
1
1
1
0
0
Bus de datosÆreg. control
.
.
.
.
.
Función de deshabilitado
x
x
x
x
1
Bus de datos Æ en tri state
1
1
0
1
0
Condición ilegal
x
x
1
1
0
Bus de datos Æ en tri state
Carlos Canto Q.
EL PPI 8255
Microprocesadores
PROGRAMACIÓN DEL PPI 8255
a Los 3 puertos se programan en grupos
a El grupo A está formado por el puerto A y
la parte alta del puerto C
a El grupo B está formado por el puerto B y
la parte baja del puerto C
Carlos Canto Q.
Microprocesadores
EL PPI 8255
PALABRA DE CONTROL
GRUPO
GRUPOBB
Puerto
PuertoCC(bits
(bitsbajos)
bajos)
1=entrada
1=entrada
0=salida
0=salida
Puerto
PuertoBB
1=entrada
1=entrada
0=salida
0=salida
Selección
Seleccióndedemodo
modo
0=modo
0=modo00
1=modo1
1=modo1
D7
D7 D6
D6 D5
D5 D4
D4 D3
D3 D2
D2 D1
D1 D0
D0
FORMATO DE
LA DEFINICIÓN
DEL MODO
GRUPO
GRUPOAA
Puerto
PuertoCC(bits
(bitsaltos)
altos)
1=entrada
1=entrada
0=salida
0=salida
Bandera
Banderadedeactivar
activarmodo
modo
1=activo
1=activo
Puerto
PuertoAA
1=entrada
1=entrada
0=salida
0=salida
Selección
Seleccióndedemodo
modo
00=modo
00=modo00
01=modo1
01=modo1
1x=modo2
1x=modo2
Carlos Canto Q.
Microprocesadores
EL PPI 8255
PALABRA DE CONTROL
D7
D7 D6
D6 D5
D5 D4
D4 D3
D3 D2
D2 D1
D1 D0
D0
X
X
X
No importa
Bit
Bitset/
set/rest
rest
1=set
1=set
0=reset
0=reset
Bit seleccionado
0 1 2 3 4 5
6 7
0 1 0 0 1 1
1 1 B0
0 0 1 1 0 0
1 1 B1
0 0 0 1 0 1
0 1 B2
bandera
banderadedeactivar/desactivar
activar/desactivar bitbit
0=activo
0=activo
FORMATO PARA ACTIVAR/DESACTIVAR UN BIT
DEL PUERTO C
Carlos Canto Q.
Microprocesadores
EL PPI 8255
Características del 8255 operado en
modo 0
•
•
Se le asigna operaciones de entrada y salida a cada uno de los tres puertos
No se usa un protocolo (handshaking) para el intercambio de los datos. Los
datos simplemente se escriben a o leen de un puerto específico
DEFINICIÓN
DEFINICIÓNFUNCIONAL
FUNCIONALBÁSICA
BÁSICADEL
DELMODO
MODO00
–– Se
Setiene
tiene22puertos
puertosde
de88bits
bitsyy22de
de44bits.
bits.
–– Cualquier
Cualquierpuerto
puertopuede
puedeser
serentrada
entradaoosalida
salida
–– Las
Lassalidas
salidastienen
tienenLATCH
LATCH(cerrojo)
(cerrojo)
–– Las
Lasentradas
entradasno
notiene
tieneLATCH
LATCH
–– Hay
Hay16
16posibles
posibles configuraciones
configuracionesde
deentrada/salida
entrada/salidaen
eneste
estemodo
modo
Carlos Canto Q.
Microprocesadores
EL PPI 8255
Diagrama de bloques funcional de la operación del 8255
en modo 0
CPU
BUFFER
BUFFER
Bus
Busde
dedatos
datos TRI
TRISTATE
STATE
Puerto A
LATCH
LATCH Puerto A
WR
A1 A0
Selector
Selectorde
de
puertos
puertos
8255
Periférico
Periférico
de
de
salida
salida
Tiene
TieneLATCH
LATCHaalala
salida,
tal
salida, talque
queeleldato
dato
enviado
por
el
CPU
enviado por el CPU
queda
queda asegurado
asegurado yy
disponible
disponiblepara
paraelel
periférico
periféricode
desalida.
salida.El
El
dato
se
retiene
hasta
dato se retiene hasta
que
quese
seescriba
escribauno
uno
nuevo.
nuevo.
Carlos Canto Q.
Microprocesadores
EL PPI 8255
Diagrama de bloques funcional de la operación del 8255
en modo 0
CPU
Bus
Busde
dedatos
datos
BUFFER
BUFFER
TRI STATE
TRI STATE
Puerto
PuertoAA
RD
A1 A0
Selector
Selectorde
de
puertos
puertos
8255
Periférico
Periférico
de
de
entrada
entrada
Operado
Operado como
como
entrada,
no
entrada, notiene
tiene
latch.
latch.Esto
Estoimplica
implica
que
queelelperiférico
periféricode
de
entrada
debe
entrada debe
sostener
sostenereleldato
dato
hasta
que
la
hasta que laCPU
CPUlolo
lea
lea. .
Carlos Canto Q.
EL PPI 8255
Microprocesadores
Ciclo de máquina de Entrada/Salida del Z80
Carlos Canto Q.
EL PPI 8255
Microprocesadores
Características del 8255 operado en Modo 1
(Strobed Input/Output)
La transferencia de datos de E/S hacia o de puertos específicos se realiza con
señales de control o de Handshaking. Es un modo de transferencia
concertada
DEFINICIÓN FUNCIONAL BÁSICA DEL MODO 1
•
•
•
•
•
•
•
El puerto A y el puerto B usan las líneas del puerto C para generar o aceptar
señales de handshaking en modo de pulsos (strobes).
Características:
Se tienen 2 grupos (grupos A y B)
Cada grupo contiene 8 bits de puerto de datos y 4 bits de puerto de control/datos.
Cada puerto de datos de 8 bit puede usarse como entrada o como salida
independientemente.
Tanto las entradas como las salidas se latchean.
El puerto de 4 bits se usa para control y status del puerto de datos de 8 bits.
Carlos Canto Q.
EL PPI 8255
Microprocesadores
Señales de Control cuando el Puerto (A o B) está definido
como ENTRADA
•
•
•
•
STB (Strobe
(Strobe Input):
Input): Un nivel bajo en esta entrada, carga los datos en el latch de entrada.
IBF (Input
(Input Buffer Full F/F): Un nivel alto en esta salida indica que el dato ya fue cargado
en el latch de entrada. IBF se pone en alto por un nivel bajo en STB y se pone
pone en bajo
debido al flanco positivo de la entrada RD.
INTR (Pedido de Interrupció
Interrupción): Un nivel alto en esta salida se puede usar para
interrumpir al µP. INTR se pone en alto cuando STB está
está en 1, IBF está
está en 1 e INTE está
está
en 1. Se pone en 0 con el flanco negativo de RD.
Carlos Canto Q.
EL PPI 8255
Microprocesadores
Carlos Canto Q.
Microprocesadores
EL PPI 8255
El 8255 operado en modo2
EL 8255 PROGRAMADO PARA OPERAR EN MODO 2 HACE
BIDIRECCIONAL AL PUERTO A Y EL PUERTO C PROPORCIONA
LAS LÍNEAS DE CONTROL DE LA TRANSFERENCIA
Carlos Canto Q.
Microprocesadores
EL PPI 8255
El 8255 operado en modo2
OPERANDO SOLO COMO ENTRADA
OPERANDO SOLO COMO SALIDA
Carlos Canto Q.
Microprocesadores
EL PPI 8255
Ejemplo de Conexión del PPI con el Z80
Use un decodificador 74LS138 para
asignarle al PPI una dirección base de 10H
Bus
Busde
deDatos
Datos
Grupo A
RST
RD
Puerto A
RD
Direcciones
Direcciones
válidas
válidaspara
paraelel
PPI:
PPI:
10h
10hÆ
Æpuerto
puertoAA
11h
Æ
puerto
11h Æ puertoBB
12H
12HÆ
Æpuerto
puertoCC
13H
Æ
r.
13H Æ r.control
control
IORQ
Z80
Z80 A0
A1
RESET
Circuito
Circuito
dedereset
reset
RESET
A0
A1
BusdedeDirecciones
Direcciones(Bajo)
(Bajo)
Bus
A2
A3
A4
A5
A6
A7
Puerto CL
WR
WR
PPI
PPI
8255
8255
Puerto CH
RESET
Puerto B
CS
A2
A3
A5
A6
A7
A4
A
B
C
G1A
G1B
G2
Selección de
puerto del
PPI
Grupo B
74LS138
Y0
Selección del chip 8255
A7
A6
A5
A4
A3
A2
A1
A0
0
0
0
1
0
0
X
X
Carlos Canto Q.