Conectándose a un bus de microprocesador sin un 8255

0

En un edificio hay 32 puertas, cada una con un sensor conectado. Cada puerta emite una señal 1 si está abierta y O si está cerrada. Quiero diseñar un sistema basado en PC para mostrar la condición de cada puerta (abierta / cerrada) en la pantalla de la computadora usando una interfaz de puerto paralelo mediante transferencia de datos de 8 bits a la vez.

He hecho un diseño utilizando Intel 8255 PPI y 8 MUX. El PUERTO A de 8255 se ha utilizado como entrada y dos pines del Puerto C se han utilizado como bits de selección de cada MUX.

Mi pregunta es si es posible hacer el diseño sin usar 8255 PPI, ¿haciendo una conexión directa con el microprocesador? Si es así, entonces ¿cómo?

    
pregunta user6216509

1 respuesta

2

Normalmente, sería tentador llamar a esto demasiado amplio ya que no ha especificado los detalles del procesador o del bus, pero supongamos que ya ha descubierto una manera de conectar el 8255 y que las señales son generadas por ese circuito disponible para su reutilización.

Básicamente, puede usar A1 y A0 para controlar su multiplexor, y la combinación de / CS y / RD (lógica O suponiendo una entrada baja activa) para habilitar un búfer de estado como 74xx244 para impulsar la salida del mux a su autobús. No necesitaría escribir en ningún registro, solo lea de una de las cuatro direcciones donde / CS está habilitado y A1: A0 selecciona el banco de interés.

Alternativamente, puedes usar un IC decodificador 1-de-n para decodificar las líneas de dirección y seleccionar un búfer de estados tripulados distinto para cada banco de entradas, aunque eso significa agregar la capacitancia de cuatro chips al bus de datos en lugar de solo uno . El uso de algo como un 74xx138 también podría incluir algunos de los descodificadores de la dirección base.

Puede que encuentre interesante la implementación del puerto de impresora paralelo en la PC de IBM - no usó un 8255 sino algo como esto, aunque había un 8255 en otras partes del sistema.

Las matrices lógicas PAL / GAL iniciales pueden ser una forma flexible de implementar la decodificación de direcciones, mientras que los CPLD posteriores o incluso los FPGA de la era 5v pueden hacer todo el trabajo.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas