Descargar

Temporizadores, registros, controladores e interfaces de teclados y displays en microcontroladores (página 2)

Enviado por reptilee


Partes: 1, 2

13. Definición de terminales para la 8279

1. A0. Entrada de dirección: una terminal que selecciona datos o control para lectura y escritura entre el microprocesador y la 8279. Un 0 lógico selecciona datos y un 1 lógico selecciona el registro de control o de estado.

2. BD. Apagar: una salida utilizada para borrar la exhibición visual.

3. CLK. Reloj: entrada que genero la temporización interna de la 8279. La frecuencia máxima permisible en la terminal CLK es de 3.125 Mhz. Otras temporizaciones requieren estados de espera en los microprocesadores, que operan a más de 5 MHz.

4. CN/ST. Control/habilitación: entrada que normalmente está conectada con la tecla control de un teclado.

5. CS. Selección de integrado: entrada utilizada para habilitar la 8279 para programación, lectura del teclado e información de estado y escribir datos de control y para exhibición.

6. DB7-DB0. Canal de datos: terminales bidireccionales que se conectan con el canal de datos del microprocesador.

7. IRQ. Solicitud de interrupción: una salida que se activa en 1 lógico cuando se oprime cualquier tecla. Esta señal indica que los datos del teclado están disponibles para el microprocesador.

8. OUTA3-OUTA0. Salidas: utilizadas para enviar datos más significativos a los dígitos de la exhibición.

9. OUTB3-OUTB0. Salidas: utilizadas para enviar datos menos significativos a los dígitos de la exhibición.

10. RD. Leer: una entrada conectada en forma directa con la señal IORC o RD del sistema. La entrada RD ocasiona, cuando CS es un 0 lógico una lectura en los registros de datos o en el registro de estado.

11. RESET. Reinicializa: una entrada que se conecta con la señal RESET del sistema.

12. RL7 hasta RL10. Líneas de retomo: entradas utilizadas para detectar cuándo se oprime cualquier tecla en la matriz de teclado.

13. SHIFT. Cambio a Mayúsculas: una entrada conectada con la tecla o teclas de cambio a mayúsculas en el teclado.

14. SL3 hasta SL0. Líneas de rastreo: salidas que rastrean el teclado y los dígitos de exhibición visual.

15 WR. Escribir: una entrada que se conecta con la señal de habilitación de escritura que se desarrolla con lógica externa. La entrada WR hace que los datos se escriban en los registros de datos o en los registros de control de la 8279.

16. V. Alimentación: terminal conectada a +5.0 volts del canal del sistema.

17. Vss: tierra: terminal conectada con la tierra del sistema.

14. Interface del 8279 con el microprocesador

En la figura 9-26 la 8279 está conectada con el microprocesador 8088. Se decodifica a la 8279 para que funcione como un dispositivo de E/S de 8 bits en las direcciones 10H y 11H, el puerto 10H es de datos y el 11H es el de control. En este circuito se utiliza un PAL 16L8 para decodificar la dirección E/S, así como para generar la señal de escritura en el banco inferior de E/S.

La única señal que no está conectada con el microprocesador es la salida IRQ, que es la terminal de solicitud de interrupción y su acción queda fuera del alcance de esta sección.

15. Interface con el teclado

Supóngase que un teclado cíe 64 teclas (sin exhibición numérica visual) está conectado con un microprocesador 8088 a través de la 8279. En la figura 9-27 se muestran las conexiones y el teclado. Con la 8279, la matriz del teclado es de cualquier tamaño entre 2 x 2 (4 teclas) y 8 x 8 (64 teclas). (Se debe tener en cuenta que cada punto de cruce de la matriz, contiene un interruptor de botón normalmente abierto, que conecta una columna vertical con un renglón horizontal siempre que se oprime una tecla.)

El número decodificado del puerto de E/S es el mismo que se decodifica para la figura 9-26. El número de puerto de E/S es el 10H para el puerto de datos y 11H para el puerto de control en este circuito.

Programación de la interface del teclado. Antes de poder detectar si se ha oprimido alguna tecla, hay que programar la 8279, lo cual es más complicado que para el 8255. Antes de programar la 8279 hay que tomar en consideración las 8 palabras de control que tiene. Los primeros 3 bits del número enviado al puerto de control, (11H en este ejemplo) selecciona a una de las 8 palabras de control diferentes. En la tabla 9-3 aparecen las 8 palabras de control y una breve descripción de cada una.

Descripción de las palabras de control. A continuación aparece una lista de las palabras de control que programan al 8279. Se debe tener en cuenta que los 3 primeros bits son el número del registro de control, que van seguidos por otros bits de información conforme se aplican a cada control.

  1. 000DDKKK. Inicializar el Modo: un comando con un código de 000 y dos campos programados para seleccionar el modo de funcionamiento de la 8279 El campo DD selecciona el modo de funcionamiento de la exhibición visual y el campo KKK selecciona el modo de funcionamiento para el teclado.

El campo DD selecciona una exhibición de a o de 16 dígitos y determina si se ha dado entrada a datos nuevos en la posición más a la derecha o más a la izquierda de la exhibición El campo KKK es mucho más complejo. Produce funcionamiento codificado, decodificado 'por señales estroboscópicas del teclado.

En el modo codificado, las salidas de SL son activas en altos y siguen la configuración de 0 hasta 7 o de 0 hasta 15, según sea que se seleccionen exhibiciones de 8 o de 16 dígitos. En el modo decodificado, las salidas SL son activas bajas y sólo una de las cuatro salidas es baja en un momento dado. Las salidas decodificadas repiten la configuración o patrón 1110, 1101 y 0111. En el modo por señales estroboscópicas un pulso activo en alto en la terminal de entrada CN/ST hace pasar los datos mediante una señal de habilitación estroboscópicas desde las terminales RL hasta la FIFO interna en donde se retienen para el microprocesador.

También es posible seleccionar la activación de 2 teclas o bien, de N teclas. La activación para dos teclas impide reconocer dos teclas si se activan al mismo tiempo. La N teclas aceptará todas las teclas oprimidas al mismo tiempo, desde la primera hasta la última.

2. 001PPPPP. Reloj: una palabra de control que programa el divisor interno del reloj. El código PPPPP es un preescalar de pulsos para lograr la frecuencia deseada de funcionamiento o sea, alrededor de 100 kHz. Por tanto, un reloj de entrada de 1 MHz, requiere un escalador de 010102 para PPPPP.

3. 010Z0AAA. Lee la FIFO: palabra de control que selecciona la dirección del código de una tecla en la memoria interna FIFO. Las posiciones AAA de los bits seleccionan la localidad deseada de la FIFO de 000-111 y Z selecciona el modo de autoincremento. En funcionamiento normal, esta palabra de control sólo se utiliza con el funcionamiento de matriz de sensores de la 8279

4. 011ZAAAA. Lee la exhibición: palabra de control que selecciona la dirección real de una de las localidades de la RAM de la exhibición, para leerla a través del puerto de datos. AAAA es la dirección de la localidad que se va a leer y Z selecciona el modo de autoincremento. Este comando se utiliza si se debe leer información almacenada en la RAM de la exhibición.

5. 100ZAAAA. Escribe la exhibición: una palabra de control que selecciona la dirección de escritura de uno de los caracteres o dígitos de la exhibición. AAAA direcciona la posición en que se va a escribir, a través del puerto de datos y Z selecciona el autoincremento para que las escrituras subsecuentes a través del puerto de datos, sean las posiciones siguientes de la exhibición.

  1. 1010WWBB. Inhibe la escritura exhibición: palabra de control que inhibe la escritura en uno u otra mitad de cada localidad de la RAM de la exhibición, La W que está más a la izquierda, inhibe la escritura en los 4 bits que están más a la izquierda de la localidad de la RAM de la exhibición, la W de la derecha inhibe los 4 bits que están más a la derecha. El campo BB funciona en forma similar, salvo que apaga cualquier mitad de las terminales de salida.
  1. 1100CCFA. Borra: palabra de control que borra la exhibición, la FIFO o ambas. El bit

E borra la FIFO, el estado de la RAM de la exhibición e inicializa el apuntador de dirección a 000. Si los bits CC son 00 o 01, entonces todas las localidades de la RAM de la exhibición se convierten en 0000000. Si CC = 10, todas las localidades se vuelven 00100000 y si CC = 11, todas las localidades se vuelven 11111111.

8. 111E000. Termina interrupción: palabra de control que se proporciona para llevar a cero la terminal IRQ en el modo de matriz de sensores.

Una vez que se inicializa el 8279, se requiere un procedimiento para leer los datos del teclado. Para determinar un carácter del teclado, se observa el registro de estado de la FIFO. Siempre que se direcciona al puerto de control con la instrucción IN el contenido de la palabra de estado de la FIFO se transfiere al registro AL. En la figura 9-28 se ilustra el contenido del registro de estado de la FIFO y se explica la función de cada uno de sus bits.

El procedimiento presentado en el ejemplo 9-18, prueba primero el registro de estado de la FIFO para determinar si contiene algunos datos. Si NNN = 000, la FIFO está vacía. Cuando se determina que la FIFO no está vacía, el procedimiento da entrada de datos a AL y retorna con el código del teclado en AL.

Los datos que se encuentran en AL cuando se retorna del procedimiento, contienen los datos que vienen del teclado. En Ja figura 9-29 se ilustra el formato de estos datos para los modos de funcionamiento de rastreo y con señales estroboscópicas. El código de rastreo lo entrega la interface del teclado y, para convenirlo a código ASCII, se utiliza la instrucción XLAT junto con una tabla de código ASCII. El código de rastreo entrega el número de renglón y de columna que ocupa los 6 bits más a la derecha. El bit SH muestra el estado de la terminal de cambio a mayúsculas y el bit CT muestra el estado de la terminal de control. En el modo de señales estroboscópicas, el contenido de las ocho entradas RL aparece cuando se les muestrea al colocar un 1 lógico en la terminal de entrada estroboscópica de la 8279.

16. Interface programable para comunicaciones 8251

El 8251 es una interface programable para comunicaciones destinada a conectarse con casi cualquier tipo de interface en serial. El 8251 A es un transreceptor universal, sincrónico y asincrónico (USART) totalmente compatible con los microprocesadores Intel siempre y cuando se inserten 2 estados de espera cuando funcione a 8 MHz. Para conexión con microprocesadores de velocidad más alta, se deben insertar estados de espera adicionales. El 8251A puede trabajar entre 0 y 64 kBaud (Bd-bits por segundo) en el modo sincrón y entre 0 y 19.2 kBd en el modo asincrón. La frecuencia en baudios es el número de bits transferidos por segundo, que incluyen arranque, paro, datos y paridad. El programador del 8251 selecciona el número de bits de datos, número de bits de paro, tipo de paridad (par o impar) y la velocidad de reloj en el modo sincrón. En el modo asincrón, el programador selecciona el número de bits de datos, paridad y el número de caracteres (uno o dos) para sincronización.

Los datos asincrón en forma serial son información que se transmite y recibe sin señal de reloj o temporización. En la figura 9-40 se ilustran dos cuadros de datos asincrón en serie. Cada cuadro contiene un bit de arranque, siete bits de datos, paridad y un bit de paro. En esta figura, un cuadro que contiene un carácter en ASCII tiene 10 bits. En casi todos los sistemas de comunicaciones se utilizan los 10 bits para datos asincrón en serie con paridad par.

En la figura 9-41 se ilustra el formato de los datos sincrón en serie. Se verá que esta información no contiene bits de arranque o de paro, sino sólo de datos y paridad. Además, se verá que los datos están sincronizados con un elemento de reloj o temporizador. En lugar de emplear los bits de arranque y paro para sincronizar cada carácter, en los datos sincrón se utiliza un carácter o caracteres de sincronización para sincronizar bloques de datos

En la figura 9-42 se ilustra el diagrama de base del USART 8251 A Hay dos secciones completamente separadas destinadas a las comunicaciones de datos: el receptor y el transmisor. Debido a que cada sección es independiente de la otra, el 8251A también puede funciona en los modos simplex, semiduplex y duplex completo.

17. Función de las terminales

1. C/D. Comando/Entrada de datos: selecciona el registro de comando/estado o de datos para el transmisor o desde el receptor. Esta terminal es un 1 lógico para accesar al registro de comando/estado y un 0 lógico para accesar a los datos.

2. CLK. Entrada de reloj: le proporciona al 8251A su fuente de temporización. La frecuencia de la señal de reloj debe ser de 3.125 MHz o menos. Esta entrada no determina la velocidad de transmisión de los datos digitales, pero debe ser, cuando menos, 16 veces más alta que los relojes de transmisión o recepción.

3. . Selección de integrado: habilita al 8251A cuando es 0 lógico.

4. . Listo para transmitir: es una señal de retorno del módem que indica que está listo para empezar a enviar información. Esta terminal debe estar conectada a tierra para empezar a transmitir datos.

5. D7 hasta D0. Canal de datos: terminales que se conectan con el canal de datos.

6. . Conjunto de datos listo: una entrada inversora utilizada para probar la señal del módem. La entrada indica que el conjunto de datos está listo para empezar la transmisión de información.

7. . Terminal de datos lista: entrada inversora que le indica a la terminal de datos del módem de que la terminal de datos (8251A) está lista para transferir información.

8. RESET. Reinicializar: entrada de reinicialización. Inicializa los circuitos internos del 8251A y seleccionan el modo de funcionamiento sincrón. Esta entrada está conectada con la señal RESET del canal del sistema.

9. . Lee entrada: se emplea para leer los datos que vienen del receptor o para leer el registro de estado.

10. . Solicitud de transmitir: una señal invertida que señala al conjunto de datos que el 8251 A solicita que se "voltee" la línea para transmitir Esta señal se emplea en el modo de funcionamiento semiduplex.

11. . Reloj del receptor: produce una señal de temporización para el receptor.

12. R x D. Recepción de datos: acepta los datos en serie para el receptor.

13. R x RDY. Receptor listo: muestra que el receptor ha recibido un dato en serie y que está listo para transferirlo, en paralelo, para el microprocesador conectado al 8251A,

14. SY/BD. Detectar sincronización/Detectar Ruptura: una salida que indica sincronización en el modo sincrón o la recepción de un carácter de ruptura en el modo asincrón. Un carácter de ruptura son dos cuadros completos de pulsos de arranque y se utiliza a menudo para "romper" las comunicaciones.

15. . Reloj del transmisor: le proporciona al 8251A la velocidad en baudios que determinan la frecuencia del reloj. La entrada se puede escalar por factores de 1, 16 o 64 en el modo asincrón y representa la frecuencia real en baudios para el funcionamiento sincrón.

16. T x D. Transmisión de datos: conexión para salida serial de datos.

17. T x EMPTY. Transmisor vacío: señal que indica que el transmisor del 81251A ha terminado de transmitir todos los datos.

18. T x RDY. Transmisor listo: señal que indica que el transmisor del 825lA está listo para recibir otro carácter para su transmisión.

19.. Entrada de escritura: señal de habilitación estroboscópica para enviar datos al transmisor o al registro interno de comandos para programación.

18. Programación del 8251A

Laprogramación del 8251 es sencilla al compararla con la de otras interfaces programables descritas en este capítulo. La programación es un trabajo en dos partes que incluye diálogo de inicialización y un diálogo de funcionamiento.

El diálogo de inicialización que ocurre después de una reinicialización por circuito de programa, consta de dos partes: reinicialización y modo Debido a un aparente error en el diseño, el 8251A no se reinicializa en forma correcta con la terminal de entrada para este propósito (RESET). En vez de ello, se debe reinicializar con una serie de instrucciones que se envían al registro de comando tres OOH seguidos por un 4014 (el comando u orden de reinicialización por programa).

Una vez renicializado se puede programar con la palabra de modo, que lo hace funcionar en forma asíncrona o síncrona. En la figura 9-43 se muestran las palabras comando para los modos síncrono y asíncrono. Ambas palabras especifican el número de bits de datos y de paridad. En el modo asíncrono, se programan el número de bits de paro y el divisor del reloj, y en el modo síncrono se programan el número de caracteres de sincronización y la función de la terminal SY.

La terminal SY se programa como entrada, la cual indica sincronización como salida, que indica que hubo recepción de los caracteres de sincronización. En el modo asíncrono, se programa la instrucción del modo y con ello termina la programación de inicialización. En el modo síncrono, se programa uno o los dos caracteres de sincronización después del comando de modo para concluir la programación de inicialización.

Supóngase que un sistema asíncrono requiere siete bits de datos, paridad impar, un divisor de reloj de 64 y un bit de paro. En el ejemplo 9-24 aparece un procedimiento para inicializar al 8251A para que funcione en esa forma. En la figura 9-44 se muestra la interface con el microprocesador 8085 con el empleo de un PAL 16L8 para decodificar las direcciones de los puertos FDH y FFH de 8 bits. En este caso, el puerto FDH accesa al registro de datos y el FFH al registro de comandos. Se debe tener en cuenta que la velocidad en baudios en la entrada de reloj es de 76 800 Hz y los datos en serie transmitidos y recibidos están a 1200 baudios. La razón es que el multiplicador de frecuencia en baudios está programado para dividir la entrada de reloj entre un factor de 64 en este ejemplo.

Si se hace funcionar el 8251A en el modo síncrono, la secuencia de programación es muy semejante, excepto que también se programan uno o los dos caracteres de sincronización. En el ejemplo 9-25 se presenta un procedimiento que programa al 8251A para funcionamiento síncrono, con el empleo de 7 bits de datos, paridad par, SY como salida y dos caracteres de sincronización.

Después de programar la instrucción de modo en el 8251A, todavía no está listo para funcionar. Una vez programado el modo de funcionamiento asíncrono y después de programar el modo y los caracteres de sincronización en el modo síncrono, todavía hay que programar el registro de comandos. En la figura 9-45 se ilustra la palabra de comando para el 8251A, la cual habilita al transmisor y al receptor, controla a DTR y RTS, envía un carácter de ruptura en el modo asíncrono, reinicializa errores, reinicializa al 8251A y entra al modo de exploración para funcionamiento síncrono. Consulte el ejemplo de la programación de las palabras de comando en los ejemplos 9-24 y 9-25.

Antes que sea posible escribir el programa para enviar o recibir datos seriales con el 8251A, necesitamos conocer la función del registro de estado (figura 9-46). El registro de estado contiene información acerca de condiciones de error y los estados de DSR, SY/BD, T x EMPTY, R x RDY y T x RDY

Supóngase que se escribe un procedimiento (véase Ejemplo 9-26) para transmitir el contenido de AH a través de la terminal de salida (T x D) de datos seriales del 825lA. El programa examina continuamente (encuesta) el bit de T x RDY, para determinar si el transmisor está listo para recibir datos. En ese procedimiento se utiliza el circuito de la figura 9-44.

19. Controlador programable de monitor o TRC 8275

Es un chip de 40 pínes el cual provee la temporización y control para el texto desplegado en tina pantalla de vídeo. El texto es almacenado en una sección de memoria a la que se designa con el nombre de RAM de despliegue de texto y de vídeo. El CPU pone el código ASCII digital para los caracteres de texto en esta RAM de despliegue, y el PCRTC produce las señales de vídeo necesarias para desplegar los símbolos en la pantalla de vídeo.

El 8271 escanea repetidamente (60 veces por segundo) la memoria de vídeo de la computadora comenzando en una localización especificada para un número especificado de bytes mapeando estas localizaciones de memoria por encima de las posiciones, en la pantalla, tomando el código ASCII, binario numérico en una celda de memoria y llevándolo a un símbolo en la pantalla el cual tiene el correspondiente código de ASCII.

El número de caracteres por línea y las líneas por pantalla es programado en el 8275, por el usuario bajo la inicialización del dispositivo. Los valores máximos para estos parámetros son 80 caracteres por línea y 64 por pantalla.

El 8275 tiene características especiales como el parpadeo de caracteres, control del cursor, soporte de un lápiz y óptico y algunas gráficas. Estas son programadas por el usuario mediante su puerto de control especial en el espacio de

I/O.

Muchas computadoras personales y terminales tienen un board completo lleno con la lógica de control de despliegue de texto, de vídeo. Usando un chip controlador de despliegue de CRT puede reducir significativamente el costo, el espacio y los requerimientos de potencia de circuitería, tal como en el precio de la flexibilidad reducida.

El Controlador programable de la CRT 8275 es un solo dispositivo para interconectar visualizadores del de la trama de la CRT. Se fabrica en la tecnología anticipada de Siemens MYMOS. Su función primaria es restaurar la visualización protegiendo la información de la memoria principal y no perdiendo de vista la posición de visualización de la pantalla. La flexibilidad de diseño en el 8275 permitirá un interfaz simple a casi cualquier visualización de la CRT de la exploración de trama usado un mínimo de dotación física externa y de software lógico interno.

20. Descripción Funcional

Buffer intermediario del bus de datos: Este estado tres, bidireccional, buffer intermediario de 8 dígitos binarios se utiliza para interconectar los 8275 al bus de datos del sistema. Este bloque funcional valida entradas de información de las señales de control de sistema para la operación total del legado. Contiene el comando, el parámetro, y los varios formatos del control del estatus para la definición del funcional del dispositivo.

RD (Leído): Un " bajo " en esta entrada de información informa a los 8275 que la CPU es datos de lectura o información de estatus de los 8275.

WR (Escriba): Un " bajo " en esta entrada de información informa a los 8275 que la CPU es datos de la escritura o palabras de control a los 8275.

CS (viruta selecta): Un " bajo " en esta entrada de información selecciona la savia 8275. Ninguna lectura o escritura ocurrirá a menos que el dispositivo sea seleccionado. Cuando el CS es alto, el bus de datos en el estado del flotador y RD y el WR no tendrá ningún efecto en la viruta.

DRQ (requerimiento del acceso directo de memoria): Un " alto " en esta salida informa al controlador DMA que los 8275 deseos una transferencia del acceso directo de memoria.

DACK (el acceso directo de memoria reconoce): Un " bajo " en esta entrada de información informa a los 8275 que un ciclo del acceso directo de memoria está en marcha.

IRQ (requerimiento de la interrupción): Un " alto" en esta salida informa a la CPU que los 8275 deseos interrumpen servicio.

Carácter contrario: El contador del carácter es un contador programable que se utiliza para determinar el número de los caracteres que se visualizarán por fila y la longitud del intervalo horizontal del retraso. Es conducido por el CCLK (reloj del carácter) entrado, que debe ser un derivado del reloj externo del punto.

Contador de líneas: es un contador programable que se utiliza para determinar número línea (barrido) horizontal por cada fila. Sus salidas se utilizan para tratar la ROM externa del generador de carácter.

Fila contraria: es un contador programable que se utiliza para determinar número de carácter por fila para ser visualizado por marco y longitud vertical en su intervalo.

Light pen register: estos son dos registro que guardan el contenido carácter contador y fila contador siempre que allí es uno creciente borde en LPEN (Light pen). Entrada de información.

Nota: Se requiere la corrección de software lógica.

Sincronización de la trama y controles video: El trazado de circuito de la sincronización de la trama controla la sincronización de las salidas de HRTC (Barrido horizontal) y de VRTC (barrido vertical). vídeo control trazado de circuito control generación LA0-1 (línea atribuir), HGLT (destacar), RRV (inverso visualización), LTEN (luz permitir), VSP (vídeo suprimir), y GPA0-1 (fines generales atribuir) salida.

Bufferts de la fila: Los buffers intermediarios de la fila son dos 80 buffers intermediarios del carácter. Se llenan de la memoria de sistema del microordenador de los códigos de carácter rematan se visualicen. Mientras que un buffer intermediario de la fila está visualizando una fila de los caracteres, el otro se está llenando de la fila siguiente de caracteres.

FIFOs: Hay dos FIFOs de 16 caracteres en los 8275. Se utilizan para proporcionar longitud adicional del buffer intermediario de la fila en el modo transparente del atributo.

Controladores de entrada/salida del buffer intermediario: Los controladores de entradas/salidas del buffer intermediario decodifican los caracteres que son colocados en los buffers intermediarios de la fila. Si el atributo del carácter, el atributo del campo o el código especial, estos reguladores controlan la acción apropiada. (Ejemplo: Un " final de la petición del acceso directo de memoria de la parada de la pantalla. Un atributo del campo del " toque de luz " hará el buffer intermediario hacer salir el controlador para activar el HGLT hecho salir).

21. Definiciones de lo Pines

LC3-LC0 (Cuenta De la Línea): Salida del contador de la línea que se utiliza para tratar el generador de carácter para las posiciones de línea respecto a la pantalla.

DRQ (petición del acceso directo de memoria): Señal de salida al controlador DMA 8237 que solicita un ciclo del acceso directo de memoria.

DACK (El Acceso directo de memoria Reconoce): Señal de entrada de información del controlador DMA 8237.

HRTC: Señal de salida que es activa durante el intervalo horizontal programado del retraso.

VRTC: Señal de salida que es activa durante el intervalo vertical programado del retraso.

RD: Una señal de control de leer los registros.

WR: Una señal de control a escribe comandos en el registro de control o escribe datos en los buffers intermediarios de la fila durante un ciclo del acceso directo de memoria.

LPEN: Señal de entrada de información del sistema de la CRT significando que se ha detectado una señal de la pluma ligera.

DB0-DB7: Las salidas son permiten durante leídas de los accesos de C o de P.

LA0-LA1: este código de atributo tiene que ser decodificado externamente por dot/timing lógica para generar horizontal y vertical línea combinación para gráfico representación especificar por carácter atributo código.

LTEN: La señal de salida permitía la señal video a la CRT.

RVV: La señal de salida indicaba el trazado de circuito de la CRT para invertir la señal video.

VSP: La señal de salida escondía la señal vídeo a la CRT.

GPA1-GPA0: Las salidas que son permiten por códigos de fines generales del atributo del campo.

IRQ: Petición de la interrupción.

CCLK: Reloj del carácter.

CC6-CC0: Salida de los buffers intermediarios de la fila usados para la selección del carácter en el generador de carácter.

CS: Haber leído y escribe habilitada por el CS.

A0 (Adress Port): Una alta entrada de información en A0 selecciona el registro portuario del comando de " C " y una entrada de información baja selecciona el acceso de " P " o registro del parámetro.

Vcc: Fuente de alimentación de +5V.

Tierra: Tierra (0v).

22. Controlador Programable de discos flexibles 8271

El Intel 8271 control programable del disco Floppy (FDC) está en el componente diseñado a interface uno de cuatro directorios de discos de floppy a un sistema de microcomputadora de 8 bit. Su poderoso control de funciones minimiza ambos instrumentos y software. Normalmente asociado con los controladores coin el disco de Floppy.

El disquete IBM usado para el almacenaje y restauración de datos esta organizado dentro de un circular de unas concéntricas o búsqueda. Hay 77 cursos en ambos lados del disquete.

En un disquete de ambos lados, el tope correspondiente y el rastro inferior son referidos como cilindros. Cada vía esta dividida en longitudes fijas de secciones o sectores. El número de sectores por vía de 26,1 5u8 esta determinado cuando el camino es formateado y este depende de una longitud de sectores 128, 256 y 512 bytes respectivamente.

23. Descripción funcional

El controlador del Disco Floppy 8271 (FDC) Interface tanto en los dos senallos como un directorio dual de Floppy a un microprocesador de 8 y está completamente compatible con un Intel nuevo de alto rendimiento del sistema de Microcomputador externo. Este controlador innovador soporta más estándares comúnmente disponible directo de disco, incluyendo el mini-floppy

El 8271 FDC soporta un sector, un comprensivo formato, el cual es un IBM 3740 compatible e incluye provisión para la designación y manejo de malas vías. Es un gran nivel de control que pone en relieve el CPU (37 usuario) de muchos de los controles asociados con la implementación del disco de interface del floppy. El FDE soporta una variedad de altos niveles de instrucciones el cual permite al usuario el almacenaje y búsqueda de datos en un Disco Floppy, sin idear con el bajo nivel de detalles en la opinión del disco.

En adición a los estándares de mandatos de escritura/lectura, un mandato de escudriñar permite al usuario del programa especificar un dato de modelo e instruir el FDC para buscar el modulo en búsqueda. Cualquier aplicación que sea requerida para buscar información que sea requerida para buscar información del disco (tales como punto de venta, colocación de precios, búsqueda de directorio de disco, etc.) Debe usar el mandato de escáner de escudriñar para reducir el alto del CPU una vez que la operación de escudriñar es iniciada, no requiere interacción del CPU.

24. Descripción de interface del CPU

Esta interface minimiza el involucramiento del CPU mediante soportar un conjunto de alto nivel de mandatos en ambos DMA y no DMA tipos de transferencias de datos y mediante poseer estatus de información jerárquica con miras al restutado de la ejecución de mandato.

El CPU utiliza el control de interface (vea el bloque de diagrama) para especificar el mandato de FDC y para determinar el resultado de la ejecución del mandato. Esta interface es soportada por 5 registros que son dirigidos por la vía de la señal CPU Al, AO RD y WR. Si un sistema basado en 808 es usado, las señales de RD y WR pueden ser conducidas por el 8288 F/OR y 10W. Los registros son definidos como sigue:

REGISTRO DE MANDATO: Acepta parámetros que requieren descripciones más amplias, hasta 5 parámetros pueden ser requeridos.

REGISTRO DE RESULTADO: Es usado para suministrar el resultado de rDC que es mandato de ejecución (tales como complemento bueno o malo) al

CPU

ESTADO DE REGISTRO: Refleja el estado de FDC.

Modo de Prueba. Permite que el 8271, debe ser reseteado por el programa.

INT. (Línea de interrupción). Otro elemento de control de interface es la línea de interrupción ([NT). Esta línea es usada para señalar el CPU que una operación de FDC ha sido terminada (completada). Esta se mantiene activa hasta que el registro de resaltado es leído.

25. Operación DMA

El 8271 puede transferir datos en ambas DMA o DMA modo. El dato de transferencia de un directorio de disco floppy es suficientemente alto (un byte cada 32) para justificar la transferencia a DMA. Los elementos de interferencia en el DMA son:

DRQ: Requerimiento DMA. La señal de requerimiento del DMA es usada para requerir una transferencia de datos entre el 8271 y la memoria.

DACK: Conocimiento de DMA. La señal de conocimiento de DMA notifica al 8271 que un ciclo de DMA ha sido transferido.

Lectura y Escritura. Las señales de lectura y escritura son usados para especificar la dirección de transferencia de datos.

La transferencia DMA requiere el uso de controlar tales como el Intel de 8257. la función de controlar del DMA es para proveer una dirección y tiempo para la transferencia en un comienzo de dirección determinado por el CPU, Conteo de Bloque de datos de longitud, es rendido por el LFDC.

Para requerir una transferencia de DMA, el FDC aumenta el DRQ, DACK y RD deshabilita el dato DMA dentro del conductor (independientemente del chip selector). DACK y WR transfieren datos de DMA al FDC. Si un requerimiento de transferencia de datos (leer o escribir) no es servido dentro de3l, o sea, el mandato es cancelado un estatus de DMA es colocado, y una interrupción es generada. En el modo de DMA, una interrupción es generada en la culminación de un bloque de datos de transferencia.

Cuando es confirmada una transferencia de datos es modo de NO-DMA, el CPU debe pasar datos al FDC en respuesta al requerimiento de datos de NO-DMA indicado por el estatus de la forma. El dato es pasado a Y desde el chip por medio de acertar al DACK el RDO señales WR.

26. Interface de manejo de disco

El 8271 interface de manejo de disco describe en sección de mando. El

8271 mantiene la colocación de búsquedas y la colocación para dos manejos de

cualquier modo con menor soporte de Software, esta interface puede soportar 4

manejos por medio de expandir las dos líneas de selectores de manejo. (Selector

0, Selector 1) con adición de soporte mínimo al hardware. El Disco de FDC

interface tiene las siguientes funciones

Función de lectura: Utiliza el usuario para suplir datos de la ventana para obtener el reloj y datos de copias de los datos no separados de lectura.

– Establece sincronización de Bytes.

– Computa y verifica ID y el campo de salas CRCS Función de escritura.

– Descodifica datos de escritura compuesta

– Computa el ID y el campo de datos CRCS y dependen de sus respectivos campos.

27. Separación de datos

El 8271 necesita solamente un dato de ventana para separar el dato desde el compuesto de datos, tanto bien como se detecte el reloj faltante en las marcas de direcciones. La ventana de la lógica de generación debe ser implementada usando tanto una simple tiro o osciladores de fases cerradas de costo bajo.

El FDC ejemplifica el valor de datos de ventana en el liderazgo de fin y datos sin pares y determinar si el retraso desde el pulso anterior fue la mitad o una completa celda de bit ( alta entrada, completa bit-celda baja entrada media celda bit) PLO/SS deben ser atados al principio.

Separador de osciladores de cierre – fase

EL FDC ejemplifica el valor de los datos de ventana sobre el liderazgo de fin y datos sin separar y determina si el pulso determina un reloj o pulso de datos.

PLO/SS debe ser atado al VA/C+SU

28. Interfaces de control de manejo de disco

Este rinde el mas alto nivel y operación de disco flexible programable. Esta costumbre debe ser variada del rendimiento de manejos de los parámetros tales como pasos de rate, colocación de tiempo, cabeza de carga de tiempo y cabeza de conteo de índice cargador. la siguiente es la descripción del control de interface.

Deshabilitación de escritura

El control de habilitación de escritura controla la función de lectura de un manejo de disco flexible. Cuando la WE es un 0 lógico, este habilita el manejo de escritura electrónico para pasar de momento a través de la cabeza de lectura/escritura. Cuando la habilitación de escritura es lógicamente cero, el manejo de circuito de escritura es deshabilitado y la cabeza de leer/escribir detecta el flujo magnético de transacción gravada en el disquete. la forma actual de la escritura es como sigue

Búsqueda de Control: Esta comprendida por la búsqueda de paso, dirección y los pines de cuenta y puede ser implementada en dos vías, para proveer una flexibilidad máxima, el diseño de subsistemas. Una instancia puede ser cuando el rate de pasos programables no es igual a cero; en el 8271 se usa (la búsqueda/paso se convierte en pines de pasos). Se muestran parámetros de pasos de tiempo programados.

Otra instancia es cuando el rate de pasos programables son iguales a cero, en los cuales el caso del 8271 retendrá la línea de búsqueda alta hasta que el número apropiado del proceso de paso de suplemento del usuario haya sido contado en la cuenta de salida del pin.

Colocación de Cabeza: El 8271 permite la programación de tiempo de colocación de cabeza desde O a 2flflMs en incremento de IMS.

Cabeza de Carga: la cabeza de carga de pin de salida debe convertirse en activo antes de cualquier operación de lectura y escritura y mantenerse activo para un número programable (0-14) de revolución de disco después de la terminación de cada operación. Cuando se hacen accesos frecuentes el retraso de la carga de cabeza es eliminado.

Indice : La entrada del Indice es usada para determinar estatus del sector no encontrado, para iniciar el formato de búsqueda/lectura mandato ID y el índice de descarga de cabeza y conteo de operaciones.

Búsqueda O. Esta indica que el disco esta en búsqueda O durante cualquier operación de búsqueda. la salida de paso del activador cesará cuando la búsqueda O se convierta en activa.

Selección de I, O. Solo sc debe elegir un manejador a la vez. Los pines de entrada/salida que debe ser calificados externamente con seleccionar O y seleccionar I.

29. El interfaz de periféricos 8255

El PPI 8255 es un dispositivo de E/S general, programable, capaz de controlar 24 líneas con diferentes configuraciones (entrada/salida) y en hasta 3 modos de operación.

30. Descripción del integrado

Conexiones del 8255 con el exterior:

D0..D7: Bus de datos bidireccional de 3 estados.

RESET: Esta señal borra el registro de control y todos los puertos (A, B y C) son colocados en modo entrada.

Utilizada por la CPU para leer información de estado o datos procedentes del 8255.

Utilizada por la CPU para enviar palabras de control o datos al 8255.

A0..A1: Líneas de dirección: permiten seleccionar uno de los tres puertos o el registro de control.

PA0..PA7: Puerto A: puerto de entrada/salida de 8 bits.

PB0..PB7: Puerto B: puerto de entrada/salida de 8 bits.

PC0..PC7: Puerto C: puerto de entrada/salida de 8 bits.

31. Descripción funcional

Las dos líneas de direcciones definen cuatro puertos de E/S en el ordenador: los tres primeros permiten acceder a los puertos A, B y C; el cuarto sirve para leer o escribir la palabra de control. El 8255 está dividido en dos grupos internos: el grupo A, formado por el puerto A y los 4 bits más significativos del puerto C; y el grupo B, constituido por el puerto B junto a los 4 bits menos significativos del puerto C. El puerto C está especialmente diseñado para ser dividido en dos mitades y servir de apoyo a los puertos A y B en algunos sistemas.

32. Programación del 8255

El 8255 soporta 3 modos de operación: el modo 0 (entrada y salida básica), el modo 1 (entrada y salida con señales de control) y el modo 2 (bus bidireccional de comunicaciones). Tras un Reset, los 3 puertos quedan configurados en modo entrada, con las 24 líneas puestas a "1" gracias a la circuitería interna. Esta configuración por defecto puede no obstante ser alterada con facilidad. El modo para el puerto A y B se puede seleccionar por separado; el puerto C está dividido en dos mitades relacionadas con el puerto A y el B. Todos los registros de salida son reseteados ante un cambio de modo, incluyendo los biestables de estado. Las configuraciones de modos son muy flexibles y se acomodan a casi todas las necesidades posibles. Los tres puertos pueden ser accedidos en cualquier momento a través de la dirección E/S que les corresponde, como se vio en el apartado anterior. La palabra de control a enviar a la 4ª dirección es:

Si el bit más significativo de la palabra de control está borrado, es tratada entonces como un comando especial que permite activar o inhibir selectivamente los bits del puerto C:

Esto es particularmente útil para los modos 1 y 2, donde las interrupciones generadas por las líneas del puerto C pueden ser activadas o inhibidas simplemente poniendo a 1 ó 0, respectivamente, el flip-flop interno INTE correspondiente a la interrupción que se trate. Todos son puestos a cero tras establecer el modo.

33. Modos de operación del 8255

MODO 0: Esta configuración implementa simples funciones de entrada/salida para cada bit de los 2 puertos de 8 bits y los 2 puertos de 4 bits; los datos son leídos y escritos sin más, sin ningún tipo de control adicional. Los puertos pueden ser configurados de entrada (sin latch) o salida (los datos permanecen memorizados en un latch).

MODO 1: Este modo es el strobed input/output (entrada/salida a través de un protocolo de señales). Existen dos grupos (A y B) formados por los puertos A y B más el puerto C, que es repartido a la mitad entre ambos grupos para gestionar las señales de control. Tanto si se configura de entrada como de salida, los datos permanecen en un latch. Con este modo es factible conectar dos 8255 entre sí para realizar transferencias de datos en paralelo a una velocidad considerable, con posibilidad de generar interrupciones a la CPU en el momento en que los datos son recibidos o hay que enviar uno nuevo (consúltese documentación técnica).

MODO 2: En este modo se constituye un bus bidireccional de 8 bits, por el que los datos pueden ir en un sentido o en otro, siendo el flujo regulado de nuevo por señales de control a través del puerto C. Este modo sólo puede operar en el Grupo A. Tanto las entradas como salidas son almacenadas en latch.

NOTA: Existen varias combinaciones posibles de estos modos, en las que las líneas del puerto C que no son empleadas como señales de control pueden actuar como entradas o salidas normales, quedando las líneas de control fuera del área de influencia de los comandos que afectan a las restantes.

34. El 8255 en el PC

El 8255 es exclusivo de los PC/XT; ha sido eliminado de la placa base de los AT y PS/2, en los que ciertos registros realizan algunas funciones que en los PC/XT realiza el 8255; por ello, en estas máquinas NO se puede programar el 8255(ha sido eliminado y no existe nada equivalente). El 8255 de los PC/XT está conectado a la dirección base E/S 60h; por ello, los puertos A, B y C se acceden, respectivamente, a través de los puertos de E/S 60h, 61h y 62h; la palabra de control se envía por el puerto 63h: la BIOS del PC y XT programa el 8255 con una palabra de control 10011001b, que configura todos los puertos en el modo 0, con el A y C de entrada y el B de salida. El 8255 es empleado, básicamente, para almacenar los datos que llegan del teclado (puerto A), para leer la configuración del ordenador en los conmutadores de la placa base (puerto C) y para controlar el altavoz y la velocidad en los XT-Turbo (puerto B).

Un método para averiguar la configuración del PC/XT

Aviso: los PC tienen un byte de identificación 0FFh; los XT 0FEh (este byte está en la posición de memoria 0FFFF:0Eh); por otro lado, parte de esta información es accesible también por medio de la variable BIOS ubicada en 40h:10h, método mucho más recomendable.

Puerto A (60h): tiene una doble función: cuando el bit 7 del puerto B está a 1, el puerto A recibe el código de rastreo de la tecla pulsada, que luego puede ser leído desde la interrupción del teclado. Si el bit 7 del puerto B está a 0, entonces el puerto A devuelve información sobre la configuración del sistema en los PC (no en los XT): en el bit 0 (a 1 si hay disqueteras), bits 2..3 (número de bloques de 16 kb de memoria ¡que obsoleto e inútil!), bits 4..5 (tipo de pantalla: 11 MDA, 10 Color 80×25, 01 Color 40×25) y bits 6..7 (número de unidades de disco, si el bit 0=1).

Puerto B (61h): bit 0 (PC/XT: conectado a la línea GATE del contador 2 del 8253), bit 1 (PC/XT: conectado al altavoz), bit 2 (sólo PC: selecciona el contenido del puerto C), bit 3 (en XT: selecciona contenido del puerto C; en PC: a 0 para activar el motor del casete), bit 4 (PC/XT: a 0 para activar la RAM), bit 5 (PC/XT: a 0 para activar señales de

error en el slot de expansión), bit 6 (PC/XT: a 1 activa la señal de reloj del teclado), bit 7 (en PC: empleado para seleccionar la función del puerto A; tanto en PC como en XT sirve además para enviar una señal de reconocimiento al teclado).

Puerto C (62h): Si el bit 2 del puerto B (PC) o el bit 3 del puerto B (XT) están a 1:

– En los PC: los bits 0..3: mitad inferior del 2º banco de conmutadores de la placa base (RAM en slots de expansión); bit 4 (entrada de casete).

– En los XT: bit 1 (activo si coprocesador instalado), bits 2..3 (bancos de RAM en placa base). – En PC/XT: bit 5 (OUT del contador 2 del 8253), bit 6 (a 1 si comprobar errores en slots de expansión), bit 7 (1 si comprobar error de paridad).Si el bit 2 del puerto B (PC) o el bit 3 del puerto B (XT) están a 1:

– En los PC: bits 0..3 parte alta del segundo banco de conmutadores de configuración (no usada).

– En los XT: bits 0..1 tipo de pantalla (11 MDA, 10 color 80×25, 01 color 40×25), bits 2..3 (nº de disqueteras menos 1).

  • En PC/XT: los bits 4..7 están igual que en el caso anterior (no dependen del bit 2 ó 3 del puerto B).

 

 

Autor:

Luis Garcia

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente