Estructura del software USB

Sep 01, 2022

interfaz de bus

La interfaz de bus USB maneja la interconexión entre la capa eléctrica y la capa de protocolo. Desde la perspectiva de la interconexión, el dispositivo y el host proporcionan interfaces de bus similares al mismo tiempo, como la máquina de interfaz en serie (SIE). La interfaz de bus USB se realiza mediante el controlador principal.

El sistema USB utiliza el controlador principal para gestionar la transmisión de datos entre el host y el dispositivo USB. La interfaz entre este y el controlador principal depende de la definición de hardware del controlador principal. Al mismo tiempo, el sistema USB también es responsable de administrar los recursos USB, como el ancho de banda y la energía del bus, lo que hace posible que los clientes accedan al USB. El sistema USB también tiene tres componentes básicos:

Controlador de controlador de host (HCD): puede asignar diferentes dispositivos de controlador de host al sistema USB. La interfaz entre HCD y USB se llama HCDI. El HCDI específico está definido por el sistema operativo que admite diferentes controladores maestros. El controlador del controlador maestro universal (uhcd) se encuentra en la parte inferior de la estructura blanda y administra y controla el controlador maestro. Uhcd se comunica y controla el controlador de host USB, y está oculto para otras partes del software del sistema. La capa más alta del software del sistema se comunica con el controlador principal a través de la interfaz de software de uhcd.

El controlador USB (usbd), que se basa en el controlador uhcd, proporciona una interfaz de nivel de controlador para cumplir con los requisitos del diseño del controlador de dispositivo existente. Usbd proporciona una arquitectura de transmisión de datos en forma de paquetes de solicitud de E / S (IRP), que consta de los requisitos para transmitir datos a través de tuberías específicas. Además, usbd hace que el cliente aparezca como una abstracción del dispositivo para facilitar la abstracción y la gestión. Como parte de la abstracción, usbd tiene una canalización predeterminada. A través del cual se puede acceder a todos los dispositivos USB para el control USB estándar. Esta canalización predeterminada describe un canal lógico para la comunicación entre el usbd y el dispositivo USB.

software anfitrión

En algunos sistemas operativos, no se proporciona el software del sistema USB. Este software se usa originalmente para proporcionar información de configuración y estructura de carga a los controladores de dispositivos. En estos sistemas operativos, el controlador del dispositivo utiliza la interfaz proporcionada por la aplicación en lugar de acceder directamente a la estructura USBDI (USB Driver Interface).

Software de cliente USB

Está ubicado en el nivel más alto de la estructura del software y es responsable de manejar controladores de dispositivos USB específicos. La capa de cliente describe todos los portales de software que actúan directamente en el dispositivo. Cuando el dispositivo es detectado por el sistema, estos programas cliente actuarán directamente sobre el hardware periférico. Esta función compartida coloca el software del sistema USB entre el cliente y su dispositivo, que debe ser procesado por el programa del cliente de acuerdo con la imagen del dispositivo formada por usbd en el cliente.

Cada capa del host tiene las siguientes funciones:

Detecta dispositivos USB conectados y extraídos.

Administre el flujo de datos entre el host y el dispositivo USB.

Estado de la conexión USB y estadísticas de actividad.

Controle la interfaz eléctrica entre el controlador principal y el dispositivo USB, incluido el suministro de energía limitado.

HCD proporciona una abstracción del controlador principal y una abstracción de la perspectiva del controlador principal de los datos transmitidos a través de USB. Usbd proporciona una abstracción de dispositivos USB y transmisión de datos entre usuarios de usbd y funciones USB. El sistema USB promueve la transmisión de datos entre clientes y funciones, y sirve como punto de control para la interfaz estandarizada de los dispositivos USB. El sistema USB proporciona capacidad de gestión de búfer y permite sincronizar la transmisión de datos con las necesidades de los clientes y las funciones.