usb en windows. propósito tratamos aquí la relación de la interfaz usb con el sistema operativo....
Post on 24-Jan-2016
222 Views
Preview:
TRANSCRIPT
USB en WindowsUSB en Windows
PropósitoPropósito
Tratamos aquí la relación de la Tratamos aquí la relación de la interfaz USB con el Sistema interfaz USB con el Sistema Operativo. Para ello vamos a Operativo. Para ello vamos a observar todos los pasos que tienen observar todos los pasos que tienen lugar desde que se inserta un lugar desde que se inserta un dispositivo en el bus hasta que una dispositivo en el bus hasta que una aplicación de usuario puede acceder aplicación de usuario puede acceder al dispositivo. al dispositivo.
Enumeración de los dispositivos Enumeración de los dispositivos
La enumeración es el proceso por La enumeración es el proceso por medio del cual el dispositivo es medio del cual el dispositivo es integrado en el sistema.integrado en el sistema.
1.- El usuario inserta el dispositivo 1.- El usuario inserta el dispositivo en el enchufe usb.en el enchufe usb.
2.- El hub detecta el dispositivo.2.- El hub detecta el dispositivo.
3.- El host conoce la existencia del 3.- El host conoce la existencia del nuevo dispositivo.nuevo dispositivo.
- - Get_port-status requestGet_port-status request
(Todo dispositivo tiene que (Todo dispositivo tiene que responder a un conjunto de responder a un conjunto de peticiones por medio de las cuales el peticiones por medio de las cuales el sistema es capaz de identificar las sistema es capaz de identificar las características del dispositivo)características del dispositivo)
Comandos que debe admitir el Comandos que debe admitir el dispositivo USB desde el driverdispositivo USB desde el driver
Drivers en el S.O.Drivers en el S.O.En el host existe una pila de drivers que En el host existe una pila de drivers que gestionan el uso y la configuración de gestionan el uso y la configuración de USB.USB.Los Bus Drivers son los encargados de el Los Bus Drivers son los encargados de el trabajo administrativo:trabajo administrativo:
-root-hub driver (se encarga de las -root-hub driver (se encarga de las inicializaciones)inicializaciones)
-bus-class driver (se encarga de la -bus-class driver (se encarga de la enumeración y las transacciones)enumeración y las transacciones)
-host-controller driver (se encarga del -host-controller driver (se encarga del acceso al medio)acceso al medio)
APLICACIONES
AplicacionesSUBSISTEMA WIN32
AplicacionesDRIVERS DE FUNCION
AplicacionesDRIVERS DE BUS
AplicacionesHARDWARE
NUCLEO DEL S.O.
ENTORNO DE USUARIO
Llamadas a funciones API
de Win32
Paquetes de solicitud de
I/O
Paquetes de solicitud de
I/O
Interfaz específica con
el hardware
HOST CONTROLLER DRIVER(UHCI.SYS, OPENHCI.SYS, EHCI.SYS)
(se comunican con el hardware
USB BUS-CLASS DRIVER(USBD.SYS)
(gestiona transacciones, alimentación, enumeración)
USB HUB DRIVER(USBHUB.SYS)
(inicializa los puertos)
DRIVER DEFINIDO POR EL USUARIO
PARA MANEJAR HARDWARE
ESPECÍFICO
FILTRO SUPERIORAñaden características específicas
A la clase
DRIVER DE CLASEDEFINIDOS PARA CLASES
ESTÁNDARES
FILTRO INFERIORAñaden características específicas
A la clase
APLICACIONES
4.- El hub detecta si un dispositivo 4.- El hub detecta si un dispositivo es de baja o alta velocidad: es de baja o alta velocidad:
Actualmente se soportan tres velocidades:Actualmente se soportan tres velocidades:– baja: 1.5 Mb por segundobaja: 1.5 Mb por segundo– full, 12Mb por segundo full, 12Mb por segundo – High (2.0): 480Mb. High (2.0): 480Mb. (IEEE-1394 400 Mbps y 3.2Gbps)(IEEE-1394 400 Mbps y 3.2Gbps)
5 el hub resetea el dispositivo5 el hub resetea el dispositivo
6 el host identifica la velocidad del 6 el host identifica la velocidad del dispositivo.dispositivo.– LowLow– FullFull– HighHigh
7.-El hub establece una vía entre el 7.-El hub establece una vía entre el dispositivo y el bus. dispositivo y el bus.
8.- El host envía un Get_Descriptor8.- El host envía un Get_Descriptor– Máximo tamaño de paquete por el Máximo tamaño de paquete por el
default pipedefault pipe
DescriptoresDescriptores
Los dispositivos organizan la Los dispositivos organizan la información en torno a descriptores información en torno a descriptores jerárquicos.jerárquicos.
Estos descriptores informan de Estos descriptores informan de características sobre el dispositivo, y características sobre el dispositivo, y luego más específicamente sobre las luego más específicamente sobre las funciones que este ofrece funciones que este ofrece
Jerarquía de descriptores
9.- El host asigna una dirección.9.- El host asigna una dirección.– Set_Address Set_Address – (a partir de este momento el (a partir de este momento el
dispositivo responde a su dispositivo responde a su dirección)dirección)
10.- El host se informa acerca de 10.- El host se informa acerca de las capacidades del dispositivo. las capacidades del dispositivo. – Get_DescriptorGet_Descriptor
Descriptor del dispositivo
11.- El host asigna y carga el driver del dispositivo.11.- El host asigna y carga el driver del dispositivo.
12.- El driver del dispositivo selecciona una 12.- El driver del dispositivo selecciona una configuración.configuración.
Set_ConfigurationSet_Configuration..
El device driver o Function Driver es una El device driver o Function Driver es una interfaz de cara a la aplicación. interfaz de cara a la aplicación. – Ofrece a las aplicaciones un formato estándar Ofrece a las aplicaciones un formato estándar
de acceso a los dispositivos CreateFile, de acceso a los dispositivos CreateFile, ReadFile, WriteFile.ReadFile, WriteFile.
Selección del driverSelección del driverCon los datos del Descriptor del driverCon los datos del Descriptor del driver
– VendedorVendedor– ProductoProducto– ClaseClase– SubclaseSubclase
Explora los archivo *.inf del sistema Explora los archivo *.inf del sistema (C:\(C:\WINDOWS\inf)WINDOWS\inf)
que describen los drivers existentes. Si que describen los drivers existentes. Si coincide alguno, lo selecciona.coincide alguno, lo selecciona.
Acceso al driver por la aplicaciónAcceso al driver por la aplicación
La aplicación accede al driver por La aplicación accede al driver por medio de las API de Windows (???)medio de las API de Windows (???)
CreateFile (abre un dispositivo de CreateFile (abre un dispositivo de comunicación)comunicación)
ReadFile (lee del dispositivo)ReadFile (lee del dispositivo)
WriteFile (Escribe en el dispositivo)WriteFile (Escribe en el dispositivo)
finfinUSB Complete 2º Ed.USB Complete 2º Ed.
Everything you need to develop custom USB Everything you need to develop custom USB peripherals...peripherals...
Jan AxelsonJan Axelson
Lakeview ResearchLakeview Research
Usb in a nutshell Usb in a nutshell
Craig Peacock 2002Craig Peacock 2002
USB 1.1 specificationUSB 1.1 specification
top related