html5-img
1 / 141

3. Interfaces externas de propósito general

3. Interfaces externas de propósito general. Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008. Interfaces externas.

stacy
Télécharger la présentation

3. Interfaces externas de propósito general

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3. Interfaces externas de propósito general Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008

  2. Interfaces externas • La interfaz entre un controlador de E/S y un periférico debe ajustarse a la naturaleza y a la forma de funcionar del periférico • Interfaz serie vs. Interfaz paralela • Interfaz punto-a-punto vs. Interfaz multipunto • La interfaz debe soportar el diálogo entre el controlador de E/S y el periférico • Envío de solicitud • Reconocimiento de solicitud • Transferencia de datos • Reconocimiento de recepción [STALLINGS 7.7]

  3. Registro de acoplo • Para el correcto funcionamiento de un controlador de E/S es necesario disponer de un registro de acoplo • Este registro es un almacenamiento temporal (buffer) de los datos a transferir entre el periférico y el resto del sistema • Su objetivo principal es permitir que el controlador de E/S pueda compensar las diferencias de velocidad entre el bus del sistema y la interfaz externa [STALLINGS 7.7]

  4. Interfaces serie y paralela • La interfaz puede ser serie o paralela • Serie: solo hay una línea de conexión, los bits se transmiten de uno en uno • Paralela: hay varias líneas de conexión, lo que permite transmitir varios bits de forma simultánea • Tradicionalmente se asocian las interfaces paralelas con dispositivos de alta velocidad (cinta, disco…) y las interfaces serie con dispositivos más lentos (impresoras, terminales…) • Hoy en día, las interfaces serie de alta velocidad hacen que las paralelas sean cada vez menos frecuentes [STALLINGS 7.7]

  5. Configuraciones punto-a-punto • Una interfaz punto-a-punto proporciona una línea específica entre el controlador de E/S y el dispositivo externo • En los PCs tradicionales, las líneas punto-a-punto se utilizan para dispositivos como el teclado, el ratón y la impresora • Como ejemplos estudiaremos: • El puerto paralelo del PC – Centronics • El puerto serie del PC – RS232C • El bus serie universal: USB [STALLINGS 7.7]

  6. Configuraciones multipunto • Las interfaces externas multipunto cobran cada vez más importancia, ya que se utilizan para dar soporte a: • Dispositivos de almacenamiento masivo (disco, cinta…) • Dispositivos multimedia (CD-ROM, equipos de audio, equipos de video…) • Estas interfaces multipunto son, en realidad, buses externos que poseen el mismo tipo de lógica que los buses descritos en el Tema 2 • Como ejemplos estudiaremos: • El bus serie FireWire • InfiniBand [STALLINGS 7.7]

  7. Estructura del tema • Introducción • Interfaces punto-a-punto • El puerto paralelo del PC – Centronics • El puerto serie del PC – RS232C • El bus serie universal: USB • Interfaces multipunto • El bus serie FireWire • InfiniBand

  8. El puerto paralelo • El principal objetivo del puerto paralelo de un PC es actuar como interfaz con la impresora • Los PCs actuales poseen al menos un puerto paralelo, aunque suelen estar preparados (DOS/BIOS) para manejar hasta cuatro distintos • Normalmente se denominan LPT1, LPT2, LPT3 y LPT4 (Line PrinTer) • La abreviatura PRN (PRiNter) se usa con frecuencia como sinónimo de LPT1 [MESSMER 32]

  9. Interfaz Centronics • La conexión entre el puerto paralelo del PC y la impresora se realiza por medio de un cable Centronics • Normalmente, un cable Centronics está compuesto por 36 líneas, por lo que los conectores también tienen 36 pins [MESSMER 32]

  10. Interfaz Centronics • De las 36 líneas, sólo 17 están realmente mapeadas a señales del protocolo de comunicación • Hay 18 líneas mapeadas como líneas de tierra • Dentro del cable, las líneas de tierra se tuercen alrededor de las otras para evitar interferencias entre ellas [MESSMER 32]

  11. Interfaz Centronics • El conector de la impresora tiene 36 pins • Dado que no todas las líneas transmiten una señal, el conector del PC suele reducirse a 25 pins • El conector es más pequeño y barato • Las líneas de tierra que faltan pueden recrearse de las otras [MESSMER 32]

  12. Interfaz Centronics • La longitud del cable no debe exceder los 5 metros o empezarán a producirse errores de transmisión • Para distancias mayores sería necesario usar transmisión serie • El cable serie permite distancias de hasta 200 metros, pero transmitir a través de él es más lento [MESSMER 32]

  13. Estructura del puerto paralelo • Cada puerto paralelo es accedido por el computador utilizando la dirección a la que está mapeado • Los componentes centrales del puerto paralelo son tres registros de ocho bits cada uno • Datos – dirección base + desplazamiento 00h • Estado – dirección base + desplazamiento 01h • Control – dirección base + desplazamiento 02h [MESSMER 32.1.3]

  14. Estructura del puerto paralelo • El registro de datos almacena los bits de datos que deben ser transferidos • Este registro puede ser tanto leído como escrito por el computador usando las instrucciones correspondientes [MESSMER 32.1.3]

  15. Estructura del puerto paralelo • El registro de estado es de solo lectura y permite al computador comprobar el estado del dispositivo [MESSMER 32.1.3]

  16. Estructura del puerto paralelo • El registro de control permite al computador gestionar el comportamiento del dispositivo • Por otro lado, también permite al dispositivo generar interrupciones para solicitar la atención del computador [MESSMER 32.1.3]

  17. Estructura del puerto paralelo • La dirección recibida por las líneas A0…A9 es decodificada si la señal IOR o IOW está activa • Los datos se transmiten a nivel de bytes por medio de un registro interno [MESSMER 32.1.2]

  18. Estructura del puerto paralelo • El computador puede modifica el registro de control y responde a las interrupciones • El computador puede leer el registro de estado para comprobar el estado de la impresora [MESSMER 32.1.2]

  19. Estructura del puerto paralelo • Todas las señales se mapean en el conector Centronics, ya sea en su versión de 36 pins o en su versión de 25 [MESSMER 32.1.2]

  20. Protocolo de comunicación • En total, el protocolo de comunicación cuenta con 17 líneas • Datos: 8 líneas de salida • Estado: 5 líneas de entrada (una invertida) • Control: 4 líneas de salida (tres invertidas) [MESSMER 32.1] [MESSMER 32.2]

  21. Protocolo de comunicación • El protocolo necesario para que el computador transmita un byte a la impresora utiliza principalmente las señales Strobe, Ack y Busy 1. Introducir el byte a enviar en el registro de datos 2. Esperar a que la impresora no esté ocupada (Busy) 3. Activar Strobe para que la impresora acepte el dato 4. La impresora activa Busy para indicar que está procesando el dato 5. La impresora activa Ack para indicar que ha terminado y se puede regresar al primer paso [MESSMER 32.1] [MESSMER 32.2]

  22. Protocolo de comunicación • También es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo 1. El emisor activa DSL para indicar que quiere enviar datos 2. El receptor contesta activando INI La conexión está establecida y los papeles de emisor y receptor han sido asignados [MESSMER 32.2]

  23. Protocolo de comunicación • También es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo 3. El emisor carga el dato y realiza un pulso de STB, lo que genera una interrupción en el receptor 4. La rutina de gestión de interrupción del receptor adquiere el dato [MESSMER 32.2]

  24. Protocolo de comunicación • También es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo 5. El receptor realiza un pulso de STB, lo que genera una interrupción en el emisor 6. La interrupción en el emisor devuelve el control a la rutina que repetirá los pasos 3, 4 y 5 hasta que el último dato se transmita [MESSMER 32.2]

  25. Protocolo de comunicación • También es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo 7. El transmisor desactiva DSL 8. El receptor desactiva INI La conexión ha concluido y el proceso puede repetirse, reasignándose los papeles de emisor y receptor [MESSMER 32.2]

  26. Puerto paralelo IEEE-1284 • La funcionalidad del puerto paralelo integrado en las placas madre de los computadores actuales ha sido mejorada siguiendo el estándar IEEE-1284 • Este estándar presenta cinco modos de operación: • Compatible: SPP – Standard Parallel Port • Byte • Nibble • Extendido: EPP – Extended Parallel Port • Capacidad mejorada: ECP – Enhanced Capability Mode [MESSMER 32.3]

  27. Puerto paralelo IEEE-1284 • Las líneas utilizadas por los cinco modos de operación son las mismas, pero con diferentes nombres/funciones [MESSMER 32.3]

  28. IEEE-1284 en modo SPP • El modo SPP se define para permitir la compatibilidad con el modo unidireccional Centronics original • Se corresponde con una interfaz Centronics estándar • Permite que impresoras antiguas puedan ser conectadas a un puerto que cumpla la norma IEEE-1284 • Este modo sólo admite emisión de datos y, al ser undireccional, está completamente controlador por el procesador [MESSMER 32.3]

  29. IEEE-1284 en modo byte • El modo byte corresponde a un protocolo Centronics bidireccional en el que los datos se transfieren byte a byte a través del registro de datos • Es necesaria una señal de control adicional para indicar la dirección de la transferencia • El valor del bit correspondiente del registro de control debe establecerse antes de cada ciclo de transferencia [MESSMER 32.3]

  30. IEEE-1284 en modo nibble • El modo nibble permite la transferencia de datos en grupos de 4 bits (nibble) • Cuatro de las líneas de estado se utilizan como líneas de datos • Una transferencia abarca siempre un byte completo • En primer lugar se envía la primera mitad del byte • Una vez que ha sido procesada, se envía la segunda mitad [MESSMER 32.3]

  31. IEEE-1284 en modo EPP • El modo EPP permite transferencias bidireccionales de bloques de hasta 256 bytes • Al contrario que los modos anteriores, el protocolo de señales no es controlado por software sino por hardware • La programación es más eficiente • El circuito necesario es más complejo y caro • Dispone de los 3 registros estándar, lo que permite compatibilidad con el modo SPP • Además hay otros 4 registros adicionales [MESSMER 32.3]

  32. IEEE-1284 en modo ECP • Sus características son similares a las del modo EPP, aunque está limitado a 128 bytes • El modo ECP permite compresión de datos • Una cola FIFO almacena los bits a transmitir • No se envían series de bits iguales, sino que se envía el número de bits que compone la serie (run length codes) • La mayor complejidad hace necesaria la presencia de varios registros adicionales, aunque los equivalentes a los 3 registros estándar siguen presentes [MESSMER 32.3]

  33. Estructura del tema • Introducción • Interfaces punto-a-punto • El puerto paralelo del PC – Centronics • El puerto serie del PC – RS232C • El bus serie universal: USB • Interfaces multipunto • El bus serie FireWire • InfiniBand

  34. El puerto serie • El puerto serie de un computador es de gran importancia debido a su flexibilidad • El puerto paralelo transmite varios bits a la vez, por lo que su funcionamiento dependerá de: • El formato de la línea de transmisión • La anchura de la línea de transmisión • El puerto serie trasmite la información a nivel de bits • Todos los datos son preprocesados y divididos en bits • Estos bits se transmiten siempre de uno en uno • El receptor procesa los bits recibidos para recomponer los datos • La línea de transmisión es siempre igual: 1 bit de ancho [MESSMER 33]

  35. Puerto serie vs. Puerto paralelo • El puerto paralelo: Es teóricamente más rápido Los datos no necesitan ser preprocesados Es menos flexible Es más costoso Tiene predisposición a sufrir errores en distancias largas • El puerto serie: Es teóricamente más lento Los datos deben ser preprocesados (serializados/deserializados) Es más flexible Es mucho menos costoso por su menor número de líneas Tiene una menor predisposición a sufrir errores, incluso en distancias largas [MESSMER 33]

  36. Transferencia serial síncrona • En una transferencia serial síncrona se intercambian una o varias señales de control entre emisor y receptor • Las señales de control determinan cuando hay un bit de datos válido en la línea de transmisión • Puede existir una señal de reloj que controle la sincronización • Si no hay una señal de reloj, la sincronización se realizará por medio de un protocolo típico solicitud – reconocimiento [MESSMER 33.1]

  37. Transferencia serial asíncrona • En una transferencia serial síncrona, los propios datos contienen la información de temporización necesaria • El receptor muestrea la línea a intervalos regulares para detectar la llegada de datos • La transmisión se realiza a nivel de bloques de datos (SDU – Serial Data Unit) • Un bit de comienzo (start) indica el principio de un SDU • Un bit de final (stop) indica que el SDU ha terminado • Se añaden bits de paridad para el control de errores [MESSMER 33.1]

  38. Transferencia síncrona vs. asíncrona • La transferencia síncrona  Permite mayores velocidades de transmisión  Permite que el receptor pueda interactuar con emisores de frecuencia de reloj variada siempre que no sobrepasen su frecuencia máxima  Permite interconectar una menor variabilidad de dispositivos, ya que emisor y receptor deben cumplir con el mismo protocolo de transmisión • La transferencia asíncrona  Es más lenta debido a que hay que transmitir información adicional a través de la línea  Exige que emisor y receptor trabajen a la misma frecuencia de reloj, pues el receptor muestrea la línea periódicamente  Permite interconectar una mayor variabilidad de dispositivos [MESSMER 33.1]

  39. Bits de paridad • Casi todos los puertos serie soportan la generación y comprobación de bits de paridad a nivel hardware • El método más simple permite detectar errores en un solo bit • Métodos más complejos permiten detectar errores en varios bits e incluso corregir algunos de ellos, pero a costa de tardar más en generar el SDU e introducir más información adicional • Se utilizan cinco tipos de paridad distintos • Sin paridad: no se inserta información de paridad en el SDU • Paridad par: se inserta un bit de paridad tal que el número de 1s sea par • Paridad impar: se inserta un bit de paridad tal que el número de 1s sea impar • Marca (mark): el bit de paridad es siempre 1 • Espacio (space): el bit de paridad es siempre 0 [MESSMER 33.1]

  40. Velocidad de transferencia: baudios • El baudio es una unidad que mide el número de cambios por segundo que se producen en una señal • En un puerto serie estándar, los baudios indican el número de bits transmitidos por segundo • Los cambios de una señal se limitan a los valores 0 y 1 • Estos cambios se producen con una frecuencia regular • Los bits de comienzo, fin y paridad se consideran bits transmitidos a efectos de medir la velocidad • Si las condiciones no son éstas, el número de bits por segundo no coincidirá con los baudios [MESSMER 33.1]

  41. Serialización • Antes de realizar una transferencia a través de un puerto serie, el emisor y el receptor deben acordar el formato de transmisión • Número de bits de datos • Tipo de paridad • Velocidad de transmisión Ejemplo: 2400 baudios transmisión asíncrona 7 bits de datos + 1 de paridad [MESSMER 33.1]

  42. Serialización • La línea de comunicación se mantiene a un valor determinado cuando no se utiliza (en el ejemplo: 1) • El bit de comienzo debe tener el valor contrario para que pueda ser detectado • El bit de final tendrá el mismo valor Ejemplo: 2400 baudios transmisión asíncrona 7 bits de datos + 1 de paridad [MESSMER 33.1]

  43. Serialización: transmisión de un dato • Dado un dato, la circuitería SDU coloca el bit de comienzo, calcula la paridad, añade los bits correspondientes y coloca el bit de final • El SDU generado se almacena en un registro de desplazamiento que actúa de acuerdo con una señal de reloj interna [MESSMER 33.1]

  44. Serialización: recepción de un dato • Cuando se recibe el bit de comienzo, un registro de desplazamiento recompone el dato a partir de los bits recibidos siguiendo el ritmo del reloj interno • Una vez que el dato completo está disponible, la circuitería SDU obtiene los bits de datos y comprueba los bits de paridad [MESSMER 33.1]

  45. Serialización: errores de transmisión • Durante la transmisión de un SDU pueden darse diversos tipos de errores • Error de estructura (frame): si el receptor detecta un bit de final incorrecto significa que el SDU no se ha ajustado a la estructura pactada al inicio de la transmisión • Error de rotura (break): si el receptor detecta que la línea está a un valor distinto del por defecto durante más tiempo que la duración de un SDU significa que la conexión se ha roto • Error de sobrescritura (overrun): si los datos llegan demasiado rápido, un SDU recompuesto pero no leído puede ser sobrescrito por un SDU posterior • Error de paridad (parity): si ninguno de los errores anteriores ha ocurrido, el SDU ha llegado correctamente; sin embargo, todavía es necesario comprobar la paridad, que podría ser incorrecta por problemas en la línea o por una configuración errónea del tipo de paridad [MESSMER 33.1]

  46. La interfaz RS232C • La mayoría de las transferencias seriales realizadas en los computadores modernos se realizan cumpliendo con el estándar RS232C • Este estándar define la interfaz entre dos equipos a nivel mecánico, eléctrico y lógico: • Equipo terminal de datos (DTE – Data Terminal equipment) • Equipo de transmisión de datos (DCE – Data Carrier Equipment) • La comunicación física entre dos DTE (ej. PCs) se realizará por medio de sus correspondientes DCE (ej. módems) [MESSMER 33.2]

  47. La interfaz RS232C • El estándar RS232C define 25 líneas entre DTE y DCE, por lo que los conectores deberían tener 25 pins • El típico uso de este protocolo en los computadores actuales es el intercambio asíncrono de datos en serie • Sólo 11 señales son necesarias para este propósito • El resto (la mayoría) están reservadas para los intercambios síncronos, aunque es un tema en el que no entraremos • El conector usado habitualmente tiene sólo 9 pins, perdiéndose con ello una línea de tierra y la señal DSRD [MESSMER 33.2]

  48. La interfaz RS232C [MESSMER 33.2]

  49. La interfaz RS232C • La transferencia entre DTE y DCE está controlada por cinco señales • Establecimiento de conexión • DTR (data terminal ready): el DTE activa esta señal para indicar que se encuentra preparado para enviar datos • DSR (data set ready): el DCE activa esta señal para indicar que se encuentra preparado para recibir datos • DCD (data carrier detect): el DCE activa esta señal para indicar que está conectado con el DCE remoto que recibirá la transmisión • Transferencia de datos (inútiles sin establecer la conexión) • RTS (request to send): el DTE solicita al DCE que se prepare para una transferencia de datos • CTS (clear to send): el DCE indica al DTE que está listo para recibir la transferencia de datos [MESSMER 33.2]

  50. La interfaz RS232C • Las otras cuatro señales también tienen una función relacionada con transferencias DTE – DCE • TD (transmitted data): datos transmitidos • RD (received data): datos recibidos • RI (ring indicator): el DCE activa esta señal, independientemente de que se haya o no establecido una conexión, para indicarle al DTE que un DCE remoto desea realizar una transmisión • DSRD (data signal rate detector – sólo 25-pin): esta señal bidireccional permite tanto al DTE como al DCE cambiar la velocidad de transmisión (baudios) [MESSMER 33.2]

More Related