9 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
10 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
11 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
12 Estructura del puerto paralelo El registro de estado es de solo lectura y permite al computador comprobar el estado del dispositivo
13 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
14 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
15 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
16 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
17 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)
18 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
19 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
20 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
21 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
22 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
23 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
24 Puerto paralelo IEEE-1284 Las líneas utilizadas por los cinco modos de operación son las mismas, pero con diferentes nombres/funciones
25 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
26 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
27 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
28 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
29 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
30 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
31 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
32 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
33 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
34 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
35 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
36 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
37 Ejemplo: 2400 baudios transmisión asíncrona 7 bits de datos + 1 de paridad 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
38 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
39 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
40 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
41 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
42 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)
43 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
44 La interfaz RS232C
45 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
46 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)
47 Tipos 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
48 Tipos 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)
49 Tipos 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)
50 Tipos 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
51 Tipos 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
52 Tipos de conexión RS232C: full-duplex El estado normal de las señales en una conexión RS232C full-duplex es el siguiente
53 Tipos 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
54 Tipos de conexión RS232C: full-duplex El DTE detecta RI y contesta activando DTR para indicar que está listo para la conexión
55 Tipos de conexión RS232C: full-duplex Una vez que el módem ha completado los preparativos, activa DSR para indicarlo
56 Tipos 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
57 Tipos de conexión RS232C: full-duplex Opcionalmente, el DTE activa RTS para enviar datos y el DCE lo reconoce con CTS; ambas permanecen activas
58 Tipos de conexión RS232C: full-duplex La transferencia de datos bidireccional continuará mientras las señales DTR, DSR y DCD estén activas
59 RS232C: 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
60 RS232C: 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
61 RS232C: 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
62 RS232C: 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
63 RS232C: 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
64 RS232C: 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
65 RS232C: 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
66 RS232C: 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
67 UART 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
68 UART 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
69 UART 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
70 UART 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
71 UART 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)
72 UART 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
73 UART 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 divisor * 16 frecuencia_referencia velocidad_deseada =
74 UART 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
75 UART 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
76 UART 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
77 UART 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
78 UART 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
79 USB 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
80 USB: 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
81 USB: 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)
82 USB: 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
83 USB: 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
84 USB: 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
85 USB: 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
86 USB: 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
87 USB: 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
88 USB: 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
89 USB: 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)
90 USB: 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
91 USB: 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
92 USB: 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
Página anterior | Volver al principio del trabajo | Página siguiente |