Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Protocolo USB

No description
by

Tonatiuh Mercado

on 12 April 2011

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Protocolo USB

Protocolo USB Estándar de Bus Serial creado para interconectar
dispositivos de E/S al computador. 1.1
Low Speed: 1.5 Mbits/s en teclados, mouse, joysticks, entre otros.
Full Speed: 12 Mbits/s (1.5 MB/s). Niveles Lógicos: Velocidad: Nivel Bajo: 0.0 – 0.3 [V]
Nivel Alto: 2.8 – 3.6 [V] Existe un único Host al cual se conectan los dispositivos en topología estrella.
Se permite la conexión de hasta 127 dispositivos. Topología: (Bajo el concepto de red) Tipos de Tramas: De control: Configurar dispositivos, dar órdenes y preguntar por su estado.
Isocrónicas: Para dispositivos en tiempo real que necesitan enviar o aceptar daros a intervalos precisos.
De volumen (Bulk): Transferencias grandes, que no requieren tiempo real.
De interrupción: Necesarias pues USB no reconoce interrupciones Tipos de Paquetes: Start of Frame: Indica el inicio de una nueva trama: SOF
Token: Tipo de transacción a realizar en la trama: IN, OUT, SETUP
Datos: Transmiten hasta 1024 bytes de información: Data0, Data1
Handshake: Para confirmar datos o reportar errores: ACK, NAK, STALL 2.0 Velocidad: Niveles Lógicos: Incorpora Hi - Speed: 480 Mbit/s. (60 MB/s) Nivel Bajo: - 400 [mV]
Nivel Alto: +400 [mV] Codificación: NRZI (Non Return to Zero Inverted) con Bit Stuffing "ha sido introducida en el mercado de PC´s y periféricos para mejorar las lentas interfaces serie (RS-232) y paralelo." El sistema de bus serie universal USB consta de tres componentes: Controladores
Hubs
Periféricos Capa de protocolo El orden de transferencia de bits es el siguiente: Primero se transmite el menos significativo, después el siguiente menos significativo y así hasta llegar al bit más significativo. cada paquete de datos viene precedido por un campo SOF y acaba con el delimitador EOF El patrón de señal SOF siempre precede al envío de cualquier paquete, teniendo como objetivo que el emisor y el receptor se sincronicen y se preparen para emitir y recibir datos respectivamente. SOF siempre precede al envío de cualquier paquete, teniendo como objetivo que el emisor y el receptor se sincronicen y se preparen para emitir y recibir datos respectivamente. A todo paquete le sigue EOF, cuya finalidad es indicar el final del paquete. Los dispositivos se comunican a traves de paquetes. Los cuales se dividen en campos. Campo identificador de paquete (PID) Campo identificador de paquete (PID) Es el primer campo que aparece en todo paquete. indica el tipo de paquete, y por tanto el formato del paquete y el tipo de detección de error aplicado a este

Se utilizan cuatro bits para la codificación del PID, sin embargo el campo PID son ocho bits, que son los cuatro del PID seguidos del complemento a 1 de esos cuatro bits Campo direccion Este campo indica la función, a través de la dirección, que envía o es receptora del paquete de datos. Se utilizan siete bits, de lo cual se deduce que hay un máximo de 128 direcciones. Campo endpoint Se compone de cuatro bits e indica el número de "enpoint" al que se quiere acceder dentro de una función, como es lógico este campo siempre sigue al campo dirección Campo numero de frame Es un campo de 11 bits que es incrementado por el host cada (micro)frame en una unidad. El máximo valor que puede alcanzar es el 7FFH, si se vuelve a incrementar pasa a cero. Campo de datos Los campos de datos pueden variar de 0 a 1024 bytes. Cyclic Redundancy Checks (CRC) El CRC utilizado detecta todos lo errores de un bit o de dos bits. El campo de CRC es de cinco bits para los paquetes de tipo IN, SETUP, OUT, PING y SPLIT. Campos Paquetes Token Un token está compuesto por un PID que indica si es de tipo IN, OUT o SETUP. El paquete especial de tipo PING también tiene la misma estructura que token. Después del campo PID viene seguido de un campo dirección y un campo endpoint, por último hay un campo CRC de 5 bits.
SOF Estos paquetes son generados por el host cada un milisegundo en buses de velocidad media y cada 125 microsegundos para velocidad alta. Este paquete está compuesto por un campo número de frame y un campo de CRC de 5 bits. Datos Este paquete está compuesto por cero o más bytes de datos seguido de un campo de CRC de 16 bits. Existen cuatro tipos de paquetes de datos: DATA0, DATA1, DATA2 y MDATA. El número máximo de bytes de datos en velocidad baja es de ocho bytes, en media de 1023 bytes y en alta de 1024 bytes. El número de bytes de datos ha de ser entero. Handshake Se utilizan para saber el estado de una transferencia de datos, indicar la correcta recepción de datos, aceptar o rechazar comandos, control de flujo, y condiciones de parada. El único campo que contiene un paquete de este tipo es el campo PID. ACK: Indica que el paquete de datos ha sido recibido y decodificado correctamente. ACK sólo es devuelto por el host en las transferencias IN y por una función en las transferencias OUT, SETUP o PING.
NAK: Indica que una función no puede aceptar datos del host (OUT) o que no puede transmitir datos al host (IN). También puede enviarlo una función durante algunas fases de transferencias IN, OUT o PING. Por último se puede utilizar en el control de flujo indicando disponibilidad. EL host nunca puede enviar este paquete.
STALL: Puede ser devuelto por una función en transacciones que intervienen paquetes de tipo IN, OUT o PING. Indica que una función es incapaz de transmitir o enviar datos, o que una petición a una tubería control no está soportada. El host no puede enviar bajo ninguna condición paquetes STALL.
NYET: Sólo disponible en alta velocidad es devuelto como respuesta bajo dos circunstancias. Como parte del protocolo PING, o como respuesta de un hub a una transacción SPLIT indicando que la transacción de velocidad media o baja aún no ha terminado, o que el hub no está aún habilitado para realizar la transacción.
ERR: De nuevo sólo disponible en alta velocidad y de nuevo formando parte del protocolo PING, permite a un hub de alta velocidad indicar que se ha producido un error en un bus de media o baja velocidad. Transferencias Bulk Cada transacción de bulto se puede dividir en tres fases: token, datos y "handshake", si bien gracias al token PING pueden haber transacciones de dos fases: token y "handshake". Control Estas transferencias constan de tres fases: transacción setup, fase de datos y transacción de estado. La transacción siempre la inicia el host, y sirve para enviar información de control para indicar al endpoint que se quiere realizar. Interrupciones Las transferencias de interrupción son solamente transacciones de tipo IN y OUT. Desde el punto de vista de las transacciones es muy similar a una transferencia de bultos. Isocronas Una transferencia isócrona se plantea como una secuencia de transacciones muy sencillas para enviar o recibir datos. Estas transacciones no utilizan "handshakes" y por lo tanto no se reenvían paquetes, ya que el objetivo de la transferencia es simular un flujo constante de datos. A continuación un esquema de una transacción.
Full transcript