INTRODUCCIÓN Problema: falta de flexibilidad en la reconfiguración de todo computador
MS-DOS Windows 95 facilidad PCI facilidad ISA PCMCIA ?
¿QUÉ ES USB? : Descripción general USB – Universal Serial Bus: Dispositivo que permite conectar amplia variedad de periféricos fácilmente a computadores, sin reiniciar ni volver a configurar. Los dispositivos con USB se configuran automáticamente tan pronto como se han conectado. Se pueden unir dispositivos en una cadena para conectar más dispositivos.
¿QUÉ ES USB? : Descripción general Sistema de comunicación entre dispositivos que sólo transmite una unidad de información a la vez. Puede trabajar en dos modos: – 1,5 Mbps (teclados, ratones ) – 12 Mbps (CDROM, altavoces ) Compacto: cable de 4 hilos, 2 para datos y 2 para alimentación Organiza el bus en estructura de árbol
¿QUÉ ES USB? : Descripción general
¿QUÉ ES USB? : Descripción general Todos los dispositivos tienen un sitema de configuración idéntico, incluso un mismo driver sirve para varios dispositivos diferentes.
PlugnPlay (conectar y listo): No tenemos que tocar nada en el hardware y todo es configurable por software.
Objetivos del USB
– Apuntan hacia la vista del usuario:
PlugnPlay Hot pluggin No tiene que preocuparse por conflictos IRQ o insertar tarjetas Conectar hasta 127 dispositivos
Puertos serie, paralelos y su expansibilidad
SCSI : velocidad, capacidad de transferencia, 7 dispositivos Ultra Wide SCSI-2 : 15 dispositivos en cadena, alto costo Serie: 112,5 KB/s Paralelo: entre 600 KB/s y 15 MB/s No son PlugnPlay Límite de expansibilidad: normalmente 4 ranuras PCI, 4 ISA, 1 AGP, 2 puertos serie y 1 paralelo
Evolución de la USB
USB versión 1.0 : conectar periféricos que no requieran grandes rangos de transmisión ancho de banda (< 12 Mbps, tambien con la opción de transmisiones a 1.5 Mbps) – ratones, teclados, lectores de CD de baja velocidad (x4, x6), unidades de disquete – tarjetas de video, tarjetas de red a 100 Mbps, discos duros USB 2.0 : 30 o 40 veces más rápido (360 a 480 Mbps) – conexiones a internet de banda ancha, escáneres…
Beneficios de la USB
fácil expansión de periféricos en el PC bajo coste para aplicaciones que demanda más de 12 Mbps soporte completo para transmisión en tiempo real flexibilidad de protocolos cómoda integración de dispositivos de tecnología y fabricantes diferentes posibilitar la producción de nuevos dispositivos capaces de aprovechar sus ventajas
Funciones y Host USB
HOST USB: – Es el computador mismo, concretamente una parte del mismo denominado Controlador USB del Host – Tiene la misión de hacer de interfaz entre el computador y los diferentes dispositivos – Su implementación es una combinación software y hardware todo en uno, es decir Firmware
Funciones y Host USB
FUNCIONES USB: – Son todos los dispositivos que pueden conectarse al bus USB, a excepción de los hubs (ratón, monitor, modem ) – Son capaces de recibir y transmitir información, ya sea del usuario o de control – Comparten cable y conectores comunes – Pueden ser a la vez nuevos hubs
Host USB – Hardware y Software
El HOST es responsable a nivel hardware dentro del sistema USB de: – detectar y configurar nuevos dispositivos – administrar y controlar flujo de datos y de control entre el host y los dispositivos USB – obtener información de los elementos del sistema – proveer una cantidad de energía eléctrica limitada para aquellos dispositivos que pueden abastecerse con tan solo la energía provinente del computador
Host USB – Hardware y Software
A nivel de software: – enumeración y configuración de los dispositivos del sistema – administración de control de transferencias de información – administración avanzada de suministro eléctrico a los dispositivos – adiministración de la información del bus y los dispositivos USB
Características Principales Todo dispositivo USB tiene mismo cable y conector. Detalles consumo y administración eléctrica transparentes. Plug & Play, Hot plugging y Hot unplugging. Mismo bus para dispositivos lentos y rápidos. Pc identifica y configura dispositivo mientras opera. Bajo coste. Dispositivos no necesitan cable extra de alimentación. 10 veces más rápido que los puertos serie tradicionales.
Recursos del dispositivo El puerto USB sólo necesita una IRQ y una @ de memoria.
TODOS los dispositivos UNA sola ID para identificación.
Los puertos standard necesitan 5 IRQs, varias DMAs y muchas @ de memoria.
Descripción del Sistema USB Compuesto por tres partes diferenciadas:
HOST USB
Dispositivos USB
Interconexión USB
Interconexión en el BUS USB Topologia en estrella estratificada piramidalmente.
Cada centro de la estrella es un HUB: dispositivo que, por un lado se conecta a un PC o a otro HUB, y por el otro permite conectar varios dispositivos ó más hubs.
Ejemplo: Un monitor USB podria tener 3 conectores para teclado, ratón y altavoces; por su parte, el teclado podria tener otro conector para un joystick, y así sucesivamente.
Los HUBs USB Permite varias conexiones simultaneas. Un HUB puede conectarse a otro, multiplicando así las conexiones posibles. Está compuesto por dos partes: Controlador del hub: supervisa las funciones que desempeña un HUB. Repetidor del Hub: analiza, corrige y retransmite la información que llega al HUB hacia los puertos del mismo.
Los HUBs USB: Funciones Detecta la conexión de un periférico, notifica al controlador del HUB, por lo que se configura el dispositivo en el SO. Cuando el dispositivo se desconecta, el HUB lo notifica y el controlador del host ordena al SO descargar los drivers. Para conseguir el máximo número de dispositivos posibles interconectados, necesitamos intercalar HUBs con toma de alimentación electrica, ya que: Las placas actuales sólo tienen dos conectores. El puerto solo suministra 500 mA, suficiente para la mayoría de dispositivos, pero corto para impresoras, scaners…
Dispositivos Hasta 127 dispositivos en cadena mediante HUBs USB.
Cada dispositivo hasta 5m de cable vs. 1m puerto serie.
Cada dispositivo puede actuar como HUB USB.
Actualmente, los dispositivos del mercado no aprovechan la capacidad de hacer de HUB.
Arquitectura general Todos los dispositivos USB responden a un patrón. Comprenden los mismos elementos funcionales: Transceiver: Encargado de seleccionar la velocidad de comunicación del dispositivo (12 o 1.5 Mbps). Serial Interface Engine (SIE): Trata la información y la serializa o deserializa. Además codifica en NRZI, controla CRC, maneja protocolo de comunicación y la secuencia de paquetes.
Arquitectura general Function Interface Unit (FIU): Administración de datos basado en estado de colas FIFO y envío de interrupciones. FIFOs: El controlador tiene 8 buffers FIFO: 4 para transmision y 4 para recepción
Para transmisión/recepción de datos 4 funciones: 0: Almacena info de control de transferencias 1, 2 y 3: Control de interrupciones, Tx isocrónicas y bulk
Controladores Software (Drivers) Organizados por estructura de capas: Parte principal: USBD. Todas las llamadas de acceso que los drivers necesitan. Host Controller Driver: habla con cada controlador en particular. Da soporte a cualquier tipo de controlador, aunque actualemnte solo existen dos: Universal Host Controller Interface y Open HCI
Controladores Software (Drivers) Por encima de USBD, y como driver, esta el HUBD. Consta de un demonio khubdd, que se dedica a esperar a que pase algo en los puertos de los hubs. Cuando esto sucede, lo notifica a USBD, que acuta en consecuencia.
Cuando un driver se inicializa, se registra en el sistema USB. Cuando un dispositivo se conecta, mira la listade registro, escoge el más adecuado para su funcionamiento y le pide que configure el dispositivo en el sistema.
Modelo lógico funcional
Conectores
El Pc Host El proceso de autodetección tiene que estar siempre activo para poder detectar nuevos perifericos Una vez detectado tiene que configurarse para el nuev
El proceso de conexión Conexión punto a punto Las comunicaciones son inicializadas por el root hub La señalización es half-duplex No manda el clock, transmisión asincrona, (se manda en la trama) Transmisión empaquetada. Transmisióna a 12 MHz, pero muestreo de las señales a 48 MHz (mejora de la calidad).
Como transmite el bus. Información Bus inactivo D+ ? Vel. Alta (12Mbps) D- ? Vel. Lenta (1,5 Mbps)
El paquete de información Sync: sequencia 10101011 , para sincronizar el reloj. El primer byte contiene el Packet Identifier. Diferentes tipos de paquetes. El tamaño de la información varia de 1 a 1025 bytes. El final de paquete son dos bits a 00 Protocolo orientado a bit ? bit stuffing. Codificación NRZI.
El paquete de información
Tipos de paquetes Start-of-frame Token Packet Setup, In, y Out Token Packets
Tipos de paquetes Data transfer Packets Handshake Packets
Ejemplos USB Adaptador ISA a USB
Ejemplos USB Adquisición de datos por el puerto USB
ELECTRÓNICA Y TRANSMISSIÓN DEL BUS
Pines del conector
Cables del USB El Bus Serial Universal (USB) transfiere señales de información y energía a través de 4 cables
Cables del USB Dos de los cables se utilizan para la transmisión de datos Los otros dos (Vbus y GND) son la alimentación del USB con una diferencia de potencial de +5 voltios (500 mA)
Cables del USB Uno de los terminos importantes es el sincronismo Este sincronismo es transmitido en la misma señal codificada bajo el esquema del NRZI
Cables del USB Los cables del USB permiten abarcar distancias desde unos centímetros hasta varios metros Distancia máxima entre USBs: 5 metros Los cables USB tienen protectores de voltaje los cuales al mismo tiempo detectan los nuevos dispositivos conectados
Protocolo del USB Toda transferencia de datos en el bus involucra paquestes de datos Cada dispositivo conectado al bus tiene un número de identificación El Controlador Host decide qué dispositivo hará uso del bus De esta manera los dispositivos pueden identificar si son el destino de los paquetes
Tipos de transmisión TRANSMISIÓN SÍNCRONA
TRANSMISIÓN ASÍNCRONA Objetivo transmisión: información generada en emisor debe ser recuperada de la misma forma en el receptor
Transmisión asíncrona Cuando uno de los equipos quiere transmitir prepara un grupo de bits encabezados por: + bit de arranque + conjunto de 7 u 8 bits de datos + uno o dos bits de parada El sincronismo no se halla en la señal sino en los equipos (relojes)
Transmisión asíncrona El primero de los bits anuncia al receptor la llegada de los siguientes El receptor tiene que saber los bits que se le llegarán El bit de parada finalizará el envío
Transmisión síncrona El sincronismo viaja en la misma señal Con esto se pueden alcanzar distancias mayores y hay un mayor aprovechamiento del canal Los paquetes están compuestos por 1024 bytes o más
Transmisión síncrona Aplicación: Canal telefónico
Transmisión isocrónica ISO (algún) CRONOS(tiempo) desarrollada pàra satisfacer la transmisión multimedial de redes: Integrar dentro de una misma transmisión información de voz, texto, vídeo e imágenes Es una forma de transmisión de datos en que los caracteres estan separados por un numero entero de periodos
Transmisión isocrónica Provee comunicación continua y periodica entre el host y el dispositivo mueve información relevanta a algún tipo de transmisión (audio, video)
Transmisión Bulk No es periodica Se uasa en transferencias que requieren todo el ancho de banda disponible Si no pueden conseguir todo el ancho de banda se demoran hasta que esté disponible Nota: Además de todas estas transmisiones, el USB permite dos tipos de transmisiones más, de control y de interrupción
Transmisión de control Comunicación exclusivamente entre el host y el dispositivo que permite configuraréste último Paquetes de 8,16,32 o 64 bytes dependiendo de la velocidad del dispositivo
Transmisión de interrupción Dedicado a aquellos dispositivos que demandan mover muy poca información y poco frecuentemente Es unidireccional: dispositivo-host Paquetes de mismas dimensiones que las transmisiones de control
Conjunto integrado de chips Estructura: El conjunto de chips de Intel contiene: – controlador de sistema – unidades de control de buses – xip particular (82371SB PCI IDE/ISA) para integrar las partes
Conjunto integrado de chips
Chips controladores de USB Cada chip controlador tiene una función específica Principales controladores: – 8x930Ax USB Peripheral Controller – 8x930Hx USB Hub Controller – 8x931Ax USB Peripheral controller
Conclusión El USB permitirá reducir costes de los periféricos ya que no requiere tarjetas adicionales ni transformadores de energia Sigue una especificación orientada a la comodidad de los usuarios y a la facilidad del manejo por personas sin formación técnica Con la introducción del USB se consigue que las computadors tengan acceso a la instalación de periféricos de forma segura y rápida
Bibliografia Internet www.microsoft.com/hwdev/usb/ www.lvr.com/usb.htm Libros · USB Complete (Second edition) Jan Axelson Ed.Lakeview Research · USB design by example a practical guide to building I/O devices John Hyde