PRACTICA DE LABORATORIO Nº 2 PROTOCOLOS PARALELO Y SERIAL Conceptos preliminares: La tarea de un interfaz: Al discutir la cuestión de interconectar dispositivos periféricos a una computadora de escritorio, la primera pregunta que naturalmente surge es ¿Qué es un interfaz?, ¿Por qué es necesaria una interfaz?. Para contestar esta pregunta, es necesario entender algunas de las características de un computador y de los dispositivos periféricos que controlan. Un computador por sí mismo no es un artefacto muy útil. Su poder viene dado por la habilidad para aceptar entradas de origen externo, modificando estas entradas de acuerdo a un conjunto de reglas (como las expresiones dadas por un programa en el computador), y lleva los resultados de estos cómputos a algún dispositivo externo. Algunos de los dispositivos típicos de entrada son los lectores de tarjetas perforadas, lectores de cintas, digitalizadores y voltímetros digitales. Los dispositivos de salida pueden incluir impresores, perforadores de cintas, máquinas de dibujar (plotters) y pantallas gráficas. Además de esto existe una lista aparentemente sin fin de dispositivos censores de propósitos especiales (entradas) y control de equipos de (salida) diseñadas para ejecutar tareas particulares. Idealmente, cada uno de tales dispositivos deberá cumplir con algún estándar que especifique todas las características de sus conexiones I/O (entrada/salida), lo cual haría a todos los dispositivos compatibles "pin a pin". Desafortunadamente, no existe tal estándar. Como resultado de esto surgen cuatro grandes áreas de incompatibilidad cuando se intenta conectar un dispositivo periférico a un computador controlador. La tarea de la interfaz es proveer la compatibilidad necesaria en estas áreas. Compatibilidad mecánica: El requerimiento más simple que debe cumplir un interfaz es que provea compatibilidad mecánica. Esto consiste meramente en suplir el conector apropiado en cada extremo de la interfaz, y el cableado de conectores de forma que cada línea de entrada en un extremo de la interfaz sea conectada a su correspondiente línea de salida en el otro extremo. Si no hay otras incompatibilidades a vencer, este par de conectores cableados puede constituir la interfaz completa. En la práctica esto ocurre muy raramente. EIE/UCV 1 FB/lc Compatibilidad eléctrica: La segunda función de un interfaz es igualar las características eléctricas (niveles de tensiones y corrientes, algunas veces llamados niveles lógicos) de un computador a aquellos de sus periféricos. Como la mayoría de los computadores de escritorio y sus interfaces asociados están diseñados para niveles lógicos eléctricos compatibles (llamados TTL), el bloque funcional igualador de niveles lógicos en el extremo del computador de la interfaz generalizado no siempre es necesario. Afortunadamente, la mayoría de los dispositivos periféricos también usan niveles TTL en sus circuiterías. Compatibilidad de datos: Una vez que un interfaz hace al computador y su dispositivo periférico mecánica y eléctricamente compatible, ellos son capaces de intercambiar mensajes como señales eléctricas en los cables llamados líneas de datos. Pero justamente como en el caso de dos personas que no hablan un mismo lenguaje se necesita un traductor, los datos de mensaje entre el computador y su periférico pueden requerir también algún tipo de traducción. El computador con su capacidad versátil de programación, usualmente ejecutará esta función. Pero en algunos casos, esta tarea se le ha dado a la interfaz por razones de velocidad. Los interfaces BCD y serial son ejemplos de casos donde la tarea de reformatear es asignada a la interfaz. Compatibilidad en el tiempo (Sincronización): Los seres humanos tienen la habilidad notable para hablar y escuchar al mismo tiempo (o al menos en una secuencia rápida) sin perder la mayor parte del contenido de la conversación. Nuestras velocidades para hablar y escuchar son también igualadas. Por otro lado, los computadores y sus dispositivos periféricos tienen un rango amplio de velocidades de operación que requiere de un mecanismo mucho más ordenado para una transferencia exitosa de datos. Proveer compatibilidad en el tiempo (algunas veces llamada función de HANDSHAKING), junto con otras operaciones diversas de control, es la cuarta función de un interfaz. EIE/UCV 2 FB/lc PROTOCOLO PARALELO Objetivos: Conocer el uso y las características de las diferentes líneas del estándar CENTRONICS y mostrar la secuencia de las señales de HANDSHAKING y la transferencia de datos como sucede entre un computador y una impresora. Protocolo Centronics: El protocolo de comunicación de datos CENTRONICS, está especialmente diseñado para trabajar con impresoras, por este motivo la mayoría de los computadores poseen un interfaz dedicado a este propósito. CENTRONICS está constituido principalmente por diecisiete líneas de las cuales ocho son para datos, dos para HANDSHAKING y las restantes se utilizan para el control del impresor, así como para indicar su estado de funcionamiento. En la figura 1 se observa el conector que se utiliza para este propósito, así como también la definición de cada PIN. GNDr GNDr GNDr GNDr GNDr GNDr GNDr GNDr GNDr GNDr GNDr GNDr INIT ERROR GND NC 2.2k pull-ups SLCT IN • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • STROBE D0 D1 D2 D3 D4 D5 D6 D7 ACKNLG BUSY PE SLCT auto FEED NC 0V GND NC Figura 1. Conector Centronics y definición de los “Pines”. A continuación se describe la función de cada una de las líneas: STROBE: un pulso mayor de 5 s indica al impresor que el dato presente en el BUS es válido para leer. Esta señal es activa cuando su nivel lógico es "0". EIE/UCV 3 FB/lc D0-D7: este conjunto de ocho señales son las encargadas de llevar los ocho BITs de información, cada señal tiene un nivel alto cuando el dato tiene un nivel lógico "1" y un nivel bajo cuando el dato tiene un nivel lógico "0". ACKNLG: un pulso mayor de 5 s indica al computador que el dato presente en D0-D7 ya ha sido leído y que el impresor está listo para recibir el próximo dato. Esta señal es activa cuando su nivel lógico es "0". El diagrama de tiempo de transmisión se muestra en la figura 2. BUSY: esta señal es generada por el impresor para indicar cuando éste no puede recibir más datos y se activa según se den las siguientes condiciones: – Durante la entrada de datos. – Durante la operación del impresor. – Cuando el operador deshabilita al impresor desde el control frontal del mismo. – Cuando el impresor se queda sin papel. – Durante una condición de error en la operación. – Cuando se llena el BUFFER de datos del impresor. PE (PAPER END): esta señal indica que el impresor no tiene papel. Ésta es activa en nivel lógico "1". SLCT (SELECTED): esta señal indica que el impresor está seleccionado cuando su nivel lógico es "1". AUTO FEED: esta señal es generada por el computador y le indica a la impresora que ejecute un salto de línea en forma automática al terminar de imprimir la línea; es activa con nivel lógico "0". Esta capacidad no está presente en todos los impresores. INIT: cuando el nivel lógico de esta señal es cero, se borra el BUFFER de datos y el impresor se coloca en un estado inicial. Esta señal debe estar activa por lo menos 50s. ERROR: esta señal se activa en nivel lógico "0", para indicar una o varias de las siguientes condiciones: – Impresor sin papel. – Impresor deseleccionado. – Condición de error causado generalmente por una operación anormal en el mecanismo de avance del papel y del cabezal. SLCT IN: un nivel lógico "0" en esta entrada, selecciona al impresor automáticamente. GND: todos los "PINES" indicados con GN, representan la tierra del sistema. GNDr: los "PINES" representados por GNDr, son líneas de tierra de retorno que se entorchan con las líneas de señal para evitar problemas de ruido, además estos pares entorchados son blindados y conectados al chasis del computador así como al del impresor. Estas precauciones aunque forman parte del estándar, casi nunca se respetan. EIE/UCV 4 FB/lc Como puede verse en la figura 2, el diagrama de tiempo es muy sencillo y rápido por lo que pueden obtener altas ratas de transmisión (hasta 200 K BYTE/s). El estándar CENTRONICS también establece otras condiciones de operación como: - Niveles lógicos compatibles con TTL, con lo que se obtiene un margen de ruido de 0,4V y se restringe la longitud de transmisión hasta un máximo de 2 m. TRABAJO PRACTICO DE LABORATORIO Equipo necesario: Módulo docente ID1 INTERFAZ PARALELA Fuente de poder de marca Science Instruments o compatible. Osciloscopio de cuatro canales BUSY ACKNLG aprox 10 s 5 s (mín) DATA STROBE 5 s (mín) Figura 2. Diagrama de tiempo de transmision del protocolo CENTRONICS EIE/UCV 5 FB/lc Procedimiento: Simulación lenta: 1. Inserte la tarjeta ID1. Encienda la fuente de poder Science Instruments. 2. Pase todos los interruptores de SWB y SWD a ON (simulación lenta), y los de SWC y SWE a OFF. 3. Pase el selector del transmisor a la izquierda (manual) e ignore la transitoria si existe. 4. Presione el pulsador del transmisor y observe la secuencia de los LEDs "BUSY", "STROBE", "ACKNOWLEDGE" y los de datos; cambie el dato en SWA y repita este paso. 5. Manteniendo presionado el pulsador del receptor presione el del transmisor ¿Qué pasa?. Explique. 6. Cambie el interruptor SWE1 a ON, cambie el dato en SWA y presione el pulsador del transmisor ¿Qué pasa?. 7. Vuelva SWE1 a OFF. Simulación rápida: 1. Pase todos los interruptores SWB y SWD a OFF (simulación rápida). 2. Pase el selector de transmisión a la derecha (reloj). 3. Ajuste el potenciómetro del reloj a la posición central. 4. Tome TP1 como sincronismo externo. 5. Conecte TP4 (STROBE) al canal "1", TP3 (BUSY) al canal "2", TP2 al “3” y TP5 al canal “4” del osciloscopio. Dibuje este diagrama de tiempo. 6. Observe las señales STROBE y TP2 mientras se varía la velocidad del reloj. EIE/UCV 6 FB/lc PROTOCOLO SERIAL Objetivos: Esta práctica ilustra la formación de una señal serial en un circuito eléctrico a base de componentes discretos. También se experimenta con un circuito integrado diseñado especialmente para este fin: un UART (Universal Asynchronous Receiver Transmitter, en inglés; Transmisor y Receptor Asincrónico Universal, en español). Protocolo RS-232C o serial: El protocolo serial, como su nombre lo indica, envía los datos en serie, BIT por BIT. No se necesitan entonces ocho líneas para datos sino sólo una. El estándar RS-232C permite una rata de transferencia máxima de 1920 baudios y una longitud máxima del cable de 15 m. Además los niveles lógicos no son compatibles con TTL: un receptor de RS-232C interpretará un voltaje más negativo que -3 V como un 1 lógico y un voltaje más positivo que 3 V como un 0 lógico, en cambio, los transmisores deben tener una salida más negativa que -5 V para el 1 lógico y más positiva que 5 V para el 0 lógico, de esta forma, se garantizan 2 V de inmunidad al ruido. Esta inmunidad al ruido permite un cable más largo: para la máxima frecuencia de transmisión la longitud del cable, como se dijo antes, puede tener un máximo de 15 m. Uno de los usos más comunes, es convertir los BITs a tonos de audio usando un MODEM, pudiéndose transmitir datos entre equipos muy lejanos vía telefónica. Definición de los términos que se usan en el protocolo serial: La técnica que se usa para la comunicación serial asincrónica, es la de mantener la línea de transmisión en un nivel lógico 1 (llamado "marca") cuando la línea está desocupada. Cada caracter, para ser transmitido, debe empezar con un 0 lógico (llamado "espacio") de un BIT de duración, este BIT es llamado BIT de comienzo y se utiliza para sincronizar al receptor con el transmisor. Después se envía primero el BIT menos significante hasta el BIT más significante del dato, un BIT de paridad (opcional) y uno o dos BITs de parada. La figura 3 muestra cómo se vería el BYTE 7BH en forma serial asincrónico. La rata de transmisión puede expresarse como caracteres por segundos (cps) o BITs por segundo (bps), este último es llamado rata de baudios. Designación de señales: La Tabla I especifica los nombres y las asignaciones de las veinticinco señales que conforman el estándar RS-232C. Este consiste de cuatro señales para datos, dos para el canal EIE/UCV 7 FB/lc principal y dos para el canal secundario de baja velocidad, además de las líneas de control que soportan a estos dos canales. 1 Marca 0 Espacio BC 1 1 0 1 1 1 B 1 0 BP BP 7 Figura 3. Formato estándard de transmisión serial. El dato se envía entre un bit de comienzo y dos de parada. TABLA I Pin EIE/UCV Nombre de la Señal 1 2 3 4 5 6 7 8 Tierra protectora Transmitir datos Recibir datos Request to send (RTS) Clear to send (CTS) Data set ready (DTS) Tierra Data carrier detect (DCD) 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Reservado para pruebas Reservado para pruebas No asignado DCD secundario CTS secundario Transmitir dato secundario Descripción Conforma el blindaje DTE transmite, DCE recibe DTE recibe, DCE transmite DTE está listo para transmisión y recepción DCE está listo para transmitir y recibir datos El equipo DCE está en operación Retorno de tierra para las señales Señal generada por DCE para indicar la presencia de una portadora de datos válida Recibir datos secundario Reloj para recepción asincrónica No asignado RTS secundario Data terminal ready (DTR) Detector de la calidad de la señal Indicador de timbre Selector de la rata de baudios Reloj para transmisión sincrónica No asignado Indica que el DTE está operando Indica la probabilidad de error Indica que el timbre del teléfono está sonando Permite seleccionar dos velocidades 8 FB/lc Figura 4. Conectores usados en RS232C Los conectores que se usan son los designados como DB-25P y DB-25S, éstos no forman parte de las especificaciones de RS-232C pero se usan en TODAS las implementaciones de puertos RS-232C. A pesar de que el estándar especifica 25 señales, no siempre o casi nunca se utilizan todas, por este motivo, sólo se detallarán las que más se utilizan. El estándar también da una clasificación de los equipos según sus funciones en dos categorías: – Equipo Terminal de Datos (DTE), por ejemplo: impresores, terminales. – Equipo de Comunicación de Datos (DCE), por ejemplo: modems. Como puede observarse, los computadores en sí no entran en la clasificación, esto trae como consecuencia que algunos computadores sean DTE y otros sean DCE, la mayor confusión estriba en el pin 2 (Tx) y en el 3 (Rx). Como lo indica la Tabla I, los datos transmitidos van desde DTE hacia DCE y los datos recibidos van desde DCE hacia DTE. En otras palabras, las definiciones son desde el punto de vista del DTE. Funcionamiento: De las veinticinco señales sólo se utilizan las cuatro que trabajan con el canal primario: * DTR: esta señal es generada por el DTE, para indicar que se encuentra en operación. * DSR: esta señal es generada por el DCE, para indicar que se encuentra en operación. * RTS: esta señal es generada por el DTE, para indicar que está listo para transmitir y recibir datos. * CTS: esta señal es generada por el DCE y realiza las mismas funciones del RTS. EIE/UCV 9 FB/lc Cuando cualquiera de los dos equipos conectados, no pueden procesar los datos recibidos tan rápidamente como son enviados, estos pueden "detener" al transmisor desactivando la señal correspondiente (DCE CTS, DTE RTS) y cuando se encuentren de nuevo listos activan la señal para continuar con la transmisión-recepción. Descripción de la tarjeta ID2 "Interfaz Serial": Esta tarjeta comprende dos partes principales: un transmisor hecho con componentes discretos y un UART; este último además de realizar la transmisión serial como lo hace el discreto, también es capaz de recibir. A continuación se describen brevemente las partes del transmisor a componentes discretos y del UART: – Circuito de control: se encarga de controlar el manejo de los SHIFT REGISTER, cargando el bit de ARRANQUE (Estar: un cero lógico), los ocho bits de DATO, el bit de PARIDAD y los demás bits se rellenan con bits de PARADA (Sto.), y luego desplazándolos tantos ciclos de reloj según se fija en los interruptores de SWD. En estos interruptores se selecciona el cero lógico en la posición ON. La Tabla II muestra las combinaciones para obtener el número necesario de ciclos de reloj para realizar cada conversión. TABLA II SW D Número de Cuentas 4 3 2 1 0 0 0 0 15 0 0 0 1 14 0 0 1 0 13 0 0 1 1 12 0 1 0 0 11 : : : : : : : : : : Las demás combinaciones no se utilizan en esta práctica La longitud de las palabras se puede seleccionar por medio de SWI5 y SWI6 de acuerdo a las combinaciones mostradas en la tabla III. EIE/UCV 10 FB/lc Tabla III – Cantidad de Bits NB2 NB1 SWI6 SWI7 8 1 1 OFF OFF 7 1 0 OFF ON 6 0 1 ON OFF 5 0 0 ON ON Generador de paridad: conformado por un circuito de ocho compuertas OR Exclusive y un interruptor (SWE) para seleccionar entre paridad PAR e IMPAR. – Registro de desplazamiento: constituido por un arreglo de tres SHIFT REGISTER. La señal serial se obtiene en el último bit de salida. – Display: permite visualizar el recorrido de los bits en los SHIFT REGISTER. – UART 6402: este circuito integrado contiene un transmisor y un receptor serial. Este es capaz de programar el modo de trabajo: se puede escoger la presencia de paridad, si es par o impar, uno o dos bits de parada y la longitud del caracter. – Dos relojes y un selector: para poner a trabajar al transmisor (discreto o al integrado) y al receptor con un mismo reloj o con relojes independientes (como lo es en la realidad). TRABAJO PRACTICO DE LABORATORIO Equipo necesario: Módulo docente ID2 INTERFAZ SERIAL Fuente de poder de marca Science Instruments o compatible Osciloscopio de dos canales. Procedimiento: Inserte la tarjeta ID2 "INTERFAZ SERIAL" en una fuente de poder SCIENCE INSTRUMENTS, enciéndala y ajuste las tensiones de +9 VDC, +5 VDC y -9VDC. Simulación lenta: 1. Pase los interruptores 1 y 8 a ON y 7 a OFF de SW I (ubicado entre los dos relojes), esto permitirá visualizar las señales en los LEDs de la tarjeta. 2. Usted puede escoger el reloj de trabajo mediante el selector SWH. El reloj "A" es variable y el "B" tiene dos velocidades fijas (SW I7). EIE/UCV 11 FB/lc 3. Ponga el interruptor SWA hacia la derecha y SWF hacia la izquierda. 4. Pase los interruptores 1, 2 y 4 a ON (cero lógico) y 3 a OFF de SWD, esto hará que el arreglo de SHIFT REGISTER cargue los bits cada 11 ciclos de reloj (después de dividir entre 16). Seleccione un dato en SWC, siendo el interruptor 1 el bit menos significante. En SWC los unos lógicos se seleccionan en OFF. Observe cuando los bits aparecen en el arreglo de LEDs y se desplazan en el DISPLAY. 5. Pase ahora los interruptores 1 y 2 a OFF y 3 y 4 a ON de SWD. ¿Nota alguna diferencia en los bits de parada? Comente lo observado. 6. Seleccione con el interruptor SWE la paridad PAR y ubíquelo en el DISPLAY. Compruébelo cambiando de paridad o uno de los bits del DATO. Simulación rápida: 1. Pase los interruptores 1, 7 y 8 de SW I a OFF. 2. Conecte TP3 al canal "A" del osciloscopio y TP2 al canal "B" o al sincronismo externo. 3. Repita los pasos realizados en la simulación lenta (excepto el primero) observando esta vez el canal "A" del osciloscopio. 4. Pase los cuatro interruptores de SWD a ON. 5. Coloque los interruptores 1, 2 y 4 a ON y 3 a OFF de SWD. ¿Cuántos bits de PARADA hay en estos últimos pasos? Recepción serial: 1. Una la parte transmisora con la parte receptora cerrando SWG (hacia abajo). 2. Ponga los interruptores de SWI como sigue: el 2 en ON para seleccionar presencia de paridad, el 3 en OFF para paridad par, el 4 en ON para un bit de parada, el 5 y el 6 en OFF para trabajar con palabras de 8 bits. 3. Pase el interruptor de SWH hacia abajo para trabajar tanto el transmisor como el receptor con el reloj B. Compruebe que el dato recibido por el UART en el arreglo de LEDs a su derecha es el seleccionado en SWC del transmisor. Observe el LED PE cuando se cambia la paridad del transmisor con SWE. 4. Pase el interruptor SWH hacia arriba para trabajar con relojes independientes. 5. Observe el dato recibido por el UART en el arreglo de ocho LEDs y el LED PE mientras varía el trimer en el reloj A o el potenciómetro ubicado a su izquierda. ¿En qué rango de frecuencias del reloj A (TP13) el dato recibido es igual al del transmitido? Compárela con la del reloj B (TP14). Divida estas frecuencias entre 16 para obtener la velocidad de transmisión de datos. Comentarios y conclusiones finales EIE/UCV 12 FB/lc Bibliografía Hewlett Packard, Interfacing Concepts and the 9825A, Part N. 0825-90060. Printed in USA. Suarez T., Miguel J. Interfase Universal para Computadores, 1987. Lenk, John D. Handbook of Data Communications, Ed. Prentice Hall, Inc, 1984. EIE/UCV 13 FB/lc D R I V E R D A T O D R I V E R D I S P L A Y HANDSHAKING DE RECEPCION PULSADOR (BUSY) SW3 L A T C H BUSY HANDSHAKING DE TRANSMISION STROBE ACKNOWLEDGE PULSADOR SW2 RELOJ SW1 Diagrama de Bloques del Módulo ID1 PARIDAD TOTAL DE BITS O R D I S P L A Y TRANSMISOR SERIAL DISCRETO DATO SWF MC 1488 TP7 TP8 SWG F E P E MC 1489 SWH DS TBMT EOC TRANSMISOR SERIAL INTEGRADO UART 6402 NP EPS TBS NB2 NB1 RELOJ A RELOJ B D A V DISPLAY RECEPTOR SERIAL INTEGRADO UART 6402 N E T N N P P B B B S S 2 1 Diagrama de Bloques del Módulo ID2 EIE/UCV 14 FB/lc Módulo Docente ID1. Interfaz Paralela EIE/UCV 15 FB/lc Módulo Docente ID2. Interfaz Serial EIE/UCV 16 FB/lc