Usb

98
Universal Serial Bus

description

Tarea

Transcript of Usb

  • Universal Serial Bus

  • Genealoga y alcanceGenealogaEnero de 1996, versin 1.0.Velocidad 1,5 Mbps. Intel, Compaq, NEC, y MicrosoftSeptiembre de 1998, versin 1.1.Velocidades de 1,5 (Low Speed) 12Mbps (Full Speed)Mejora en la asignacin de ancho de banda a los dispositivos, a travs de la incorporacin de nuevos tipos de transferencias.Septiembre del 2000 versin 2.0Velocidades de 1,5 (Low Speed), 12(Full Speed), o 480 Mbps (High Speed)Alcance:Nuestro estudio se centrar en la versin 1.1, tratando de introducir conceptos de 2.0.

    Autor: Alejandro Furfaro

  • Principales metas propuestasExpansin de perifricos sencillaDeteccin automtica de un nuevo dispositivo Conexin y desconexin sin reiniciar el equipoSoporte plug & play.Velocidades de transferencia de hasta 480 Mbits/seg. a bajo costo.Soporte a aplicaciones multimedia real time.Integracin con dispositivos electrnicos (VCR, por ejemplo), aumentando de esta manera las capacidades de la PC.Interfaz de software standard independiente del dispositivo que se desee conectar.

    Autor: Alejandro Furfaro

  • Arquitectura IEl Universal Serial Bus est organizado como una estructura jerrquica, controlada por un dispositivo denominado host controller que reside en la PC.Se dispone adems de un dispositivo denominado Hub, en el centro de cada estrella, logrndose de esta forma un anidamiento multinivel que permite la expansin del bus, conectndole diversos dispositivos.

    Autor: Alejandro Furfaro

  • Arquitectura IIEl Hub root es el elemento del sistema que compone el vrtice de la pirmide jerrquica. Por lo tanto solo hay un Hub Root en el sistema. Tambin se lo conoce como Host Controller, y se compone de hardware firmware y software, todo instalado en la PC. Existen dos standards para implementar Host Controllers: Open Host Controller Interface (OHCI) desarrollado por Compaq, y Universal Host Controller Interface (UHCI) de Intel.

    Autor: Alejandro Furfaro

  • Dispositivos USB IEl Hub es un dispositivo USB especial, que extiende la cantidad de ports para conectar dispositivos, convirtiendo un punto de conexin simple, en mltiples puntos de conexin. Por punto de conexin entendemos port.

    FuncionesSon dispositivos conectados al bus capaces de recibir y transmitir informacin desde / hacia el Host Controller. Se denomina funcin debido a que no necesariamente la correspondencia funcin dispositivo es uno a uno. Ejemplos de funciones en un Bus USB: Teclado, Mouse, lapiz ptico, una impresora, un modem (analgico, o ISDN) etc.

    Autor: Alejandro Furfaro

  • Es posible tener varias funciones implementadas dentro de un dispositivo conectado por un nico cable a un port USB. Estos son conocidos como dispositivos compuestos, y se presentan al Host Controller como un Hub con mas de un dispositivo no removible.

    Dispositivos USB II

    Autor: Alejandro Furfaro

  • Consideraciones adicionalesAlimentacin:Desde este punto de vista, los dispositivos USB trabajan en dos modos:self poweredBus powered.Velocidad:La especificacin 1.1 soporta dos tipos de dispositivos: Dispositivos USB low speed, (1.5 Mbits/seg.)Dispositivos USB full speed, (12Mbits/seg).Adems, garantiza la coexistencia de ambos tipos de dispositivo en el bus de manera que no existan desincronizaciones con los mismos.

    Autor: Alejandro Furfaro

  • Flujo de datos: Modelo de ImplementacinFunction Layer, es quien provee la interfaz entre el usuario y el dispositivo.USB Device Layer es la visin que tiene el software del sistema para realizar las operaciones previstas con el dispositivo USB.USB BUS Interface Layer es la capa del modelo que resuelve la comunicacin fsica, a travs de sealizacin de hardware y transmisin de paquetes de informacin, entre el Host y el Dispositivo Fsico.

    Autor: Alejandro Furfaro

  • Modelo del USB Host

    Autor: Alejandro Furfaro

  • Modelo del Dispositvo USBA nivel de la USB Bus Interface, tenemos fuertes cambios de un dispositivo al otro ya que se ocupa de la interaccin con el Host Controller remoto, a nivel de sealizacin y transmisin fsica.En el USB Logical Device, la interfaz con el Host es bsicamente la misma independientemente del dispositivo. Se trabaja a nivel lgico. Se dispone de un juego de funciones de interaccin bsicas, que son comunes a los diferentes dispositivos USB a conectar al bus. Analizando el contenido de dichas funciones se pueden recin advertir las posibles diferencias en el tratamiento a los diferentes dispositivosLa Funcin es la capa que realiza la funcin esperada por el Client SW instalado en el Host.

    Autor: Alejandro Furfaro

  • ConexionesCada conexin es punto a punto y se lleva a cabo mediante un cable separado. Dicho cable est compuesto de cuatro hilos. Se pueden conectar hasta 127 nodos o dispositivos diferentes al bus.La seal se aplica en forma diferencial entre D+ y D-, de modo tal que se establece una comunicacin Half Duplex. Es decir, se transmite en un nico sentido en cada momento.VBUS , por su parte transporta 5Vcc con respecto de la lneaGND que tiene la referencia elctrica de tierra del sistema.

    Autor: Alejandro Furfaro

  • Tensiones de entrada y salidaEstado Bajo: La tensin de salida se ubica dentro de la banda de tensiones vlidas de entrada: V VILmax Estado Alto: La tensin de se ubica dentro de la banda de tensiones vlidas de salida VIHmin V VIHmax 0,30,82,02,82,73,6VVIHZmax VOHmaxVOHminVIHZminVIHminVILmaxVOLmaxVOLmin0

    Autor: Alejandro Furfaro

  • Significa que un port desconectado ve 15 K. En el momento de conectar un dispositivo uno de los conductores del Bus queda a 1,5 K con respecto a una fuente de entre 3V y 3,6V. La resistencia de Thevenin (que no incluye los 15 K), no debe ser menor de 900 .Estas condiciones elctricas establecen la forma en que se detectan las conexiones y desconexiones de dispositivos al bus.Caractersticas Elctricas IEntrada de un port de Hub, y de un Dispositivo USB Full-speed

    Entrada de un port de Hub, y de un Dispositivo USB Low-speed

    Autor: Alejandro Furfaro

  • Sealizacin al desconectar un dispositivo

    Sealizacin al conectar un dispositivo Full Speed

    Caractersticas Elctricas II

    Autor: Alejandro Furfaro

  • Sealizacin al resetear un dispositivo

    Sealizacin al conectar un dispositivo Low Speed

    Caractersticas Elctricas III

    Autor: Alejandro Furfaro

  • Caractersticas Elctricas IV

    Autor: Alejandro Furfaro

  • Caractersticas Elctricas V

    Autor: Alejandro Furfaro

  • Sealizacin de Comienzo y Fin de PaqueteCaractersticas Elctricas VI

    Autor: Alejandro Furfaro

  • mediante el no cambio de nivel y los 0 mediante cambios de nivel. Llevado a trminos de estados, en NRZI pasa del estado J al K cada vez que aparece un 0 en el stream de bits a transmitir.

    Problema: Las strings largas de 1s no generan cambios de nivel y pueden causar la prdida de sincronismo entre los dos dispositivos.

    Para evitarlo se utiliza una tcnica denominada bit Stuffing (Relleno de bits), que consiste en insertar un 0 cada seis 1 consecutivos.USB emplea codificacin de datos NRZI. Consiste en representar los 1Caractersticas Elctricas VII

    Autor: Alejandro Furfaro

  • Flujo de Informacin en USB ISe dispone de un flujo de comunicacin dedicado entre cada aplicacin y la correspondiente Funcin en el dispositivo. As, una Funcin de un dispositivo puede tener diferentes flujos de comunicaciones con diferentes aplicaciones que la requieran .

    En el dispositivo USB, el flujo de comunicacin termina en un Endpoint .Host Controller Driver: Interfacea al USB Host Controller con el USB System Software. Garantiza que el USB System Software, pueda interactuar con toda la variedad de implementaciones de Hardware que se pueda encontrar.USB Driver (USBD): Interfacea al USB System Software con la aplicacin cliente (Client SW) permitindoles a stas el manejo del dispositivo USB

    Autor: Alejandro Furfaro

  • Un dispositivo USB se presenta al sistema como una coleccin de Endpoints. Estos Endpoints a su vez se agrupan formando Interfaces. Las Interfaces son vistas de las diferentes Funciones del dispositivo. La comunicacin entre los extremos se realiza entre un buffer del lado Host y un Endpoint del lado Dispositivo USB. El Canal es un pipe.Flujo de Informacin en USB II

    Autor: Alejandro Furfaro

  • Endpoints IEs la porcin identificable de un dispositivo USB que representa el extremo en un flujo de comunicacin entre el Host y dicho dispositivo. Tiene un Nmero definido durante el diseo del dispositivo que lo identifica unvocamente. Transfiere informacin en una sola direccin.Cada dispositivo USB tiene una cantidad de Endpoints independientes entre s, y una direccin unvoca que lo identifica en el sistema, que obtiene desde el Host en el momento de su conexin al bus.As es que, definidos la direccin del dispositivo USB, el Nmero de Endpoint, y la Direccin del Flujo de Datos, se determina el Endpoint del dispositivo con el que se quiere establecer comunicacin.

    Autor: Alejandro Furfaro

  • Endpoints IICaractersticas de un Endpoint que deben ser conocidas por el Software Cliente a fin de interactuar con l de manera correcta:Nmero de identificacinDireccin de transferencia de datosTipo de transferencia que soporta.Frecuencia o tiempo de demora en el acceso al bus. Ancho de Banda requerido. Comportamiento en el manejo de errores.Tamao mximo del paquete de datos que puede transaccionar.

    Autor: Alejandro Furfaro

  • El Endpoint 0Todos los dispositivos USB deben tener implementado un mtodo de control default que utilice un par de Endpoints (uno de entrada y otro de salida), para que en el momento de su conexin al bus los pueda inicializar el USB System Software en el Host. Este mtodo se conoce como Default control Pipe, y el par de Endpoints que lo compone levan el Nmero cero.El Default Control Pipe soporta las transferencias de Control.El Endpoint cero est siempre accesible ni bien el dispositivo se conecta al bus, o se conecta a la fuente de alimentacin, o es reseteado.

    Autor: Alejandro Furfaro

  • Pipes ISon entidades abstractas que relacionan un Endpoint del dispositivo USB con el software del host. Son el canal de comunicacin virtual mediante el cual se pueden transferir datos entre un buffer de memoria en el host y el Endpoint del dispositivo USB.Pueden tener uno de dos modos mutuamente excluyentes:Stream: Transmiten datos sin una estructura USB definida y en modo First-In First-Out. Siempre son unidireccionales. Message: Transmiten datos con alguna estructura USB definida. Se enva un requerimiento al dispositivo USB desde el host, el que es seguido por una transferencia de datos en la direccin adecuada. Finalmente se pasa a una fase de Estado. Este tipo de pipes permite comunicaciones bidireccionales.

    Autor: Alejandro Furfaro

  • Pipes IIPara cursar una transferencia un pipe requiere que se defina:Demanda del bus USB y ancho de banda requerido. Tipo de transferenciaCaractersticas del Endpoint asociado en el dispositivo: direccin de transferencia, tamao mximo del paquete de datos a transmitir,etc.El Cliente de Software que corre en el host enva requerimientos al pipe a travs de I/O Request Paquets (IRPs). El formato de estos depende del Sistema Operativo. El Cliente de Software se entera de la finalizacin de un IRP, cuando recibe un aviso de finalizacin exitosa, o con error.Si no existen IRPs pendientes el pipe est en estado idle. Esto significa que su Endpoint asociado en el extremo del dispositivo USB no ve en el bus transacciones dirigidas a l.

    Autor: Alejandro Furfaro

  • Organizacin de las TransferenciasEl Host Controller es el encargado de velar por que todas las transacciones se lleven a cabo en el menor tiempo posible. Para ello divide el trfico en frames de 1 mseg. Luego arma cada frame con las transacciones correspondientes a las diferentes transferencias que se le solicitan desde las aplicaciones que se estn ejecutando en el Host.

    Autor: Alejandro Furfaro

  • TransaccionesCada Transferencia comprende una o mas transaccionesCada Transaccin contiene un paquete Token, y puede contener adicionalmente paquetes de datos y HandshakeCada paquete contiene un PID y puede tener adems informacin adicional y un CRCTransferencia 1Transferencia 2Transferencia 3Transaccin 1Transaccin 2Transaccin 3TokenDatosHandshakePIDInfo. AdicionalCRC

    Autor: Alejandro Furfaro

  • Paquetes ILos paquetes se dividen en diversos campos. Algunos son opcionales y otros obligatorios.Campo SYNC: Todos los paquetes comienzan con un campo SYNC. Genera la mxima frecuencia de transicin entre estados de las lneas diferenciales que componen el Bus. Aparece como un tren de transiciones JKJKJKJK en su codificacin NRZI siguiente a un estado Idle. Sus ltimos dos bits se toman como el fin del campo SYNC y por inferencia se asume que a continuacin viene el campo Token.Los paquetes Token Data y Handshake se representarn en formato no codificado. Sin embargo, no debe perderse de vista que se trata de paquetes que se transmiten por el bus con codificacin NRZI, y Bit Stuffing.

    Autor: Alejandro Furfaro

  • Campo PID (Packet Identifier):Se compone de cuatro bits que identifican el tipo de paquete en cuestin, seguido de cuatro bits de chequeo de errores de Tx.

    Tiene por funcin identificar que tipo de paquete se est cursando por el bus.En el siguiente cuadro se muestran los diferentes valores que puede tomar para cada tipo de paquete que viaja por el Bus. Los valores corresponden a los 4 LSBs.Paquetes II

    Autor: Alejandro Furfaro

  • Paquetes III

    Autor: Alejandro Furfaro

  • Paquetes IVFormato de los Paquetes TOKENIN / OUT / SETUP:

    START OF FRAME:

    Autor: Alejandro Furfaro

  • Paquetes VFormato de los Paquetes DATADATA0 / DATA1:

    Formato de los paquetes HANDSHAKE:ACK: Indica que el paquete fue recibido sin error, y que puede enviar el siguiente.NACK: Indica que el paquete fue recibido sin error, pero que por condicin del extremo receptor se debe retransmitir el paquete (Ej: Buffer Full).STALL: Indica que existe una condicin de error en la Funcin y el Endpoint est en estado HALT. El Host no debe retransmitir el Paquete.Si el paquete tiene CRC Incorrecto o error de bit stuffing no se retorna respuesta

    Autor: Alejandro Furfaro

  • Campo de Informacin Adicional:Cuando las transacciones llevan como PID los cdigos IN, OUT, o SETUP, es necesario especificar la direccin del port seleccionado as como su nmero de Endpoint.Tenemos 128 direcciones de port (Addr 0-6), y 16 Endpoints (Endp 0-3), para transacciones IN y otros 16 para transacciones OUT.

    Cada frame que se transmite por el bus tiene un paquete SOF en el que se incluye un nmero de frame de 11 bits, que se genera secuencialmente.En los paquetes cuyo PID es DATA0 y DATA1, se puede tener hasta 1023 bytes de datos.Paquetes VI

    Autor: Alejandro Furfaro

  • Paquetes VIIChequeos de Redundancia Cclica:Controlan todos los campos no PID en los paquetes Token y Datos de modo de asegurar su integridad.El PID se autochequea al transmitir los bits en formato nativo y en complemento a 1.Se utiliza para los campos Token un algoritmo llamado CRC5 (ya que el campo resultante es de 5 bits), que utiliza el siguiente polinomio:G (X) = X5 + X2 + 1

    Para los campos de datos se utiliza un algoritmo CRC16 (campo resultante de 16 bits), que utiliza el siguiente polinomio:G (X) = X16 + X15 + X2 + 1

    Autor: Alejandro Furfaro

  • Tipos de Transferencias ICada tipo de transferencia determina caractersticas importantes del flujo de informacin involucrado. Entre otras contamos las siguientes:Formato de datos impuesto por el USB. Direccin del flujo de comunicaciones. Restricciones en el tamao del paquete de datos a transmitir.Restricciones en el acceso al bus.Restricciones en el tiempo de recuperacin de datos. Secuencias de datos requeridas.Manejo de errores.

    Autor: Alejandro Furfaro

  • Transferencias de control: Son comunicaciones por irrupcin, no peridicas, iniciadas por el host, que se utilizan en operaciones de comando o status.Transferencias Iscronas: Se trata de un tipo de comunicacin peridica y continua entre el host y un dispositivo USB, utilizadas tpicamente en aplicaciones en donde el tiempo de recuperacin de datos es un factor relevante. No quiere decir que sea crtico el tiempo de respuesta en cuanto a la velocidad de recuperacin de los datos sino ms bien, en cuanto a la periodicidad de acceso a stos.

    Tipos de Transferencias II

    Autor: Alejandro Furfaro

  • Transferencias de Interrupcin: Son comunicaciones de baja frecuencia, para tamaos de paquete de datos muy pequeos, y tiempo de recuperacin de datos limitado.Transferencias de volumen (bulk): Son comunicaciones de grandes paquetes de datos por irrupcin, no peridicas, utilizadas para transmitir datos que pueden utilizar cualquier ancho de banda disponible y que tambin pueden ser demorados hasta que el ancho de banda requerido se encuentre disponible.Tipos de Transferencias III

    Autor: Alejandro Furfaro

  • Tipos de Transferencias IV

    Autor: Alejandro Furfaro

  • Formatos de Transacciones ITransferencias de Volumen (Bulk):

    Autor: Alejandro Furfaro

  • Formatos de Transacciones IITransferencias de Volumen (Bulk):

    Autor: Alejandro Furfaro

  • ormatos de Transacciones IIITransferencias de Control:

    Autor: Alejandro Furfaro

  • Formatos de Transacciones IVTransferencias de Control:

    Autor: Alejandro Furfaro

  • Formatos de Transacciones VTransferencias de Interrupcin:

    Autor: Alejandro Furfaro

  • Formatos de Transacciones VITransferencias Iscronas:

    Autor: Alejandro Furfaro

  • Formatos de Transacciones VIITransacciones Consecutivas:

    Autor: Alejandro Furfaro

  • Uso del Ancho de Banda I

    Autor: Alejandro Furfaro

  • Uso del Ancho de Banda II

    Autor: Alejandro Furfaro

  • Uso del Ancho de Banda III

    Autor: Alejandro Furfaro

  • Uso del Ancho de Banda IV

    Autor: Alejandro Furfaro

  • EnumeracinAntes de comenzar a trabajar con un dispositivo el Host debe averiguar sus caractersticas (Tipos de transferencias, cantidad de endpoints, etc.).

    Una vez obtenida esta informacin le asigna al dispositivo un nmero de port lgico en el Bus.

    Este proceso se denomina Enumeracin.

    Autor: Alejandro Furfaro

  • Estados durante la EnumeracinEn la secuencia de Enumeracin, el dispositivo puede tomar seis estados posibles:AttachedSuspendedPoweredDefaultAddressedConfigured

    Hub ReseteadoO Desconfigurado HubConfiguradoActividad en el BusBus InactivoActividad en el BusBus InactivoActividad en el BusBus InactivoActividad en el BusBus InactivoResetDireccin AsignadaDispositivoConfiguraadoDispositivoDesConfiguraadoResetCorte de Alimentacin

    Autor: Alejandro Furfaro

  • Pasos en la Enumeracin IEl usuario conecta el dispositivo a un port de un Hub (Hub root o cualquier hub externo).El dispositivo toma su estado inicial:Attached. Si el Hub est operativo y no est siendo reseteado, alimenta al dispositivo automticamente, si ste es Bus Powered. El dispositivo pasa al estado Powered.Si el dispositivo es Self Powered al attacharse directamente entra al estado Powered.El Hub detecta al dispositivo. Monitorea el estado elctrico del port, y si detecta que la impedancia de entrada cae de 15 K a 1,5 K, registra el evento para informar al host. El dispositivo sigue en estado PoweredEl hub no transmite nada al bus.

    Autor: Alejandro Furfaro

  • Pasos en la Enumeracin IIEl Host controller encuesta a los hubs para saber si tienen eventos que reportar.Cada Hub utiliza un pipe configurado para transferencias de interrupcin para reportar eventos al Host controller.Por medio de este pipe el host controller encuesta a los Hubs (uno a la vez) para saber si alguno tuvo un evento desde la ltima consulta, y en tal caso en cual de sus ports se produjo el evento.El Host enva al Hub por el pipe de interrupcin una transferencia de Control que todos los hubs deben entender: Get_Port_Status. El Hub reponde este comando de acuerdo a lo establecido en la especificacin. El Host Controller accede a la informacin completa acera del evento.

    Autor: Alejandro Furfaro

  • Pasos en la Enumeracin IIIEl Hub resetea al dispositivo.Leda la informacin del port attachado, el Host enva al Hub el comando Set_Port_Feature.En dicho comando utiliza la opcin que le permite solicitar al hub el reset del port. El Hub enva las lneas D+ y D- del port a la condicin de Reset durante 10 mseg (atencin: el reset durar los prximos 10 frames).El Hub detecta la velocidad del dispositvo.Examina las tensiones en ambos terminales D+ y D- en el estado Idle. Segn cual tiene mayor tensin, el dispositivo es High Speed o Low Speed.Segn su diseo el Hub puede efectuar esta comprobacin antes del Reset o inmediatamente despus del mismo.

    Autor: Alejandro Furfaro

  • Pasos en la Enumeracin IVEl Host establece un path de seal entre el dispositivo y el bus. Enva al Hub el comando Get_Port_Status para verificar que el dispositivo finaliz el reset. Esta operacin se repite frame tras frame hasta que el Hub conteste que el dispositivo ha sido reseteado. (Recordar que el reset dura 10 frames)Cuando esto ocurre, el dispositivo est en estado Default: Los registros del controlador estn en su estado default, El controlador est listo para trabajar por el Endpoint 0, Puede tomar no mas de 100 ma. del bus, Contestar transacciones dirigidas a la direccin de port 0.

    Autor: Alejandro Furfaro

  • Pasos en la Enumeracin VEl Host averigua el tamao mximo de paquete soportado por el default control pipe.Enva el requerimiento Get_Descriptor al Endpoint 0 de la Direccin 0. Especificando en este comando que se refiere al descriptor de dispositivo y que se requieren 8 bytes de respuesta por parte del dispositivo.El Host enumera solo un dispositivo a la vez, as que no hay forma que otro dispositivo responda.El tamao mximo del paquete est en el byte 8 del Descriptor de Dispositivo. Por eso el Host solo lee sus ocho primeros bytes.

    Autor: Alejandro Furfaro

  • Pasos en la Enumeracin VIEl Host asigna una direccin.Enva el requerimiento Set_Address, con la direccin que le asigna al dispositivo.El dispositivo lo lee, devuelve ACK, y almacena su direccin. Ahora est en el estado Addressed. La direccin asignada es vlida hasta que el dispositivo se desconecte, apague, o resetee.

    Autor: Alejandro Furfaro

  • Pasos en la Enumeracin VIIEl Host lee las caractersticas del dispositivo.Enva el requerimiento Get_DescriptorEndpoint 0 del dispositivo.Direccin de port: la que termina de asignarDescriptor de dispositivo.El dispositivo devuelve su Device Descriptor.Contiene la cantidad de configuraciones, interfaces, y endpoints que el dispositivo tiene definidos. Los detalles de estos elementos se encuentran en los respectivos descriptores almacenados en el dispositivo.Por cada configuracin informada, el host controller enva un Get_Descriptor al dispositivoPort y Endpoint, dem anteriorDescriptor de Configuracin.El dispositivo responde el requerimiento.Descriptor de la configuracin requeridaDescriptores de interfaz que dependen de esta configuracinDescriptores de endpoint que dependen de cada interfazDescriptores de string si los hubiera

    Autor: Alejandro Furfaro

  • Pasos en la Enumeracin VIIIEl Host carga un Device Driver.En base a la informacin de Vendor ID, Product ID, Release number, e informacin de clase ledos del Device Descriptor por el driver de Bus USB, el Sistema Operativo carga el Device Driver mas apropiado para el dispositivo. En el caso de entornos Windows, se usa adems la informacin de los archivos de Sistema .INF.El Device Driver del dispositivo selecciona una configuracin.Comando Set_Configuration. El dispositivo est ahora en el estado Configured. El dispositivo est listo para ser utilizado.

    Autor: Alejandro Furfaro

  • Descriptor de Dispositivo

    Autor: Alejandro Furfaro

  • Descriptor de Dispositivo/*SINGLE HID INTERFACE*/

    const byte DEV_DESC[]={DEV_LENGTH,/*length of this desc. */ DEVICE, /*DEVICE descriptor */ 0x00,0x01, /*spec rev level (BCD) */ 0x00, /*device class */ 0x00, /*device subclass */ 0x00, /*device protocol */ 0x08, /*max packet size */ 0x00,0x04, /*National's vendor ID */ 0x5B,0xC3, /*National's product ID */ 0x41,0x01, /*National's revision ID */ MFG_STR_OFS,/*index of manuf. string */ PID_STR_OFS,/*index of prod. string */ 0, /*index of ser. # string */ 0x01 /*number of configs. */ };

    Autor: Alejandro Furfaro

  • Descriptor de Configuracin

    Autor: Alejandro Furfaro

  • Interface Descriptor

    Autor: Alejandro Furfaro

  • Descriptor de Endpoint

    Autor: Alejandro Furfaro

  • Descriptores de Configuracin, Interfaz y Endpoint. Ejemplosconst byte CFG_DESC[] = {CFG_LENGTH, /*length of this desc. */ CONFIGURATION, /*CONFIGURATION descriptor*/ 0x22,0x00, /*total length returned */ 0x01, /*number of interfaces */ 0x01, /*number of this config */ CFG_STR_OFS, /*index of config. string */ ATTRIBUTES, /*attr.: bus powered */ 50, /*max power (100 mA) */

    INT_LENGTH, /*length of this desc. */ INTERFACE, /*INTERFACE descriptor */ 0x00, /*interface number */ 0x00, /*alternate setting */ 0x01, /*# of (non 0) endpoints */ HIDCLASS, /*interface class */ NOSUBCLASS, /*interface subclass */ 0x00, /*interface protocol */ INT_STR_OFS, /*index of intf. string */

    HID_LENGTH, /*length of this desc. */ HID, /*HID descriptor */ 0x00,0x01, /*HID spec rev level (BCD)*/ 0x00, /*target country */ 1, /*# HID class desc follow.*/ HIDREPORT, /*report descr. type */ RPT_DESC_SIZE,0x00, /*report descr. length */

    END_LENGTH, /*length of this desc. */ ENDPOINT, /*ENDPOINT descriptor */ 0x85, /*address (IN) */ 0x03, /*attributes (INTERRUPT) */ 0x40,0x00, /*max packet size (64) */ 0xFF}; /*interval (ms) */

    Autor: Alejandro Furfaro

  • Descriptor de String

    Autor: Alejandro Furfaro

  • Descriptores de String. Ejemplosconst byte STR_DATA[] = {4,3,9,4 /*LANGID array (English) *//*[004] MFG_STR --> "National Semiconductor Corporation" -------------*/ , 70,3, 78,0, 97,0,116,0,105,0,111,0,110,0, 97,0,108,0, 32,0, 83,0 ,101,0,109,0,105,0, 99,0,111,0,110,0,100,0,117,0, 99,0,116,0,111,0 ,114,0, 32,0, 67,0,111,0,114,0,112,0,111,0,114,0, 97,0,116,0,105,0 ,111,0,110,0/*[074] PID_STR --> "USBN9603 HID Evaluation" ------------------------*/ , 48,3, 85,0, 83,0, 66,0, 78,0, 57,0, 54,0, 48,0, 51,0, 32,0, 72,0 , 73,0, 68,0, 32,0, 69,0,118,0, 97,0,108,0,117,0, 97,0,116,0,105,0 ,111,0,110,0/*[122] NBR_STR --> "Jim Lyle" ---------------------------------------*/ , 18,3, 74,0,105,0,109,0, 32,0, 76,0,121,0,108,0,101,0/*[140] CFG_STR --> "Standard Configuration" -------------------------*/ , 46,3, 83,0,116,0, 97,0,110,0,100,0, 97,0,114,0,100,0, 32,0, 67,0 ,111,0,110,0,102,0,105,0,103,0,117,0,114,0, 97,0,116,0,105,0,111,0 ,110,0/*[186] INT_STR --> "HID JOYSTICK Interface" -------------------------*/ , 46,3, 72,0, 73,0, 68,0, 32,0, 74,0, 79,0, 89,0, 83,0, 84,0, 73,0 , 67,0, 75,0, 32,0, 73,0,110,0,116,0,101,0,114,0,102,0, 97,0, 99,0 ,101,0 }; /*end of STR_DATA */#define MFG_STR_OFS 4#define PID_STR_OFS 74#define NBR_STR_OFS 122#define CFG_STR_OFS 140#define INT_STR_OFS 186

    Autor: Alejandro Furfaro

  • Datos para un requerimiento SETUPEspecifica la cantidad de bytes qu se transmitirn en en la segunda fase de datos. La direccin de la transaccin la especifica el bit D7 de bmRequestEspecifica al requerimiento especfico que se va a enviar(ver siguiente slide)Especifica las caractersticas del requerimiento especfico que se va a enviar

    Autor: Alejandro Furfaro

  • Requerimientos Standard

    Autor: Alejandro Furfaro

  • Cdigos para Requerimientos y Tipos Standard

    Autor: Alejandro Furfaro

  • Comando Get descriptorQuien sos?**Setup stage

  • Start Of Frame...se genera cada 1 mseg.**Setup stage

  • Paquetes SetupSe decodifican los Paquetes Setup completos y se generan las interrupciones**Setup stage

  • Paquete DataEl Paquete Data define que clase de transferencia setup se inicia** 01 = device descriptor 80 = direccin de transferencia, comando std. 06 = get descriptor00 = ndice del descriptor 40 00 = cantidad de bytes requeridos por el host (formato little endian; Lowbyte, Highbyte)00 00 = language IDSetup stage

  • ACKnowledgedCada transferencia de control debe ser reconocida (ACKnowledged)**Setup stage

  • ACKnowledged II**Setup stage

  • Paquete IN/OUTCada transferencia de Datos ser iniciada por el host (PC) con un Paquete IN/OUT**Data stage

  • Paquetes de Datos** 12 = longitud del device descriptor 01 = Tipo de device descriptorData stage

  • Fin de la Etapa de Datos**Data stage Status stage

  • Reset desde el Host (10ms)**

  • Comando: Set AddressDesde ahora te llams N2**02 = device address nr. 200 = direccin host- dispositivo, std. command, receptor el dispositivo 05 = set address00 00 00 00 00 = default

  • Fin de la etapa de Datos**Data stage Status stage

  • Get Descriptor al Dispositivo N 2Que sos?**Setup stage

  • Get Descriptor del Dispositivo N 2 IIQue sos?, detalles** 01 = device descriptor 80 = direccin de transferencia, std. command 06 = get descriptor00 = ndice del descriptor 12 00 = bytes a transferir00 00 = language ID Setup stage

  • IN request Obtiene datos del dispositivo**Data stage

  • IN request IIDetalles (obtiene datos de descripcin del dispositivo)** 12 = longitud del device descriptor 01 = Tipo device descriptorData stage

  • 2 IN requestObtiene datos del dispositivo**Data stage

  • 2 IN request IIDetalles. Se transfieren los datos especficos a la PC** 00 = ndice para string descriptor del fabricante01 = byte bajo del devicenumber00 = byte alto del device number00 = ndice al string descriptor del producto

  • 3 IN requestSe transfiere el resto**00 = ndice al string descriptor del nmero de serie 01 = nmero de configuracionesData stage

  • Comando: OUT transferPaquete de datos vacoFinaliza la etapa de datos**Data stage Status stage

  • Comando: Get Configuration DescriptorComo funciona el dispositivo?**Setup stage

  • Comando: Get Configuration DescriptorComo funciona el dispositivo?, detalles** 02 = configuration descriptor 80 = direccin de transferencia, std. command 06 = get descriptor00 = ndice del descriptor

  • In Request: RespuestaRespuesta a Como funciona el dispositivo?**Data stage

  • In Request: Respuesta IIRespuesta a Como funciona el dispositivo?, detalles**19 00 = longitud de los configuration, interface y endpoint descriptors09 = longitud del configuration descriptor02 = Tipo del configuration descriptor 00 = ndice al configuration string descriptor01 = nro. de interfaces usadas en esta configuracin01 = valor para esta configuracin con SetConfiguration60 = atributos de la configuration

  • 2 In Request:Respuesta a Como funciona el dispositivo?**Data stage

  • 2 In Request IIRespuesta a Como funciona el dispositivo?, detalles**04 = Tipo de interface descriptor32 = Consumo max.de energa (en unidades de 2mA)09 = longitud del interface descriptor01 = endpoints utilizados enesta interfaz 00 = nmero de interfaces 00 = ajustes alternativos00 = interface class00 = interface sub class

  • 3 In RequestRespuesta a Como funciona el dispositivo?, detalles**

  • Comando: transferencia OUT Finaliza la etapa de datos**Data stage Status stage

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    Inmediatamente con el hardware se encuentra una capa controladora de bajo nivel que acta como Host Controller. Esta capa es parte del Sistema Operativo que soporta USB y se conoce como Host Controller Driver (HCD). Es el driver del controlador USB, que trabaja a bajo nivel controlando las transacciones que tienen lugar en el bus, de manera ntimamente relacionada al Hardware. Normalmente se disean de modo de soportar ambos standars de hardware (OHDI y UHDI).Encima de este driver, se encuentra un segundo Driver llamado USB Driver (USBD), cuya funcin es la de garantizar la interaccin entre el HCD y los drivers lgicos. Esta Interaccin est definida a travs de estructuras de datos y funciones definidas en la Especificacin Open USB Driver Interface.La tercer capa de Sistema es conocida como LDD (Logic Device Drivers), y consiste de una coleccin de drivers especficos para un determinado dispositivo, o bien para una clase de dispositivitos USB determinada.El Client Sw no es mas que el software que se ejecuta para acceder desde una aplicacin de usuario final , al dispositivo USB en cuestin.

    ****************