1 / 20

USB en Windows

USB en Windows. Propósito. Tratamos aquí la relación de la interfaz USB con el Sistema Operativo. Para ello vamos a observar todos los pasos que tienen lugar desde que se inserta un dispositivo en el bus hasta que una aplicación de usuario puede acceder al dispositivo.

dani
Download Presentation

USB en Windows

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. USB en Windows

  2. Propósito • Tratamos aquí la relación de la interfaz USB con el Sistema Operativo. Para ello vamos a observar todos los pasos que tienen lugar desde que se inserta un dispositivo en el bus hasta que una aplicación de usuario puede acceder al dispositivo.

  3. Enumeración de los dispositivos • La enumeración es el proceso por medio del cual el dispositivo es integrado en el sistema.

  4. 1.- El usuario inserta el dispositivo en el enchufe usb.2.- El hub detecta el dispositivo.

  5. 3.- El host conoce la existencia del nuevo dispositivo. - Get_port-status request • (Todo dispositivo tiene que responder a un conjunto de peticiones por medio de las cuales el sistema es capaz de identificar las características del dispositivo)

  6. Comandos que debe admitir el dispositivo USB desde el driver

  7. Drivers en el S.O. • En el host existe una pila de drivers que gestionan el uso y la configuración de USB. • Los Bus Drivers son los encargados de el trabajo administrativo: • -root-hub driver (se encarga de las inicializaciones) • -bus-class driver (se encarga de la enumeración y las transacciones) • -host-controller driver (se encarga del acceso al medio)

  8. Llamadas a funciones API de Win32 APLICACIONES ENTORNO DE USUARIO Paquetes de solicitud de I/O Aplicaciones SUBSISTEMA WIN32 Paquetes de solicitud de I/O Aplicaciones DRIVERS DE FUNCION NUCLEO DEL S.O. Aplicaciones DRIVERS DE BUS Interfaz específica con el hardware Aplicaciones HARDWARE

  9. APLICACIONES FILTRO SUPERIOR Añaden características específicas A la clase DRIVER DEFINIDO POR EL USUARIO PARA MANEJAR HARDWARE ESPECÍFICO DRIVER DE CLASE DEFINIDOS PARA CLASES ESTÁNDARES FILTRO INFERIOR Añaden características específicas A la clase USB HUB DRIVER (USBHUB.SYS) (inicializa los puertos) USB BUS-CLASS DRIVER (USBD.SYS) (gestiona transacciones, alimentación, enumeración) HOST CONTROLLER DRIVER (UHCI.SYS, OPENHCI.SYS, EHCI.SYS) (se comunican con el hardware

  10. 4.- El hub detecta si un dispositivo es de baja o alta velocidad: • Actualmente se soportan tres velocidades: • baja: 1.5 Mb por segundo • full, 12Mb por segundo • High (2.0): 480Mb. (IEEE-1394 400 Mbps y 3.2Gbps)

  11. 5 el hub resetea el dispositivo • 6 el host identifica la velocidad del dispositivo. • Low • Full • High

  12. 7.-El hub establece una vía entre el dispositivo y el bus. • 8.- El host envía un Get_Descriptor • Máximo tamaño de paquete por el default pipe

  13. Descriptores • Los dispositivos organizan la información en torno a descriptores jerárquicos. • Estos descriptores informan de características sobre el dispositivo, y luego más específicamente sobre las funciones que este ofrece

  14. Jerarquía de descriptores

  15. 9.- El host asigna una dirección. • Set_Address • (a partir de este momento el dispositivo responde a su dirección) • 10.- El host se informa acerca de las capacidades del dispositivo. • Get_Descriptor

  16. Descriptor del dispositivo

  17. 11.- El host asigna y carga el driver del dispositivo.12.- El driver del dispositivo selecciona una configuración. Set_Configuration. • El device driver o Function Driver es una interfaz de cara a la aplicación. • Ofrece a las aplicaciones un formato estándar de acceso a los dispositivos CreateFile, ReadFile, WriteFile.

  18. Selección del driver Con los datos del Descriptor del driver • Vendedor • Producto • Clase • Subclase Explora los archivo *.inf del sistema (C:\WINDOWS\inf) que describen los drivers existentes. Si coincide alguno, lo selecciona.

  19. Acceso al driver por la aplicación • La aplicación accede al driver por medio de las API de Windows (???) • CreateFile (abre un dispositivo de comunicación) • ReadFile (lee del dispositivo) • WriteFile (Escribe en el dispositivo)

  20. fin USB Complete 2º Ed. Everything you need to develop custom USB peripherals... Jan Axelson Lakeview Research Usb in a nutshell Craig Peacock 2002 USB 1.1 specification

More Related