domingo, 22 de febrero de 2009

PUERTOS DE ENTRADA / SALIDA EN UN MICROCONTROLADOR

Cualquier aplicación de un sistema digital basado en un microprocesador o
microcontrolador requiere la transferencia de datos entre circuitos externos al
microprocesador y él mismo. Estas transferencias constituyen las operaciones
llamadas ENTRADA y SALIDA, (input /output ) o ES ( I/O).

Los puertos de entrada/salida son básicamente registros externos o internos.
Algunos microprocesadores proporcionan señales de control que permiten que los registros externos que forman los puertos de E/S ocupen un espacio de direcciones separada, es decir, distinto del espacio de direcciones de los registros externos que componen la memoria. Cuando los puertos tienen asignado un espacio de direcciones separado, se dice que están en modo de
ENTRADA/SALIDA AISLADA o E/S ESTÁNDAR. Por el contrario, cuando se ubican dentro del mismo espacio que la memoria, se dice que están en modo de ENTRADA/SALIDA MAPEADA A MEMORIA o PROYECTADA EN MEMORIA.

En su forma más elemental, un puerto de entrada está compuesto sólo por un
buffer de tercer estado y con más frecuencia por un buffer de tercer estado junto con un registro de almacenamiento (latch). El buffer de tercer estado tiene la función de controlar, es decir, aislar o permitir el flujo de información del puerto al bus de datos del microprocesador. El registro tiene la función de almacenar temporalmente la información generada por el dispositivo periférico de entrada hasta que pueda ser leída por el microprocesador.

ENTRADA/SALIDA AISLADA.- Para que un microprocesador pueda implementar el modo E/S aislada (isolated I/O) son indispensables las siguientes condiciones:
1.- El microprocesador debe proporcionar señales de control que permitan
distinguir entre una operación con un puerto y una referencia a memoria.
2.- El código de instrucciones debe tener instrucciones especiales con las
que se pueda leer (entrada) o escribir (salida) en los puertos.

ENTRADA/SALIDA MAPEADA.- El modo de E/S mapeada a memoria (memory
mapped I/O) se basa en que tanto las localidades de memoria como los puertos de E/S se consideran como registros externos desde el punto de vista del microprocesador. Entonces, las instrucciones que hacen referencia a la memoria también pueden transferir datos entre un dispositivo periférico y el
microprocesador, siempre y cuando el puerto de E/S que los interconecta se
encuentre dentro del espacio de direccionamiento de memoria, es decir,
controlado por las señales de control para memoria. De esta forma, el registro
asociado con el puerto de E/S es tratado simplemente como una localidad de
memoria más.

Una características importante es que las operaciones de entrada y salida usando E/S mapeada a memoria no están limitadas a los registros internos.

No hay comentarios:

Publicar un comentario