BUS USB
Universal Serial Bus
Descripción general
Bus serie orientado a conexión de dispositivos con PC
12 Mbps máximoFácilmente reconfigurableFá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
• 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 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 HubsInteligentes: 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 actividadProporcionar 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 USBUnidireccional
Un solo cliente - Un solo endpoint
Datos enviados de forma secuencialSoporta 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/