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.