BUS USB Universal Serial Bus
Descripción general Bus serie orientado a conexión de dispositivos con PC 12 Mbps máximo Fácilmente reconfigurable Fácilmente ampliable
Descripción más detallada Facilidad de uso: unificación de conectores y cableado de los periféricos Transparencia para los usuarios de detalles técnicos Transparencia para los usuarios de detalles de configuración
continuación Transparencia de detalles técnicos Reducción del puertos en PC sin limitar la expansión (hasta 127 dispositivos) Dispositivos síncronos o asíncronos con el mismo cableado Dispositivos de diferente velocidad de transferencia (hasta 12Mbps)
continuación Transparencia de detalles de configuración Auto identificación y auto configuración de los dispositivos Auto detección de nuevos dispositivos en el bus Auto detección de baja de dispositivos del bus
Rango de aplicaciones
Arquitectura
continuación Topología Hubs y Dispositivos El Hub Raíz reside en el PC Hubs: añade conectividad al sistema Dispositivo: Proporciona la funcionalidad del sistema El Hub Raíz reside en el PC
¿Qué es un hub?
Hubs Elemento clave en el sistema plug-and-play Expansión Los dispositivos simplemente se conectan a los hubs Expansión Proporcionan nuevos puntos de acceso al sistema USB
Hubs Dos tipos de puerto: Upstream: conexión hacia el Host Downstream: conexión hacia dispositivos u otros Hubs Inteligentes: No un simple concentrador/difusor Hub Repeater: conmuta entre ambos tipos de puerto guiado por el protocolo Hub Controller: Interfaz de configuración
Dispositivos o funciones
continuación Terminología adecuada: funciones Dispositivo capaz de transmitir o recibir datos de información o control Cada función contiene información sobre sus capacidades y requerimientos del sistema Antes de entrar en actividad debe ser configurada
Flujo de información
En el Host Cliente: Software de usuario relacionado con la función System USB Software: Soporta USB en un sistema operativo particular. Enumeración Host USB Controller: Controla las altas y bajas de dispositivos.
En el dispositivo Función USB: está relacionada con la acción concreta de entrada/salida Dispositivo lógico USB: coordina una serie de funciones Interfaz de comunicación USB: ofrece a los niveles superiores el servicio de comunicación con el bus
Funciones del host controller Detectar el alta o baja de dispositivos en el bus Gestionar el flujo de control y de datos entre el host y los dispositivos Recabar datos y estadísticas de actividad Proporcionar Potencia a los dispositivos enganchados que lo requieran.
Funciones del Software de control Enumeración y configuración de dispositivos Gestionar las transferencias de datos: síncronas y asíncronas Gestión de la información sobre los dispositivos y el bus
Flujo de comunicación
Flujo de comunicación
End Points La comunicación se establece entre el Cliente y un EndPoint en la función Un EndPoint identifica aspectos del flujo de información: Requerimientos de frecuencia y latencia de bus Ancho de banda Tamaño máximo de paquete Tipo y dirección de transferencia (simplex)
End Point 0 Establece el canal inicial de configuración del dispositivo lógico Informa de las características del dispositivo funciones que ofrece Permite el primer acceso y la configuración del dispositivo recién ingresado
Pipes Asociación entre un Endpoint y el software cliente Movimiento de datos y control: Stream: datos sin formato específico USB Message: datos con alguna estructura definida por USB
Default Control Pipe El Pipe entre el System USB Software y el EndPoint 0 Configuración del resto de pipes ofrecidos por el dispositivo lógico Otras configuraciones específicas del dispositivo lógico
Stream Pipes Datos sin formato USB Unidireccional Un solo cliente - Un solo endpoint Datos enviados de forma secuencial Soporta transferencias de tipo Bulk, Isocronas e Interrupción
Message Pipes La transferencias siguen un formato: Petición-Dato-Estado. Implicando movimiento en ambas direcciones Cada petición es completamente satisfecha antes de dar paso a la siguiente Un solo endpoint varios clientes pueden hacer peticiones
Tipos de transferencia Son formatos de comunicación predefinidos por USB entre los que el usuario puede escoger según sus necesidades Cada tipo define un conjunto de características de la comunicación: Formato de los datos, dirección de la comunicación, restricciones de tamaño de paquete, control de errores, latencia
Tipos de transferencias Control (message pipe) Utilizada para configurar los dispositivos nuevos en el bus. El contenido de los paquetes exige un formato Petición / Respuesta / Estado No se especifican restricciones de frecuencia o latencia para este tipo de transferencias Exige control de errores
Tipos de transferencias Bulk (stream pipe) Grandes cantidades de datos emitidas de forma esporádica. Únicamente se garantiza la correcta emisión y recepción de datos (control de errores) No garantiza límites de latencia o ancho de banda (bandwidth-available basis) Impresoras, scanners
Tipos de transferencias Interrupt (stream pipe) Transferencias que pequeña longitud y esporádicas. Exigen una respuesta inmediata lo que impone restricciones de latencia Exige control de errores (retransmisión si es necesario) Teclado, ratón, dispositivos de señalización
Tipos de transferencias Isochronous (stream pipe) Información sin formato. Generada o consumida en gran cantidad y de forma continua No se exige un formato de paquete Únicamente se negocia el tamaño máximo (data payload) No se exige control de errores (error-tolerant) Exige restricciones de latencia (la temporización es importante) Usb garantiza una tasa constante de transferencia durante toda la transacción. Dispositivos de sonidos
Capítulos 3,4 y 5 de USB Specification 1.1 Usb11.pdf
Referencias en Red http://www.monografias.com/trabajos13/fire/fire.shtml http://www.duiops.net/hardware/articulo/usb20.htm Compañías que han desarrollado USB: Microsoft, HP, Compaq, Intel, Agere, NEC y Philips http://latin.aopen.com.tw/tech/techinside/usb2.htm Un artículo sobre fire-wire frente a USB http://www.macuarium.com/macuarium/actual/noticias/2000_05_01_firewire.shtml Buscando la especificación de USB 2.0 http://www.usb.org/developers/docs/ Una página muy práctica. http://www.beyondlogic.org/usb/