Professional Documents
Culture Documents
Agenda
Introducci Introduccin.
Especificacin. Componentes del Bus USB. Topologa. Terminologa USB. Funciones del Host y de los dispositivos.
Hardware.
Interfaz mecnica. Interfaz elctrica. Codificacin de datos.
Transferencias de datos.
Introduccin. Tipos de transferencias. Transacciones. Paquetes. Control de errores. Ejemplos. Ancho de banda. Enumeracin.
USB. Introduccin.
El Universal Serial Bus (bus universal serie, USB) es un estndar industrial desarrollado en los aos 1990 que define los cables, conectores y protocolos usados en un bus para conectar, comunicar y proveer de alimentacin elctrica entre computadoras, perifricos y otro dispositivos.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 3
USB. Especificacin.
Toda la informacin respecto del bus USB y sus caractersticas (mecnicas, elctricas y de protocolo) se encuentran especificadas en: http://www.usb.org/developers/docs/
10
Terminologa USB.
Funcin. Una funcin es un conjunto de una o ms interfaces relacionadas entre s que muestran alguna capacidad. Son funciones un mouse, una unidad de adquisicin, hub, etc. Dispositivo. Es una entidad lgica o fsica que lleva a cabo una o ms funciones. Puerto. Un puerto USB se lo puede definir como a cada uno de los conectores a dispositivos de un hub.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 11
12
13
Velocidad y Throughput.
La tasa de transferencia de datos (throughput) entre un dispositivo y el host es siempre menor que la velocidad del bus y no es del todo predecible. USB soporta dos tipos de transferencias que garantizan tasa de transferencia (o latencia). Hay que tener en cuenta que todos los dispositivos comparten el bus. Si el bus est muy cargado el host puede rechazar la conexin de dispositivos de latencia garantizada.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 14
15
17
18
Cables.
En USB 2.0 se necesitan 4 cables para conectar un dispositivo. Los requerimientos al cable van a cambiar de acuerdo a la velocidad del dispositivo. En USB 3.0 se van a requerir dos cables de alimentacin y 3 pares trenzados para seales.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar
19
20
21
22
23
24
Deteccin de dispositivos.
25
26
27
Adems, el perifrico puede estar autoalimentado (self powered). El ordenador gestiona el consumo, teniendo capacidad de poner en reposo (suspend) o en marcha a un perifrico USB. En reposo, este reduce su consumo (si puede),quedndose la parte USB funcional. Esta gestin est orientada especialmente a los equipos porttiles
29
Transferencias USB.
A diferencia de RS-232, por ejemplo, que no define el formato de los datos, en USB est definido el protocolo de transferencia de datos. USB es un protocolo centrado en el host. El host inicia todas las transferencias. El host administra todo el trfico del bus. Toda comunicacin en USB es entre un host y un dispositivo.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 30
31
32
Puntos terminales(Endpoints).
Es una localidad especifica dentro del dispositivo. El Endpoint es un buffer que almacena mltiples bytes, tpicamente es un bloque de la memoria de datos o un registro dentro del microcontrolador. Todos lo dispositivos deben soportar el punto terminal 0. Este punto terminal es el que recibe todo el control y la peticiones de estado durante la enumeracin cuando el dispositivo esta sobre el bus
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar
33
Endpoints.
Todos los endpoints tienen una direccin de endpoint. La direccin de endpoint, consta de un nmero entre 0 y 15 y una direccin. La direccin es siempre desde el punto de vista del host. Un endpoint tipo IN es un endpoint que lleva datos hacia el host. Un endpoint OUT es un endpoint que lleva datos a un dispositivo.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar
34
Puntos terminales(Endpoints).
35
Tuberas (Pipes).
Es un enlace virtual entre el host (la PC) y el dispositivo USB, este enlace configura los parmetros asociados con el ancho de banda que tipo de transferencia se va a utilizar (Control, Bulk, Isocrona o Interrupt) direccin del flujo de datosy el mximo y/o mnimo tamao de los paquetes/buffers. Cada enlace est caracterizado por su banda de paso (Token), su tipo de servicio, el nmero de punto terminal (End Point) y el tamao de los paquetes.
36
38
Tipos de Transferencias
39
Tipos de Transferencias.
Control: Modo utilizado para realizar configuraciones: existe siempre sobre el Punto terminal 0 (EndPoint 0). Todos los dispositivos USB deben soportar este tipo de transferencia. Los datos de control sirven para configurar el perifrico en el momento de conectarse al USB. Algunos drivers especficos pueden utilizar este enlace para transmitir su propia informacin de control. Este enlace no tiene prdida de datos, puesto que los dispositivos de deteccin de recuperacin de errores estn activos a nivel USB.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 40
41
43
44
Transacciones.
Cada transferencias consta de una o ms transacciones. Cada transaccin consta de dos o tres paquetes.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 45
46
47
Paquetes.
Todas las transacciones constan de dos o ms paquetes. Todos los paquetes comienzan con un identificador de paquete (PID), dependiendo del tipo datos, endpoint, etc y luego bits de control de errores (CRC-5).
48
Paquetes.
49
Paquetes.
50
Paquetes.
51
Control de errores.
ACK. El host o el dispositivo recibi sin errores los datos. NAK. Si el dispositivo est muy ocupado para contestar o si no tiene datos retorna NAK al host. El host nunca genera NAKs. STALL. El dispositivo retorna STALL si no soporta determinada transferencia de control o si el endpoint falla. NYET. (Not yet) en high speed en transferencias de control y bulk, cuando todava no est listo el dispositivo. No Responde (timeout). Cuando el dispositivo detecta una condicin de error no genera una respuesta, entonces el host debe reintentar (no en iscrona).
52
Transferencias de control.
53
Transferencia de Control.
54
Transferencias de control.
55
Transferencia de Control.
56
57
58
59
60
Transferencias iscronas.
61
62
Enumeracin
63
Enumeracin - Paso I
64
Enumeracin - Paso II
65
66
Enumeracin - Paso IV
67
Enumeracin - Paso V
68
Enumeracin - Paso VI
69
70
Referencias
Jan Axelson. USB Complete. The Developers Guide, Fourth Edition. Lakeview Research. USB in a NutShell. http://beyondlogic.org/usbnutshell/usb1.shtml USB-IF Developers Area. http://www.usb.org/developers USB Made Simple. http://www.usbmadesimple.co.uk/
71