Sie sind auf Seite 1von 23

Curso PCs/ Perifricos

13.1 Acceso directo a memoria (DMA)


En una gran cantidad de ocasiones, la CPU necesita transferir informacin desde un lugar a otro de la memoria o entre sta y un perifrico, para realizar una determinada tarea, por ejemplo: Transferir o mover un bloque de memoria desde un lugar a otro. Leer un bloque de memoria dinmica con el fin de producir el refresco de la misma. Transferir informacin desde la memoria hasta la unidad de disco (escritura). Transferir desde el disco a la memoria (lectura). .- Verificar si la informacin grabada en disco coincide con la que hay en memoria, comparando ambas. Existen dos maneras de realizar cualquier tipo de transferencia de un lugar a otro, por software y por hardware. Transferencia por software: Mediante un programa que se encargue de ir cogiendo octetos de un lugar y almacenarlos en otro. En este mtodo, la CPU participa activamente en la transferencia, pues debe ir leyendo, decodificando y ejecutando las instrucciones del programa encargado de la transferencia. La secuencia de instrucciones Cargar/Almacenar consumen gran cantidad de tiempo por octeto transferido. Si el nmero de octetos a transferir fuese grande, el tiempo total transcurrido sera excesivo. Transferencia por hardware: Se emp1ea una circuitera especial, diseada expresamente para realizar transferencias sin intervencin de la CPU. Cuando se requiere mover informacin, la CPU se inhibe de los buses hacindose cargo de ellos dicha circuitera. Se generan las seales de bus de direcciones y control necesarias par coger un octeto de un lugar y depositarlo en otro. Esta circuitera recibe el nombre de MDA (Direct Memory Access, Acceso Directo a Memoria). Al no haber intervencin por parte de la CPU, cada octeto transferida se realiza a mucha ms velocidad ya que depende de una circuitera diseada al efecto y que no tiene que leer, decodificar ni ejecutar ningn tipo de instruccin. En la Fig 13.1 se presenta el esquema por bloques de una arquitectura en la cual se emplea un sistema DMA para la realizacin de transferencias. En un principio la CPU mediante los buses tpicos gobierna 1os diferentes elementos de que consta cualquier ordenador; memoria y perifricos de E/S. Cuando un elemento tenga necesidad de realizar una transferencia de informacin, activa la lnea de peticin de transferencia (DERQ n) del DMA. La DMA a su vez solicita los buses de la CPU mediante la seal HRQ. La CPU se detiene dejando los buses en alta impedancia y responde al DMA con la seal HLDA (Buses concedidos). El DMA por fin contesta con la sea1 de reconocimiento (DACK n) al perifrico que lo solicit.

Pg. N 206

Curso PCs/ Perifricos

Fig 13.1 Comienza la transferencia en las condiciones previamente establecidas: direccin a partir de la cual se van a mover los datos, si se van a leer de memoria para escribir sobre perifrico o se leen del perifrico para escribir en memoria, etc. Finalizada la misma, el perifrico retira la peticin al DMA. Este a su vez, a la CPU. Esta se hace con los buses y el sistema contina trabajando normalmente.

13.2 Controlador programable de DMA: 8237


Como ya hemos comentado la misin de este componente de la familia INTEL, es permitir transferir informacin directamente a la memoria del sistema desde los perif6ricos externos sin pasar por la CPU. Cada CDMA 8237, soporta el acceso directo a memoria de hasta 4 perifricos, ya 4ue dispone de 4 canales internos que estn numerados de 0 a 3. Adems uniendo en cascada varios 8237 se pueden crear estructuras complejas capaces de atender a muchos dispositivos. En la Fig 13.2 se muestra el esquema de conexionado del 8237 a los buses del sistema y a 4 perifricos, inicindose las seales que soportan este circuito integrado. Los perifricos PER1-PER4 solicitan al DMA que active la patilla HOLD de la CPU a travs de la lnea IRQ (peticin de HOLD), mediante las cuatro lneas de solicitud de DMA, DERQ0- DERQ3, una para cada perifrico (con diferentes prioridades). Cuando la CPU cede los buses, se lo comunica al 8237 mediante la activacin de la seal HLDA y ste transmite el reconocimiento de DMA al perifrico al que se concede el acceso directo a memoria, por medio de la patilla DACK0-DACK3 que le corresponde. El DMA se encuentra en todas las mquinas PC/XT y AT y se encarga fundamentalmente del refresco de la memoria dinmica y de la transferencia de informacin entre los discos y la memoria. El 8237 dispone de cuatro canales. Cada Pg. N 207

Curso PCs/ Perifricos

Fig 13.2 canal dispone bsicamente de un registro de direcciones de 16 bits y de un contador tambin de 16 bits. El registro contiene una direccin de memoria a partir de la cual se realizar la transferencia y el contador, el no de transferencias a realizar (mximo 65.536, El funcionamiento del 8237 se divide en dos ciclos bien diferenciados. Ciclo inactivo: Ningn canal est realizando transferencia alguna. En estos momentos, es cuando el procesador puede cargar los registros de direcciones, el contador as como establecer los modos de trabajo y tipo de transferencia para cada cana 1. En resumen, est programando al 8237. Ciclo activo: Se produce cuando un perifrico pide una transferencia a cualquier canal, mediante la patilla DERQ correspondiente. En este momento el 8237 pide los buses a la CPU mediante HRQ. La CPU se detiene, deja los buses en alta impedancia y mediante la lnea HLDA se los cede al 8237. Este a su vez a travs de la lnea DACK correspondiente se lo comunica al perifrico que solicit la transferencia. Comienza la transferencia. El registro de direcciones del canal activo proporciona la direccin base por el bus de direcciones. Se generan las seales de control IOR, IOW, MEMR y MEMW segn la operacin que se vaya a realizar. Una vez completada, el registro de direcciones se incrementa o decrementa automticamente para apuntar as a la siguiente posicin de memoria.

Pg. N 208

Curso PCs/ Perifricos


El contador de transferencias se decrementa en uno. Si pasa de 0000 a FFFF, se produce la seal EOP (fin de proceso). Finalmente el 8237 retira de la CPU la seal HRQ. La CPU se hace nuevamente con 1os buses y el ciclo activo se da por finalizado.

13.3 El canal 2 del DMA


El canal 2 del 8237 es el encargado de realizar transferencias de informacin entre la memoria y el controlador de discos flexibles. Las condiciones generales de trabajo con las que est programado, son las siguientes: 1. Transferencia simple. Mueve un nico octeto cada vez. 2. Autoincremento. E1 registro de direcciones se incrementa en 1 por cada octeto transferido. Es decir, produce transferencia ascendentes a partir de una direccin base. 3. No autoinicio. Cada vez que el contador de transferencias pasa de 0000 a FFFF no se restauran nuevamente ni el registro de direcciones ni el propio contador. Sin embargo la seal EOP que se produce interrumpe a la CPU va IRQn (Interrupcin) El programa de tratamiento analiza el controlador, averigua si hubo errores durante la transferencia e inicia nuevamente todo el sistema o nos avisa del error.

13.3.1 Leer del disquete


En la Fig 13.3 mostramos el esquema de conexin por bloques entre el DMA 8237 que acta de enlace entre la memoria y el controlador de discos.

Fig 13.3 En el momento en que el usuario desee realizar una operacin de lectura, el sistema programa al 8237 y al controlador de discos para dicha operacin. De la misma Pg. N 209

Curso PCs/ Perifricos


manera, el registro de direcciones del canal 2 del 8237, se carga con la direccin de memoria base (donde empezar a ponerse la informacin del disquete), a partir de la cual se realizar la transferencia, y el contador, con el nmero de octetos a transferir. En estas condiciones, el controlador comienza a extraer informacin del Driver (circuitera) procedente del disco. Cuando forma un octeto, activa la lnea DREQ2 del 8237. Este pide mediante HRQ, los buses a la CPU. Cuando sta los cede, activa la seal HLDA. Comienza la transferencia. El 8237 enva DACK2 e IOR al controlador. Este coloca el dato procedente del Driver, en el bus de datos. El 8237 saca la seal MEMW junto con la direccin de memoria donde se almacenar ste. Se desconectan las seales DRQ2, HRQ, HLDA y DACK2, se incrementa el registro de direcciones, se decrementa el contador y la CPU vuelve a hacerse cargo de los buses hasta que el controlador disponga de un nuevo dato a transferir. El proceso se repite hasta transferir todos los octetos necesarios momento en el cual el 8237 genera la seal EOP que interrumpe (IRQ6) a la CPU y cuyo tratamiento consiste en reinicializar todo el sistema para la siguiente transferencia. 13.3.2 Escribir en disquete En el caso de escritura, ver Fig 13.4, el sistema funciona de forma similar con la diferencia de que el 8237 genera las seales MEMR e IOW, pues en este caso se trata de leer informacin de la memoria para escribirla sobre el controlador y este a su vez sobre el disco.

Fig 13.4 Para la ejecucin de la lectura sobre el disco, solamente tenemos que ejecutar 1os comandos del DOS, como DIR, TYPE o CHKDSK. En el caso de escritura podemos realizarlo con los comandos FORMAT o COPY CON. Pg. N 210

Curso PCs/ Perifricos


13.4 Controlador programable de tiempos: PTI 8253
Todas las familias microcomputadoras disponen de un circuito encargado de contar tiempos y generar impulsos de frecuencia variable, al que se le llama "contadortemporizador" o, vulgarmente, timer. En la familia de INTEL, de estas funciones se encarga el circuito integrado 8253. que dispone internamente de tres contadores independientes e idnticos, cada uno de 16 bits y que, incluso, pueden soportar seales de reloj distintas. El 8253 se trata de un controlador multifuncional utilizado, usualmente, para generar pausas o retardos de duracin especfica, evitando la confeccin de rutinas dentro de los programas para llevar dicha control. De esta manera, la CPU programa los contadores del "timer" inicialmente y se dedica a sus funciones, dejando al 8253 encargado de contar los tiempos previstos y generar seales peridicas que podran dar lugar a solicitud de interrupciones. En la Fig 13.5 mostramos el diagrama de conexionado del 8253 y los cuatro registros que lo componen: 3 contadores de 16 bits (0, 1 y 2) y un registro Fig 13.5 de control de 8 bits. El primer contador genera una seal cuadrada con un perodo de 54 ms aproximadamente. Se emplea para interrumpir el procesador con ese intervalo, de manera que ste pueda gobernar el reloj en tiempo real del sistema. El segundo produce impulsos de 15 us aproximadamente, que se emplearn para el refresco peridico de la memoria RAM, como vimos en el capitulo anterior. Fina1mente, el tercero genera en un momento dado, una seal de onda cuadrada de frecuencia variable, que se aplica al altavoz. El esquema elctrico correspondiente a esta seccin se muestra en la Fig 13.6. A la vista del esquema, se proceder a explicar los detalles ms importantes del mismo. 1. El 8253 dispone en su interior de tres temporizadores programables. Reciben una frecuencia de trabajo de 1,9 MHz por las patillas CLKO, CLK1 y CLK2. 2. La salida OUTO, correspondiente al primero, proporciona una seal de 54 ms de periodo. Esta seal se aplica al controlador de interrupciones 8259 (que lo veremos mas adelante) por una de sus patillas. Este a su vez, por la patilla INT, interrumpe a la CPU 8088 cada 54 ms. Cuando la CPU reconoce y acepta dicha interrupcin, enva a travs del controlador 8288 (modo mximo) por la patilla IITA un nivel "O" de aceptacin. En ese momento, la CPD ejecuta un programa de tratamiento que permite mantener actualizado y en hora el reloj en tiempo real del sistema. 3. La salida OUT1, proporciona impulsos de carcter negativo cada 15 us y de 1,2 us de duracin. Estos mediante un Flip-Flop, se aplican por la lnea DREQ0 al controlador DMA. Este se hace cargo de los buses para acceder en modo de lectura, Pg. N 211

Curso PCs/ Perifricos

Fig 13.6 4. a una posicin de memoria RAM y producir el refresco. Finalmente enva la seal DACKO como final de refresco, de vuelta al Flip-Flop que se pone a "0". Una nueva peticin por parte de OUT1, originar el refresco de la siguiente posicin. Este proceso se repite indefinidamente. 5. Finalmente OUT2 es una salida de onda cuadrada que se aplica al altavoz para la generacin de sonidos. La frecuencia depende del valor que en ese momento tenga el temporizador, pero en cualquier caso la salida se obtiene cuando la entrada GATEP est a nivel "1"

13.5 Controlador programable de interrupciones: PIC 8259


La gestin de las interrupciones solicitadas a la CPU desde los perifricos puede manejarse controlando las peticiones can un circuito especializado, que se encarga de recibirlas, determinar 1as prioridades y 1os posibles enmascaramientos y solicitar las interrupciones a la CPU; y, en caso de que sta ltima la admita, depositar el correspondiente vector de interrupcin. Todas estas funciones que se representan de forma grfica en la Fig 10.1, las realiza el circuito integrado 8259 de la familia INTEL. El PIC es un circuito integrado presentado en una cpsula de 28 patitas, como indica la Fig 13.7, bajo la denominacin 8259. Cuando se utiliza aisladamente, es capaz de gestionar las peticiones de interrupcin de un mximo de 8 dispositivos. Tambin es posible conectar en "cascada" 8 PIC y as poder atender hasta 64 peticionarios. En esta situacin, un PIC acta como maestro y recibe las peticiones de 8 PIC esclavos, cada uno de los cuales atiende a un mximo de 8 perifricos.

Pg. N 212

Curso PCs/ Perifricos

Fig 13.7 Un Controlador Programable de Interrupciones o PIC, recibe las peticiones de interrupcin de 1os dispositivos que se conectan a l, asigna a cada uno una prioridad y selecciona el de mayor prioridad, para pedir de su parte, la interrupcin a la CPU. Luego, si sta se le concede, tambin el PIC se encarga de depositar en el bus de datos, el vector de interrupcin asignado para esta peticin. Utilizando el 8259 se reduce notablemente el sistema lgico que se precisa para la gestin de interrupciones, as como el tiempo empleado en dicho cometido.

13.6 Controlador programable paralelo: PPI 8255


Se trata de un circuito integrado, que se presenta en una cpsula con 40 patillas, cuya adecuada programacin resuelve la adaptacin del sistema de buses de los microprocesadores INTEL, a perifricos que trabajan con informacin en paralelo, con palabras de 8, 16 y 24 bits. La Fig 13.8 muestra la arquitectura interna del PPI, as como las seales de entrada y salida que soporta. Como se aprecia en la Fig 13.8, el PPI consta de tres puertas de entrada/salida en paralelo a las que denomina A, B y C. Las 8 lneas de la puerta C se dividen en 2 grupos de 4, que pueden trabajar combinadamente con las puertas A y C. Cada puerta tiene sus caractersticas especficas, lo que proporciona una gran flexibilidad a este dispositivo. Internamente, el 8255 dispone de 4 registros de los cuales 3 se dedican a almacenar la informacin que entra o sale por las puertas y el otro a realizar las funciones de control, por lo que recibe el nombre de Registra de Control. La programacin desde la CPU de ste ltimo registro, sirve para configurar las puertas y el funcionamiento general del PPI. Aparte de las 24 patillas que el 8255 destina a soportar las lneas de entrada y salida de las puertas A, B y C, la misin de las restantes patillas son:

Pg. N 213

Curso PCs/ Perifricos

Fig 13.8 WR#: Seal que indica un ciclo de escritura sobre el PPI. RD#: Seal que indica un ciclo de lectura sobre el PPI. CS#: Lnea destinada para la seleccin de chip. Es necesario que est activa para que funcione el 8255. RESET: La activacin de esta seal significa la inicializacin del PPI y la puesta a cero de los bits del Registra de Control, configurando como entrada a todas las lneas de las puertas. A0-A1: Selecciona cual de los registros del PPI es el que se procede a leer o escribir. Dichos registros son PA (puerta A), PB (puerta B), PC (puerta C) y Registro de Control. El PPI admite tres modos diferentes de funcionamiento, que se denominan Modo O. Modo 1, y Modo 2.

13.7 Teclado
El teclado es sin duda el dispositivo de entrada de informacin a un ordenador, ms empleado. Elctricamente es una serie de mltiples pulsadores dispuestas en una matriz de filas y columnas de forma que cuando se pulsa una tecla, se une la filacolumna correspondiente y una determinada circuitera la localiza, como indica la Fig 13.9 Aunque esta figura es un simple ejemplo, puede servir para darse una idea de como se localiza una tecla pulsada. Una circuitera va aplicando un nivel "1" por todas las filas una a una (cdigo de barrido) a la vez que va cogiendo la informacin que se

Pg. N 214

Curso PCs/ Perifricos

Fig 13.9 genera en 1as columnas (cdigo de exploracin). Este cdigo ser de niveles "0" si no se hubiera pulsado ninguna tecla. En el momento que se pulsa una tecla, la "C" por ejemplo, cuando el cdigo de barrido aplica un "1" en esa fila, el cdigo de exploracin presenta un "1" en esa calumna. Entre ambos cdigos se genera uno nuevo que le llamaremos "cdigo de tecla" que identifica nica y exclusivamente a la tecla pulsada. Dicho cdigo se aplicar al ordenador y ste mediante unas tablas generar, normalmente, el valor ASCII correspondiente a la tecla pulsada. Segn la forma que tenga de cerrar contacto una tecla con su correspondiente fila-columna, se pueden clasificar los teclados en tres tipos diferentes: CAPACITIVOS: Los contactos se cierran por el efecto capacitivo que se produce al acercar o presionar ligeramente el dedo a la tecla (por eso se llaman digitales, por la del dgito ndice). METALICOS: Unas lminas metlicas embutidas en la propia tecla, cierra el circuito cuando se presiona sta. GOMA: Cada tecla lleva en su interior una pequea lmina de goma conductora. Cuando se presiona, sta cierra circuito con su correspondiente fila-columna. 13.7.1 Interfaz del teclado con el ordenador Los teclados empleados en las mquinas PC/XT y AT son de por s inteligentes. Aclaramos, en su interior llevan la circuitera necesaria para detectar una tecla pulsada y transmitir en serie el cdigo de la misma, al ordenador. Esta circuitera consiste bsicamente en un nico circuito integrado diseada especficamente para este fin. Se trata del microcontrolador IITEL 8048 o el 8047 a

Pg. N 215

Curso PCs/ Perifricos


equivalente. Es realmente todo un microprocesador cuyo programa de trabajo est integrado en el propio chip est diseado para esta aplicacin. El cdigo de la tecla pulsada es transmitido en serie al ordenador mediante el cable y conector DIN de 5 contactos. En la Fig 13.10 indicamos el contenido de estos contactos.

Fig 13.10 En la misma figura se muestra, de forma resumida, el esquema elctrico del circuito interface del teclado. La idea bsica de funcionamiento consiste en un registro de desplazamiento (LS 322) que va capturando los bits que entran en serie, y que responden al cdigo de tecla, y los va empaquetando para obtener 8 bits en paralelo que se aplican a la puerta A del PPI 8255. Sin pulsar ninguna tecla, la sea 1 de activacin del registro de desplazamiento LS322, entrada G#, est a nivel "0" (listo para recibir). En el momento en que se pulsa una tecla, la seal KB CLOCK del teclado acta como reloj patrn de desplazamiento que se aplica, adems de al Flip-Flop LS74, al registro de desplazamiento por su patilla CLOCK. Simultneamente, los bits procedentes del teclado (cdigo de tecla) que circulan por KB DATA entran al registro por la patilla DI e internamente se van desplazando al ritmo de KB CLOCK, alojndose en QA-QH. Cuando hayan entrado 8 bits, la salida de QH del registro se activa con un "1" que se aplica al Flip-Flop. Este por tanto, en el noveno impulso de KB CLOCK pone a R1" su salida Q. En este momento se produce la interrupcin IRQ1 y el registro se desconecta impidiendo la entrada de ms bits. Los bits desplazados que fueron alojados en 1as salidas indicadas como PA-QH del registro de desplazamiento van a parar a la puerta A de entrada del PPI 8255.

Pg. N 216

Curso PCs/ Perifricos


El programa de tratamiento de la interrupcin IRS1 lee la informacin de dicha puerta de entrada (cdigo de tecla), la procesa y obtiene a cambio el cdigo ~SCII de la misma. Igua1mente dicho tratamiento, al finalizar, restaura el sistema para una nueva posible pulsacin de tecla. Para ello por PB7 saca inicialmente un "1" que invertido por el inversor, pone a "0" la salida P del Flip-Flop con lo que el registro queda listo nuevamente para recibir y al mismo tiempo se acta sobre la patilla CLRI borrando las salidas PA-QH. Posteriormente PB7 pasa nuevamente a "0" El sistema queda restaurado en espera de una nueva pulsacin. 13.7.2 Interfaz para impresora Uno de los accesorios estndar de los ordenadores es lo que se llama puerto paralelo. Un puerto paralelo es una salida de datos de propsito especial diseado para proporcionar una conexin a la impresora. Se paralelo por la forma en que se transfieren los datos. El puerto paralelo est especialmente diseado slo para impresoras. Tambin el puerto serie, que lo comentaremos ms adelante, se utiliza para conectar a impresoras serie. El interface que se utiliza entre el ordenador y la impresora con el puerto paralelo no es particularmente rico o inteligente, y slo permite la transferencia de unas pocas seales de estado especiales entre la impresora y el ordenador. Bsicamente, el ordenador slo puede enviar dos cosas: datos para que se impriman, y una seal de inicializacin especial que una impresora se supone utiliza para volver a inicializarse. Desde luego, se pueden incluir toda clase de seales especiales en los propios datos enviados. La mayor parte de las impresoras tienen un elaborado juego de cdigos de control que se las puede enviar en el flujo de datos. Pero estos cdigos son especficos de cada impresora, y tienen que ver casi exclusivamente con el formato de los datos impresos. En el diseo de la interfaz paralelo hay una sola seal especial que un ordenador puede enviar a la impresora: La seal de inicializacin. De forma similar, no hay gran cantidad de cosas que la impresora puede comunicar al ordenador. Hay tres parmetros fundamentales: Una es la seal de reconocimiento (ACR), que la impresora utiliza para decir al ordenador que el dato se ha recibida. La segunda es una seal de ocupado (BUSY), que la impresora utiliza para decirle al ordenador que deje de enviar datos hasta que la impresora sea capaz de recibirlos. La tercera es la nica seal especifica de impresora, y es, la seal de falta de papel (PE). Todas las impresoras tienen un sensor que reconoce la falta de papel, y el interface paralelo de la impresora tiene una lnea especial par que la impresora enve esta seal al ordenador. Esta seal es particular del interface paralelo de impresora, y no est disponible con impresoras que utilicen el puerto serie. La arquitectura bsica de los adaptadores de impresora permiten hasta tres puertos paralelos completamente independientes que pueden conectarse a cualquier ordenador. La finalidad de que un 6rdenador tenga ms de una impresora conectada a l, es poder elegir entre una variedad de impresoras distintas, pero slo podemos utilizar una cada vez. En la Fig 13.11 representamos la conexin bsica de una impresora con un PPI. Pg. N 217

Curso PCs/ Perifricos

Fig 13.11 La impresora est conectada a la puerta A de un PPI donde recibe caracteres de 8 bits que tiene que imprimir. La puerta A trabaja en Modo 1 (el Modo 1 indica que la puerta A puede dialogar con el perifrico actuando las lneas de la puerta C como soporte de las seales del dilogo), responde a la direccin 0300H. El PPI genera una seal DV~ (Dato Vlido), que indica a la impresora que dispone de un dato vlido para enviarla. Por su parte la impresora activa la seal DL#, que sirve para indicar al PPI que ya ha recibido el carcter a imprimir y se puede enviar otro. Fig 13.12

El conector de que disponemos en el ordenador para conectar a la impresora, se rige por 1as normas Centronics y el conexionado que realizamos entre el ordenador y la Pg. N 218

Curso PCs/ Perifricos


impresora lo representamos en la Fig 13.12, as como el tipo de conector que nos encontramos en la parte posterior del ordenador. Las seales ms importantes por orden de numeracin son las indicadas en la tabla siguiente:
Patilla Nmero 1 Seal STROBE# Entrada Salida Entrada (E) Descripcin E1 nivel bajo habilita la recepcin de las seales DATA0 a DATA1. La achura de pulso debe ser de al menos 0,5 us. Seal de datos en 8 bits. El nivel bajo corresponde al valor 1: el alto, al valor 0

2 3 4 5 6 7 8 9 10

DATA 0 DATA 1 DATA 2 DATA 3 DATA 4 DATA 5 DATA 6 DATA 7 ACKNOWLEDGE#

Salida (S)

Pulso de salida de nivel bajo generado cuando la impresora ha terminado de procesar un dato y est preparada para recibir el siguiente. Tambin se genera esta seal cuando la Mquina pasa de "fuera de lnea" a "lnea". El nivel alto indica que la impresora no est preparada para recibir datos. Este nivel se alcanza en las siguientes situaciones 1. Cuando la mquina est fuera de lnea. 2.Mieotras est escribiendo o avanzando el papel. El nivel alto indica que se ha acabado el papel. (Cuando la mquina est en lnea, comprueba esta seal cada vez que realiza un avance de papel; cuando est fuera de lnea, la comprueba continuamente). Los niveles alto y bajo corresponden a "en lnea" "fuera de lnea", respectivamente. Cuando la mquina est fuera de lnea no puede recibir las seales de datos A nivel bajo genera avance de lnea. Cuando esta seal se pone a nivel bajo la mquina se inicializa. la anchura del pulso debe ser mayor de 100 us La impresora se pone en lnea a fuera de lnea dando a esta seal el valor bajo o alto, respectivamente (siempre que no haya detectado un error). Masa del chasis de la impresora (aislada de la masa de seales)

11

BUSY

12

PE (Paper Empaty)

13

SELECT

14 15 16

AFD# (Auto Feed) ERROR o no conecta RESET

E E

17

SELECT IN

18 a 25

GND

Pg. N 219

Curso PCs/ Perifricos


13.7.3 Protocolo del interface paralelo Sabemos que los ordenadores transmiten algo ms que un solo carcter de datas a travs d sus puertos paralelos, tambin envan seales de control. El ordenador tambin espera recibir seales generadas por la impresora. Ahora vamos a examinar cmo se ocupa e ordenador de estas seales. En la Fig 13.13 mostramos el cronograma de seales y podemos apreciar los tipos de seales ms importantes y su relacin en el tiempo. En la parte superior del diagrama estn 1as ocho lneas de datos representadas en una simple banda. El valor de los bits no es lo importante. Lo que si es importante es el momento en que los datos estn presentes en la salida del puerto.

Fig 13.13 El dato que se est sacando en las lineas DO-D7 comienza a cambiar en el momento T1 y est disponible para su uso en T2. En T2. el ordenador envia un impulso de bajada momentaneo, Ilamado seal de STROBE, a travs de la patilla 1 a la impresora para indicar que el dato est listo y esperando en Is lineas de datos. Despus de T2, la impresora enviar una seal BI~SY (a travs de la patilla 11), que impide al ordenador mandar ms datos al puerto, o puede esperar hasta que est lista antes de enviar una sea1 de reconocimiento (a travs de la patilla 10), la cua1 tambin evita al ordenador enviar ms datas. Hay algunas impresoras que detienen al ordenador de las dos formas, aunque esto sea un paco redundante.

13.8 Comprobacin del PPI


Una vez comentado como funciona el puerto PPI, sera conmveniente pasar a su comprobacin prctica. Para ello nos serviremos de dos conectores o mochilas que harn las veces de impresora o interface de comunicaciones.

Pg. N 220

Curso PCs/ Perifricos

1.

Fig 13.14 En la figura 13.14A representamos el conector de impresora, de 25 pines, tal y como lo vemos cuando miramos el ordenado por detrs. Las patillas indican las seales de entrada salida y aparecen nuevas seales, no comentadas hasta ahora, que corresponden a informaciones que enva la impresora al PC para que compruebe su estado, como son: RESET, SELECT, PAPER END, etc. Para que aparezca ante el ordenador como una impresora seleccionada, sin error, siempre con papel y siempre disponible, es necesario que ninguna de las seales de error est activada. Para ello, ciertas patillas debern tener la siguiente configuracin:

2.

Pin 11.- ( BUSY), debe tener 0 voltios Pin 12.- (PAPER END), debe tener 0 voltios Pin 13.- (SELECT), debe de recibir un impuslo Pin 15.- (ERROR), debe tener 5 voltios

Pg. N 221

Curso PCs/ Perifricos


Para estos menesteres prepararemos una mochila como indic a la figura13.14B. 3. Para poder comprobar mediante un software tcnico ( NORTON) el funcionamiento del puerto paralelo, tanto internamente como externamente, prepararemos otra mochila como la indicada en la figura 13.14C.

13.9 Adaptador programable para comunicaciones serie: UART 8251


Este destacado componente de la familia INTEL se encarga de transferir informacin en paralelo con la CPU y, por otra parte, con los perifricos exteriores, en serie. Recibe datos de 8 bits, en paralelo, desde la CPU y 1os transforma en serie, para enviarlos al exterior. Tambin y de forma simultnea, puede recibir datos en serie desde el exterior y convertirlos al formato paralelo, antes de depositarlos en el bus de datos del sistema, como indica la Fig 13.15.

Fig 13.15 Dadas las funciones del UART 8251, se le considera como un transmisor/receptor sncrono/asncrono de propsito general para la comunicacin de datos en serie. Adems de la conversin de datos paralelo/serie, el UART realiza las siguientes tareas (ver tambin la Fig 13.17): 1.- Comunica a la CPU cuando puede aceptar un nueva dato para, posteriormente, transmitirlo en serie. 2.- Detecta el instante en que el UART recibe un carcter desde el perifrico, avisando a la CPU para que lo recoja. 3.- Suministra su estado interno, en el que se reflejan los posibles errores en la transmisin, situacin de las seales de control, etc. 4.- El formato y las caractersticas de la transferencia de datos en serie, es configurable por programa. En la Fig 13.16 se muestra la estructura interna y el diagrama de conexiones del USART.

Pg. N 222

Curso PCs/ Perifricos

Fig 13.16 SECCION TRANSMISORA Es la encargada de enviar datos en serie a los perifricos por la patilla TxD. Dispone de una lnea denominada TxE, que comunica al perifrico cuando est vaca la seccin transmisora. Por la patilla TxC se introduce una seal, cuya frecuencia sincroniza al reloj transmisor. Finalmente, la patilla TxRDY (READY) avisa a la CPU cuando puede enviar ms caracteres para proceder a su transmisin en serie. SECCION RECEPTORA Tiene la misin de recibir datos en serie procedentes de los perifricos exteriores por la patilla RxD; despus los transforma a paralelo y los enva a1 CPU a travs del bus de datos del sistema. Si se desea sincronizar externamente la frecuencia del reloj receptor, se aplica la frecuencia de control a la patilla RxC. La patilla RxRDY comunica a la CPU cuando dispone el USART de un carcter para que proceda a su lectura. BUFFER DE DATOS Es bidireccional y triestado. Relaciona al 8251 con el bus de datos de la CPU. Al ejecutar una instruccin IN (INPUT) o OUT (OUTPUT) sobre una direccin

Pg. N 223

Curso PCs/ Perifricos


correspondiente al UART, se introduce un dato de 8 bits a la CPU o se deposita un byte, procedente de esta ltima, en el buffer de datos, a travs del bus de datos. Tambin el buffer de datos recibe de la CPU las palabras de Control y de Comando, que configuran el comportamiento del UART. SECCION DE CONTROL Se encarga de recibir y enviar las seales que regulan el comportamiento general del USART, as como las de adaptacin, a un mdem. El mdem es un dispositivo que transforma los datos digitales serie, que se envan o reciben en el UART, a datos ana1gicos, capaces de ser transportados por las lneas telefnicas. Para su control se precisan varias seales auxiliares, que si son de salida 1as genera el UART automticamente y si son de entrada, las admite e interpreta. Las seales correspondientes a la seccin de control del 8251 las describimos a continuacin:

Fig 13.17 RESET: Al activarse esta patilla fuerza al UART a entrar en un estado de reposo (Idle"), del que no sale hasta que recibe un conjunto de palabras de control, que configuran e inician su funcionamiento. C/D#: Control / Dato. Informa del contenido del bus de datos. Si vale 1 soporta informacin de control para el UART y, si vale 0, datos procedentes de las funciones de transferencia. Se decodifican conjuntamente con las seales de lectura y escritura. RD#: Lectura. Su activacin significa que la CPU recibe informacin. Pg. N 224

Curso PCs/ Perifricos


WR#: Escritura. CLK: Entrada de una frecuencia de reloj que regula el funcionamiento interno del USART. Suele estar conectada a la salida TTL del generador de reloj 8224 y tener un valor cuando menos, 30 veces mayor que las frecuencias usadas en transmisin/recepcin. CS#: Seleccin de chip. Es necesaria que est activa para que funcione el USART. SEALES DEL CONTROL DEL MODEM DTR#: El Data Terminal est listo o preparado. Con la activacin de esta seal el USART comunica al mdem que tiene datos y est listo para realizar una transferencia serie. Puede ponerse a nivel bajo, programando adecuadamente un bit determinado en la palabra de instruccin de Comando. DSR#: Data Set listo. La enva el mdem para comunicar al USART que dispone de datos para su transmisin. RTS: Peticin de envo de datos. Cuando la UART saca un nivel bajo por esta lnea solicita al mdem el envo de datos. CTS#: El mdem activa esta seal para indicar al UART que est dispuesto para enviar datos, y proceder a realizar esta funcin si el bit TxEN de la palabra de Comando est a 1.

13.10 Transmisin serie


En la figura 13.18, indicamos mediante el dibujo como se realiza la transmisin asncrona de una determinada UART.

Fig 13.18 Como el sistema de transmisin no es sincronizado (no hay seales de reloj), hay un primer bit de arranque que le indica a la seccin receptora que comienza la Pg. N 225

Curso PCs/ Perifricos


transmisin de un carcter. El carcter puede ser de 5 a 8 bits, por lo que transmisor y receptor deben de estar configurados igual. Un bit de paridad, para la correccin de errores, puede ser necesario para asegurar que el carcter enviado no ha sufrido ninguna alteracin. Finalmente 1 o 2 bits STOP para indicar la finalizacin del envo del carcter. Para modificar este protocolo de comunicacin, el MS-DOS dispone de un comando, con el que podemos modificar la velocidad d transmisin, n de bits de datos, paridad y STOP: Fig 13.19 MODE COMn: BAUD=12 PARITY=N DATA=8 N=ninguno E=par O=impar STOP=1 1 1,5 2

11 15 30 60 12=1.200 24 48 96 19=19.200

En la seccin receptora (Fig 13.19), la UART, recibe los datos y avisa a la CPU mediante la seal RxRDY, que dispone de datos y est preparada para envirselos.

13.11 Protocolo de comunicaciones serie RS-232


Lo que hasta la fecha hemos llamado puerto o interface serie est basado en un estndar que se utiliza ampliamente en la industria de tratamiento de la informacin, llamado RS-232. IBM lo denomina adaptadores de comunicaciones asncrono. E1 camino es de dos direcciones, por lo que los datos se pueden enviar en uno y otro sentido. Asincrono significa que la transmisin de los no est basada con una configuracin predefinida, en vez de ello, se envan con una sincronizacin irregular, con ambos extremos preparados para tratar esa irregularidad. La transmisin se realiza en serie, que significa que los datos se envan bit a bit. El interface serie tiene una enorme variedad de usos, pero tambin tiene un amplio y confusa rango de parmetros que se denominan parmetros de comunicaciones, y son un juego de especificaciones que establecen como trabajar cada puerto serie. En el conector de 25 pines indicamos las seales de este interface mediante la siguiente tabla:

Pg. N 226

Curso PCs/ Perifricos


PATILLA (PIN)
1 2 3 4

NOMBRE DE LA SEAL NEMONICO


MASA DE PROTECCION TRNASMITED DATA RECIVED DATA REQUEST TO SEND GND TxD RxD RTS

FUNCION

DATOS EN SERIE TRNASMITIDOS POR EL TERMINAL DATOS EN SERIE QUE ENTRAN EN EL TERMINAL Activado por el terminal para decirle al MODEM que s prepare, que le va a transmitir datos Activado por el terminal para decirle al MODEM (con unos ms de retardo) que est listo para transmitir los datos que el terminal le enve. Activada por el MODEM para decirle al terminal que est preparado Masa comn de referencia de las seales. Activada por el MODEM para decirle al terminal que ha establecido contacto con el MODEM lejano y puede or su portadora. Activada por el terminal para decirle al MODEM que est listo para una transferencia. Indicador de llamada que el MODEM hace al terminal para que ste se conecte.

CLEAR TO SEND

CTS

DATA SET READY

DSR

7 8

SIGNAL GROUND CARRIER DETECT

SIG GND DCD

20

DATA TERMINAL READY

DTR

22

RING INDICATOR

RI

El conector de 9 pines es el que normalmente se usa para este interface, con la particularidad de ser el ms usado para conectar el "ratn" Este conector de 9 pines dispone de las mismas seales que el de 25 pines y tambin las seales del ratn. En la siguiente tabla indicamos el conexionado del conector de 9 pines: PIN N 1 2 3 4 5 6 7 8 9 SEALES PARA IMPRESORA O MODEM DCD RxD TxD DTR# MASA DSR# RTS# CTS# RI SEALES PARA RATON VERTICAL HORIZONTAL VERTICAL Q HORIZONTAL Q BOTON 3 BOTON 1 + 5V MASA BOTON 2

13.12 Seccin de control de la UART


En la figura 13.20 indicamos esquemticamente las seales de control ms importantes que la UART realiza cuando se comunica con un mdem.

Pg. N 227

Curso PCs/ Perifricos

Fig 13.20 Conexionando como indica la mochila de la figura, le hacemos creer a la UART transmisora, que cuando transmite, est recibiendo tambin informacin de otra UART lejana y de esta forma, mediante un programa, podemos comprobar el buen funcionamiento, tanto interno como externo de la UART en prueba.

Pg. N 228

Das könnte Ihnen auch gefallen