Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Telecomunicaciones
Asignatura: Microprocesadores
NRC: 3193
Sangolquí, 2018
INFORME No.05
2. Objetivos:
General:
Conocer el funcionamiento del circuito integrado PPI 8255 para su uso
en posteriores proyectos de la materia de Microprocesadores.
Específicos:
Familiarizarse con la distribución de pines de PPI 8255.
Determinar los modos de operación para su utilización como puertos
de E/S.
Realizar ejemplos básicos con el PPI 8255 para comprender de mejor
manera su funcionamiento.
3. Marco Teórico
El chip PPI 8255 posee 40 pines de los cuales 24 son líneas de E/S asociadas
a los puertos A, B, C, la función de los pines del 8255A se muestra a
continuación en la Tabla 1.
En la Figura 2 se muestra la distribución de pines del PPI 8255.
Selección de
Un nivel bajo "low" en este pin de entrada permite la
̅𝐶𝑆
̅̅̅ comunicación entre el 8255A y la CPU.
chip
0 Volts Tierra
𝐺𝑁𝐷
(Intel, 2018)
Operaciones Básicas
𝑨𝟏 𝑨𝟎 ̅̅̅̅̅
𝑹𝑫 ̅̅̅̅̅
𝑾𝑹 ̅̅̅̅
𝑪𝑺 Operación de entrada (Lectura)
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 salida (Escritura)
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 Control
Desabilitar función
x x x x 1 Bus de Datos 3-State
1 1 0 1 0 Condición ilegal
x x 1 1 0 Bus de Datos 3-State
Selección de Modo
Los modos para las puertas A y B pueden ser definidos en forma separada,
mientras que la puerta C está dividida en dos partes de 4 bits y cada una de
estas partes pueden ser utilizadas como entradas o salidas en forma
independiente. No siempre se dispone de las cuatro líneas de cada grupo,
esto depende del modo en que trabaja el puerto A o B.
Cualquiera de los ocho bits del puerto C puede ser puesto en "1" o "0"
mediante una simple instrucción de salida, esto reduce los requerimientos de
software en aplicaciones de control. En otras palabras, este modo permite a
la CPU tener capacidad de direccionar un bit del puerto C para la operación
de escritura. Puede ser usado cuando la puerta C está como salida o cuando
el puerto C está siendo usado como status/control de las puertas A o B.
(Intel, 2018)
Modos de Funcionamiento
IBF: (Input Buffer Full) Buffer de entrada lleno. Un "1" en esta salida indica
que el dato ha sido cargado en el latch de entrada. Es la respuesta a una
señal ̅̅̅̅̅̅
𝑆𝑇𝐵, también le indica que no envíe un nuevo dato hasta que IBF
pase a nivel "0", lo cual se produce cuando la CPU lee el puerto
correspondiente. La línea PC5 es la encargada de generar esta línea para
el puerto A y la línea PC1 para el puerto B.
̅̅̅̅̅̅
𝑶𝑩𝑭: (Output Buffer Full) Buffer de salida lleno. Señal de salida mediante
la cual la PPI le indica al periférico que tiene un dato para enviarle. Esta
señal se activa, es decir toma el valor "0", con el flanco positivo de la señal
de escritura WR y pasa a nivel "1" con el flanco negativo de la señal de
entrada ̅̅̅̅̅̅
𝐴𝐶𝐾 . Las líneas PC7 y PC1 se encargan de generar ̅̅̅̅̅̅
𝑂𝐵𝐹 para los
puertos A y B respectivamente.
INTR: Pedido de interrupción. Un "1" en esta salida puede ser usado para
interrumpir a la CPU cuando un dispositivo ha aceptado el dato enviado,
indicándole que transmita un nuevo dato. La señal INTR toma el valor "1"
̅̅̅̅̅̅ si 𝑂𝐵𝐹
cuando se produce un flanco positivo de la señal 𝐴𝐶𝐾 ̅̅̅̅̅̅ está en "1"
y la habilitación interna INTE está también en "1". Para pasar INTR a "0"
la CPU debe escribir un nuevo dato, es decir que INTR pasa a "0" con el
flanco negativo de WR. Las líneas PC3 y PC0 se encargan de esta señal
para los puertos A y B.
Palabra de Estado
Haciendo una lectura del puerto C cuando los puertos A y B están
trabajando en el Modo 1, se puede obtener el estado de los puertos A y
B. Solo hay que tener en cuenta la forma en que están trabajando los
puertos A y B, ya sea como entrada o como salida.
Figura 7. Lectura del puerto C en Modo 1.
Habilitación de interrupciones
Para el control de las señales INTR A e INTR B, se han de activar los bits
de habilitación INTE A e INTE B del puerto C usando el modo bit set/reset.
El registro de control, bajo formato bit-set/reset del puerto C, se programa
para activar los bits PC4 = INTE A y PC2 = INTE B cuando se trabaja
como los puertos como entradas o PC6 = INTE A y PC2 = INTE B cuando
se trabaja los puertos como salidas.
Operaciones de salida
̅̅̅̅̅̅
𝑨𝑪𝑲 (Reconocimiento). Un "0" en esta entrada permite que el búfer de salida
de tres estados del puerto A envíe los datos. De lo contrario, el búfer de salida
estará en el estado de alta impedancia. Esta señal está presente en PC6.
INTE 1 (El flip-flop INTE asociado con OBF). Controlado por bit set / reset de
PC6.
Operaciones de entrada
̅̅̅̅̅̅
𝑺𝑻𝑩 (Strobe Input). Un "0" en esta entrada carga datos en el latch de entrada.
Esta señal está presente en PC4.
IBF (Búfer de entrada Full F / F). Señal generada por el PPI. Un "1" en esta
salida indica que los datos se han cargado en el latch de entrada. Esta señal
está presente en PC5.
INTE 2 (El Flip-flop INTE asociado con IBF). Controlado por set / reset desde
PC4.
Los pines del puerto C que no se utilizan en líneas de control (PC0, PC1, PC2)
pueden ser utilizados como entrada o salida según se configure el puerto C.
En la figura 9 se utiliza los pines del puerto C para indicar cuando hay un dato
̅̅̅̅̅̅̅ y para indicar cundo el periférico acepto el
disponible en la PPI (señal : 𝑶𝑩𝑭
dato (señal ̅̅̅̅̅̅
𝑨𝑪𝑲):
̅̅̅̅̅̅
𝑨𝑪𝑲 𝑨
Recomendaciones
Debido a las diferentes funcionalidades que posee la PPI 8255 es
recomendable tener a la mano su Datasheet ya que en este se
encuentra mucha información extra acerca de las diferentes
combinaciones en las cuales se puede usar sus puertos.
6. Bibliografía