Title: Oliverio J. Santana Jaria
13. Interfaces externas de propósito
general
- Oliverio J. Santana Jaria
- Periféricos e Interfaces
- Ingeniería en Informática
- Curso 2007 2008
2Interfaces 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
3Registro 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
4Interfaces 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
5Configuraciones 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
6Configuraciones 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
7Estructura 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
8El 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
9Interfaz 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
10Interfaz 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
11Interfaz 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
12Interfaz 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
13Estructura 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
14Estructura 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
15Estructura del puerto paralelo
- El registro de estado es de solo lectura y
permite al computador comprobar el estado del
dispositivo
MESSMER 32.1.3
16Estructura 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
17Estructura del puerto paralelo
- La dirección recibida por las líneas A0A9 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
18Estructura 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
19Estructura 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
20Protocolo 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
21Protocolo 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
22Protocolo 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
23Protocolo 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
24Protocolo 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
25Protocolo 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
26Puerto 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
27Puerto 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
28IEEE-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
29IEEE-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
30IEEE-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
31IEEE-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
32IEEE-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
33Estructura 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
34El 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
35Puerto 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
36Transferencia 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
37Transferencia 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
38Transferencia 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
39Bits 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
40Velocidad 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
41Serializació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
42Serializació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
43Serializació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
44Serializació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
45Serializació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
46La 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
47La 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
48La interfaz RS232C
MESSMER 33.2
49La 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
50La 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
51Tipos de conexión RS232C
- El protocolo RS232C permite establecer tres tipos
distintos de conexión - Simplex unidireccional
- Half-duplex bidireccional por turnos
- Full-duplex bidireccional simultánea
- Cada uno de estos tres tipos de conexión difiere
de los demás en el uso que realiza de las
líneas - Transmisión TD y RD
- Establecimiento de conexión DTR, DSR, DCD y RI
- Transferencia de datos RTS y CTS
MESSMER 33.2
52Tipos de conexión RS232C simplex
- Cuando la transferencia de datos se realiza desde
el DTE al DCE las líneas se usan de la siguiente
forma - TD el DTE la usa para enviar datos al DCE
- RD no se usa
- DTR el DTE la usa para indicar que transmitirá
datos - DSR el DCE la usa para responder (o la tiene
siempre activa) - DCD el DCE la mantiene inactiva, no recibe del
exterior - RI en general, no tiene sentido (hay
excepciones) - RTS el DCE la ignora (o el DTE la mantiene
activa) - CTS el DTE la ignora (o el DCE la mantiene
activa)
MESSMER 33.2
53Tipos de conexión RS232C simplex
- Cuando la transferencia de datos se realiza desde
el DCE al DTE las líneas se usan de la siguiente
forma - TD no se usa
- RD el DCE la usa para enviar datos al DTE
- DCD el DCE indica transmisión entrante al DTE
- DSR el DCE está listo para trasmitir (o siempre
activa) - DTR el DTE la usa para indicar que está listo
para recibir - RI permite al dispositivo externo llamar al DTE
(vía DCE) - RTS el DCE la ignora (o el DTE la mantiene
activa) - CTS el DTE la ignora (o el DCE la mantiene
activa)
MESSMER 33.2
54Tipos de conexión RS232C half-duplex
- En una conexión half-duplex, tanto el DTE como
el DCE pueden actuar como emisor y como
receptor, pero sólo uno a la vez - Por TD se transmiten datos y por RD se reciben
datos, pero de una forma estrictamente
ordenada - El DTE indica que está listo usando la señal DTR,
mientras que el DCE hace lo propio con DSR - Cuando un DTE desea transmitir activa RTS y
espera a que el correspondiente DCE confirme la
conexión usando CTS - La conexión puede cambiar de dirección
de nuevo por medio de RTS y
CTS - La señal RI es importante para que el DTE detecte
que un dispositivo externo desea
contactar con él
MESSMER 33.2
55Tipos de conexión RS232C full-duplex
- El uso más generalizado de este protocolo es el
full-duplex, que permite transferir datos en
ambas direcciones al mismo tiempo - Dos conexiones físicas separadas
- Una conexión física pero dos canales lógicos
- Es importante que los extremos de la comunicación
no tengan que esperar a que el otro habilite la
conexión - RI indica que un dispositivo externo desea
conectar - El DTE confirma que está listo con DTR
- El DCE responde con DSR (o está siempre activa)
- RTS y CTS no se usan o permanecen siempre activas
MESSMER 33.2
56Tipos de conexión RS232C full-duplex
- El estado normal de las señales en una
conexión RS232C full-duplex es el siguiente
MESSMER 33.2
57Tipos de conexión RS232C full-duplex
- Cuando el DCE recibe una comunicación del
exterior activa la señal RI para comunicárselo al
DTE
MESSMER 33.2
58Tipos de conexión RS232C full-duplex
- El DTE detecta RI y contesta activando DTR para
indicar que está listo para la conexión
MESSMER 33.2
59Tipos de conexión RS232C full-duplex
- Una vez que el módem ha completado los
preparativos, activa DSR para indicarlo
MESSMER 33.2
60Tipos de conexión RS232C full-duplex
- Ahora que la conexión se ha establecido, el DCE
activa la señal DCD para indicárselo al DTE
MESSMER 33.2
61Tipos de conexión RS232C full-duplex
- Opcionalmente, el DTE activa RTS para enviar
datos y el DCE lo reconoce con CTS ambas
permanecen activas
MESSMER 33.2
62Tipos de conexión RS232C full-duplex
- La transferencia de datos bidireccional
continuará mientras las señales DTR, DSR y DCD
estén activas
MESSMER 33.2
63RS232C conexión con una impresora
- Es posible conectar una impresora a un computador
a través del puerto serie RS232C - En esta conexión no existe un DCE, por lo que el
significado de las señales cambia ostensiblemente
MESSMER 33.3
64RS232C conexión con una impresora
- El computador no usa las señales DCD y RI,
dado que la impresora no puede llamarle - La línea TD del computador se conecta a la línea
RD de la impresora para transmitir los datos
MESSMER 33.3
65RS232C conexión con una impresora
- La RTS del computador se conecta a la CTS para
que las peticiones de transmisión se habiliten
directamente - Las líneas de la impresora se puentean para que
DSR, DCD y CTS estén activas durante la
comunicación
MESSMER 33.3
66RS232C conexión con una impresora
- El computador es más rápido que la impresora
- Se toma un pin no usado (ej. 19) en el lado de la
impresora - Se le da el significado de buffer de impresora
lleno - Hay un problema de compatibilidad pueden usarse
pins distintos - Se conecta esta señal a la entrada DSR del
computador
MESSMER 33.3
67RS232C conexión entre computadores
- La conexión directa no es posible
- Los dos dispositivos son DTEs
- Los dos conectores son iguales y las señales
coinciden - La solución es el esquema denominado módem nulo
MESSMER 33.3
68RS232C conexión entre computadores
- La TD de cada DTE se conecta con la RD del otro
- La entrada de datos de un DTE es la salida de
datos del otro - Esto simula la tarea que normalmente realizarían
los DCEs, los cuales no existen en este tipo de
conexión
MESSMER 33.3
69RS232C conexión entre computadores
- La señal DTR de cada DTE se utiliza para
solicitar la conexión al otro, simulando la
presencia de un DCE - Activa la señal RI del otro DTE
- Activa la señal DSR del otro DTE
MESSMER 33.3
70RS232C conexión entre computadores
- La señal RTS de cada DTE tiene dos funciones que,
de nuevo, simulan la presencia de los DCEs - Activa su propia CTS para habilitar la
transmisión - Activa la DCD del otro para avisarle de la
transmisión
MESSMER 33.3
71UART 8250
- El circuito que se encarga de las tareas
complejas de un puerto serie es denominado
UART (Universal Asynchronous Receiver and
Transmitter) - Una UART es un emisor/receptor programable para
transmisiones asíncronas cuyas funciones son - Conversión serie-paralelo recibir transmisiones
serie y restituir los datos a su
forma original - Conversión paralelo-serie serializar datos
internos del computador para transmitirlos a
través de una línea serie
MESSMER 33.6
72UART 8250
- Los PCs actuales utilizan el chip 8250 como UART
- Encapsulado con 40 pins
- Bus de datos de 8 bits
- Su sucesor, el chip 16450,
mantiene la compatibilidad
pero
permite mayores
velocidades de transmisión - Una versión posterior, el
chip 16550, incorpora
un
buffer FIFO para los datos
entrantes/salientes que
permite compensar
mejor
las diferencias de velocidad
MESSMER 33.6
73UART 8250
- El control de emisión toma el dato almacenado en
el registro de emisión - Se incorporan los
bits de comienzo,
fin y paridad - Un registro de
desplazamiento
permite
serializar
el dato para su
transmisión - Solo el chip 16550
implementa la
funcionalidad
FIFO
MESSMER 33.6
74UART 8250
- El control de recepción detecta y separa los bits
de comienzo, de fin y de paridad - Un registro de
desplazamiento va
almacenando los
bits
de datos y, cuando el
dato
está completo,
se pasa al registro
de recepción - Solo el chip 16550
implementa la
funcionalidad
FIFO
MESSMER 33.6
75UART 8250
- La frecuencia de referencia proviene de un
oscilador externo y se divide por el contenido
del registro divisor - La velocidad de
emisión condiciona
el funcionamiento
del
control de emisión
(salida BAUDOUT) - El control de recepción
también tiene en cuenta
la velocidad del
dispositivo al otro lado
de la conexión
(entrada RCLK)
MESSMER 33.6
76UART 8250
- La frecuencia de referencia proviene de un
oscilador externo y se divide por el contenido
del registro divisor - El registro divisor
permite configurar la
UART para operar a
distintas velocidades - Es frecuente que la
salida BAUDOUT se
conecte a la entrada
RCLK para garantizar
con ello que emisor y
receptor operen a la
misma velocidad
MESSMER 33.6
77UART 8250
- El registro divisor debe contener el valor
adecuado para obtener la velocidad deseada a
partir de la frecuencia de referencia - En realidad se multiplica
el divisor por 16 para
muestrear un
mismo bit
varias veces y reducir el
efecto de posibles distorsiones
frecuencia_referencia
velocidad_deseada
divisor 16
MESSMER 33.6
78UART 8250
- La lógica de control del módem se encarga de
gestionar las señales del protocolo RS232C - Sin y Sout se
corresponden
con RD y TD - DTR, DSR, DCD,
RTS, CTS y RI
implementan las
señales de control
del protocolo
MESSMER 33.6
79UART 8250
- La lógica de control de interrupciones se encarga
de generar una interrupción cuando sea necesario - Detecta cambios en
las líneas del
protocolo
y en los registros de
emisión y recepción,
así como posibles
errores de transmisión - Genera una interrupción,
comprobando el
registro
máscara, y almacenando
su causa en el
registro
de identificación
MESSMER 33.6
80UART 8250
- En total, el chip 8250 tiene 11 registros
internos - Las tres líneas de dirección permiten seleccionar
ocho - Las operaciones de lectura/escritura acceden a
uno distinto - El bit DLAB permite seleccionar el registro
divisor
MESSMER 33.6
81UART 8250
- Todos los registros están conectados
- Entre sí por medio de un bus interno
- Con el computador por medio de la interfaz
externa - Pueden ser direccionados (direcciones sucesivas
desde la base) - Pueden ser leídos y escritos
MESSMER 33.6
82UART 8250
- Diez de los registros actúan como registros
de control y/o registros de estado - El undécimo ( scratch-pad ) no tiene
funcionalidad - Almacenamiento temporal
- Sólo presente en los chips 16450 y 16550
MESSMER 33.6
83Estructura 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
84USB
- El USB (Universal Serial Bus) se creó para
unificar la gran variedad de conectores
serie que existían - Facilmente configurable
- Permite la conexión en caliente (plug and play)
- El SO detecta la conexión y desconexión de
dispositivos - El SO identifica los dispositivos conectados y
los configura - Facilmente ampliable
- Pueden conectarse tipos muy distintos de
dispositivos - Síncronos/asíncronos
- Diferentes velocidades de transferencia
- Se reduce el número de puertos necesarios
- Hasta 127 dispositivos pueden conectarse en un
mismo puerto - El propio puerto puede proporcionar alimentación
a los dispositivos
MESSMER 35
85USB estructura
- El bus USB tiene una estructura
estratificada con forma de árbol - La conexión de los dispositivos
sigue un esquema encadenado
(hardware
polling) - La gestión del bus es centralizada
y se realiza desde el
controlador
integrado en el computador (host) - Cada dispositivo USB tiene su propia dirección en
el sistema - El controlador inicia todas las actividades y se
comunica con el computador por
medio de interrupciones - Ningún dispositivo USB puede iniciar una
transacción por sí mismo para
evitar sobrescribir datos presentes en el bus
MESSMER 35
86USB estructura
- El host también actúa como un
distribuidor (hub) que permite
la conexión de varios
dispositivos USB
(nodos) - Se reduce el número de
conexiones necesarias - Se reduce la cantidad de
recursos del computador
ocupados
(canales E/S, canales DMA, interrupciones) - Se pueden añadir hubs adicionales para ampliar la
estructura del sistema y permitir la conexión de
un mayor número de dispositivos (hasta 127)
MESSMER 35
87USB hub
- La principal funcionalidad de un hub es extender
el sistema proporcionando nuevos puertos de
conexión - Cada hub proporciona un puerto de conexión con el
host (upstream) y varios puertos de
conexión con dispositivos u otros
hubs (downstream) - Al igual que cualquier otro dispositivo USB, un
hub debe ser configurado, recibiendo su propia
dirección
MESSMER 35
88USB hub
- Un hub USB no es sólo un distribuidor de datos,
también dispone de cierta inteligencia - Repetidor distribuye el tráfico entre el host
(puerto upstream) y los dispostivisos USB
(puertos downstream) - Controlador se encarga
de regular el
tráfico de
datos de acuerdo con
los dispositivos USB
conectados - El controlador del hub
proporciona la interfaz
de configuración al
exterior
MESSMER 35
89USB conectores
- Existen dos tipos de conectores USB
- La serie A se
utiliza para
realizar
conexiones
hacia el host - La serie B se
utiliza para
realizar
conexiones
hacia un
dispositivo
MESSMER 35.1
90USB cables
- El cable USB contiene solo cuatro líneas
- GND tierra
- VBus alimentación (no es suficiente para algunos
dispositivos) - D D líneas diferenciales de transmisión
- La longitud máxima del cable es de 5 metros y su
ancho de banda máximo es 60 Mbytes (USB 2.0)
Pin 1 VBus rojo Pin 2 D blanco Pin
3 D verde Pin 4 GND negro
MESSMER 35.1
91USB cables
- Los datos se transmiten en serie por las línea D
D - No hay una señal de reloj
- La sincronización se obtiene a partir de los
propios datos utilizando condificación NRZI (Non
Return to Zero Inverted) - Un uno se representa manteniendo el nivel de
voltaje - Cada vez que aparece un cero se cambia la
polaridad - Si aparecen seis unos seguidos se inserta un cero
(bit-stuffing) para forzar cambios de polaridad
frecuentes y evitar, con ello, pérdidas de
sincronización
MESSMER 35.1
92USB transmisión de datos
- Las transferencias de datos se realizan
estableciendo canales de comunicación virtuales
(pipes) - Los canales son creados por el host
- Cada canal ocupa parte del ancho de banda
disponible - Los canales terminan en un punto de final
- Cada dispositivo puede soportar varios puntos de
final y, por tanto, varios canales
distintos - La prioridad de los dispositivos viene dada por
la conexión en cadena
MESSMER 35.2
93USB transmisión de datos
- Cuando se conecta un dispositivo, el canal de
control por defecto se establece con el punto de
final 0 - Durante la inicialización, el host determina
- El formato de datos que soporta
el
dispositivo conectado - El tipo de dispositivo y la
dirección de la transferencia - Los requerimientos de frecuencia
y
latencia de bus - El ancho de banda necesario
- El tamaño máximo de los paquetes
- Finalizado este proceso, el host
asigna una dirección al dispositivo
MESSMER 35.2
94USB transmisión de datos
- Las transmisiones se dividen en tramas de tiempo
(frame) - Durante las tramas se producen transacciones
compuestas por paquetes - Existen tres tipos de paquetes
- Inicialización (token)
- Datos (data)
- Protocolo (handshake)
- Cada paquete comienza con un
campo de sincronización (SYNC)
que
maximiza el número de
transiciones en la línea - El tipo de paquete se diferencia
con un identificador
(PID)
MESSMER 35.2
95USB transmisión de datos
- Podemos distinguir dos tipos distintos de canales
- Los canales de mensaje tienen un formato concreto
- El esquema que siguen es Petición Dato
Estado - Cada petición debe ser completamente resuelta
antes de pasar a la siguiente - Implican un movimiento de datos bidireccional
- Los canales de flujo (stream) no tienen un
formato - Los datos se envían de forma secuencial
- El movimiento de datos es unidireccional
MESSMER 35.2
96USB transmisión de datos
- Se definen 4 tipos posibles de transferencias
- Control (canal mensaje) utilizadas para
configurar los dispositivos que se conectan - Se garantiza la correcta emisión/recepción de
datos - No se garantiza la latencia o el ancho de banda
- Masivas (canal flujo) transferencias esporádicas
de grandes cantidades de datos que
pueden esperar (impresoras, escáners) - Se garantiza la correcta emisión/recepción de
datos - No se garantiza la latencia o el ancho de banda
MESSMER 35.2
97USB transmisión de datos
- Se definen 4 tipos posibles de transferencias
- Por interrupciones (canal flujo) transferencias
esporádicas de pocos datos que requieren atención
inmediata (teclado, ratón) - Se garantiza la correcta emisión/recepción de
datos - Se garantiza la latencia y el ancho de banda
- Alta velocidad (canal flujo) grandes cantidades
de información que se transmiten de forma
continua (audio/video en tiempo real) - No se garantiza la correcta emisión/recepción de
datos - Se garantiza una latencia y un ancho de banda
constante
MESSMER 35.2
98Estructura 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
99FireWire
- La mejora del rendimiento de los procesadores ha
generado un gran aumento en las necesidades de
E/S de los PCs - El uso de procesadores específicos de E/S es
prohibitivamente caro para sistemas pequeños - Además, los PCs son cada vez más pequeños
(portátiles) por lo que no solo tienen mayores
necesidades de E/S, sino que también disponen de
menos espacio para conectores
STALLINGS 7.7
100FireWire
- El bus serie de altas prestaciones FireWire,
definido por el estándar IEEE 1394, es la
alternativa planteada para esta situación - Su objetivo es proporcionar una única interfaz de
E/S con un conector sencillo que permita
manejar diversos dispositivos a través de un
único puerto - Por ejemplo, un único puerto FireWire puede
reemplazar los conectores del ratón, la
impresora, la red, el disco externo, etc
STALLINGS 7.7
101Ventajas de FireWire
- Al ser un bus serie, FireWire presenta las
ventajas tradicionales de la transmisión en
serie - Menos líneas
- Líneas más estrechas y más baratas
- Conectores más estrechos y más baratos
- No se necesita protección para evitar
interferencias entre líneas - No se necesita sincronización entre líneas,
por lo que el cable puede ser
más largo sin que surjan
problemas
STALLINGS 7.7
102Ventajas de FireWire
- Además, FireWire presenta tres ventajas
importantes - Es fácil de implementar
- Su implementación tiene un bajo costo
- Alcanza una velocidad muy alta
- Debido a estas ventajas, se utiliza no sólo en
PCs sino también en dispositivos que usan el bus
para transmitir vídeo que procede, cada vez con
más frecuencia, de fuentes digitalizadas
(cámaras, VCR, TV)
STALLINGS 7.7
103Configuración de FireWire
- Los periféricos conectados a FireWire siguen un
esquema de conexión en cadena (hardware polling) - El sistema soporta tantos periféricos como sea
necesario - Hasta 63 dispositivos conectados con un puerto
- Hasta 1022 buses FireWire conectados por medio de
adaptadores (bridge)
STALLINGS 7.7
104Configuración de FireWire
- No se trata de una conexión en cadena estricta
- Estructura en árbol (la conexión lineal es un
caso particular) - No hay terminadores
- FireWire soporta conexión rápida permite
conectar y desconectar periféricos sin
reconfigurar el sistema
STALLINGS 7.7
105Configuración de FireWire
- FireWire soporta configuración rápida
- No es necesario fijar manualmente los
identificadores de dispositivo o tener
en cuenta la posición relativa de los
dispositivos - El sistema realiza automáticamente la
configuración para asignar las
direcciones
STALLINGS 7.7
106Protocolo FireWire
- FireWire especifica un conjunto de protocolos de
tres capas para estandarizar la forma en que el
computador anfitrión interactúa
con los
periféricos a
través del bus serie - Capa física
define los
medios
de transmisión
permitidos y
las
señales y
características
eléctricas de
cada uno
STALLINGS 7.7
107Protocolo FireWire
- FireWire especifica un conjunto de protocolos de
tres capas para estandarizar la forma en que el
computador anfitrión interactúa
con los
periféricos a
través del bus serie - Capa de enlace
describe la
transmisión de
datos por medio
d