PPI (Programmable Peripheral Interface) 8255 Interfase periférica programable. El 8255 es un dispositivo de entrada/salida de propósito general. Consiste en tres puertos paralelos de 8 bits configurables de varias varias maneras para para transmitir o recibir recibir datos a través de ellos, ellos, usando un cierto protocolo o de forma forma limpia. El concepto de puerto aquí es el de un lugar a través del cual el procesador transmite o recibe datos. na ve! configurado el c"ip, el procesador puede enviarle un dato al ##$, para "acérselo llegar a un dispositivo conectado a él. El ##$ mantiene el dato disponible todo el tiempo que el dispositivo necesite para leerlo % luego puede avisar avisar al procesador para que le envíe el siguiente. siguiente.
Patillaje CS#& 'elección del c"ip para configuración. RD#& $ndicación de que el procesador pretende leer del 8255 WR#& $ndicación del que el procesador va a escribir en el 8255 A0-1& 'elector de registros&
(),(* * *& selecciona el puerto ( * )& 'elecciona el puerto + ) *& 'elecciona el puerto C ) )& 'elecciona el registro de control. Reset& impia los registros de control % todos los puertos.
Programación del dispositivo. #ese a que dispone de tres puertos de oc"o bits llamados (, + % C. Est-n organi!ados en dos rupos. El rupo ( consiste en el puerto ( % los cuatro bits de orden superior del puerto C. El rupo + consiste en el puerto + % l os cuatro bits de orden inferior del puerto C. a programación se "ace por grupos. El comportamiento de cada grupo puede adoptar uno de tres posibles modos& Modo 0& n modo simple de entrada o de salida sin protocolo. Cada grupo puede programar programar el puerto de 8bit % el puerto de bits como entrada o como salida indistintamente. Como salida cada puerto incorpora un latc", con lo que el dato que escribe allí el procesador permanece "asta que es reescrito. Como entrada no e0iste esta facilidad por lo que el procesador debe conocer de alguna manera cu-ndo un dispositivo "a situado un dato en el puerto antes de proceder a leerlo. Modo 1& En esta configuración se utili!an los bits del puerto C como se1ales de protocolo para transmitir
datos a través de los puertos de oc"o bits. ("ora los puertos de 8 bits incorporar-n incorporar-n un latc" en entrada como salida. Configurados como entrada& STB#. Es entrada e indica cu-ndo "a% un dato en el puerto. n nivel bao de esta se1al carga el dato en el latc" de entrada del puerto. IBF& 'alida. $ndica que el dato %a "a sido cargado en el latc" de entrada. #uede servir como reconocimiento de dato recibido. 'e activa con un ni vel bao de '3+ % se desactiva con un flanco de baada de 46 7cuando 7cuando el procesador lee el dato dato INTR & Es de salida. 'irve como se1al de interrupción "acia el procesador. procesador. 'e activa cuando '3+6 9) 7cuando %a se "a cargado el dato, $+:9), $;3E9). 'e limpia con un flanco de baada de la se1al 46 $;3E es un flag que "abilita o des"abilita la $;34 que se controla modificando por soft
46 % se desactiva con un nivel bao en (C?6
ACK#& n nivel bao en esta se1al indica al 8255 que el dispositivo e0terno %a "a obtenido el dato del
puerto. INTR & 'e activa cuando (C?6, (C?6, @+:6 e $;3E est- a uno. Modo 2& Es sólo aplicable al puerto (. A le permite a este una configuración bidireccional. INTR & igual que arriba
#ara el mode entrada OBF# ACK# INTE 1 7modificando por soft
#ara el modo salida& STB# IBF INTE 2 7modificando por soft
#ara programar el dispositivo se envía un b%te con el bit m-s significativo a ) al registro de control. Esta se divide en dos partes, la programación del grupo + % la programación del grupo (&
rupo +, bits *, ), % 2 de la palabra de control& Bit 0& $ndica si los cuatro bits de orden inferior del puerto C va a ser de entrada 7) o de salida.7*. En el modo *. Bit 1& $ndica si el puerto va a ser de entrada7) o de salida7*. Bit 2& 'elecciona, para el rupo + el modo * o el modo ).
rupo (&+its B,,5 % = Bit 3& $ndica si los cuatro bits de orden superior del puerto C va a ser de entrada 7) o de salida.7*. En el
modo * Bit 4& $ndica si el puerto ( va a ser de entrada o de salida. Bit 5,& Especifica el modo para el puerto rupo ( +it=,+it5 **& odo * *)& odo ) )D& odo 2
odificación de un bit del puerto C. E0iste la posibilidad de modificar directamente cada uno de los bits del puerto C en cualquier momento. #ara ello se envía un b%te con el bit m-s significativo a cero al registro de control. En este b%tes& El bit * indica si se pone a uno o cero el bit del puerto C se1alado por los siguientes tres bits 7),2,B.
ectura de estado. En los modos ) % 2, aunque los bits de puerto C se utili!an como se1ales de control, todavía puede reali!arse una lectura del puerto C. o que obtenemos es el estado de las se1ales de control en ese instante % por ende podemos monitori!ar al los dispositivos conectados al ##$
Organización del PC En un #C el puerto ( est- programado programado como entrada % los puertos + % C lo est-n como salida. 'on utili!ados entre otras cosas como "abilitadores/in"abilitador "abilitadores/in"abilitadores es de diversas actividades en el sistema algunas de sus funciones primitivas %a "an desaparecido como las relacionadas con los lectores de casettes o la lectura de s
!"eto A& (ctualmente (ctualmente se utili!a como puerto de entrada de los datos procedentes del teclado. !"eto B& Entre los bits que mantienen su funcionalidad est-n&
+it*& Fabilita la salida del @32 del 3imer. +it)& Fabilita el acceso de @32 al altavo!. +it& Fabilita el c"equeo de paridad en los accesos a memoria.
+it5& Fabilita el c"equeo de paridad en la e0pansión. +it=& Fabilita el relo de teclado.
!"eto C& $gual que el puerto + muc"as de sus funciones %a "an perdido actualidad
+it5& 4ecibe la se1al procedente de @32 del 3imer. +it=& Fabilita el c"equeo de paridad de los accesos entrada/salida de la e0pansión. +itG& Fabilita el c"equeo de paridad general del sistema.
Bibliografía. 3"e 8*8= $+ #C and Compatible computers. u"ammad (li (li a!idi, Hanice illispie a!idi #rentice Fall )II8 ibro de componentes periféricos de $ntel inf =8).B) #E4 per