Red de conocimiento informático - Problemas con los teléfonos móviles - Programación del firmware USB cómo utilizar dos terminales al mismo tiempo

Programación del firmware USB cómo utilizar dos terminales al mismo tiempo

Generalmente, el chip de interfaz del dispositivo USB generará algunas interrupciones para notificar al programador de la ocurrencia de eventos específicos. Por ejemplo, la llegada del paquete de CONFIGURACIÓN EP0 (punto final de control predeterminado), la aparición de transacciones EP0 IN o OUT, etc. La transmisión de control se divide en tres fases: fase de establecimiento, fase de datos y fase de estado. Por lo tanto, para una transmisión de control, el firmware del dispositivo debe controlar correctamente su proceso de ejecución y no puede revertirse. Después de recibir la información de llegada del paquete EP0 SETUP, el firmware debe analizar el contenido específico de la solicitud, que se supone que está leyendo el descriptor, y luego ingresa a la fase de datos para enviar el contenido específico del descriptor correspondiente al host. Una vez completada la transmisión, entra en la fase de estado. Una vez finalizada la fase de estado, se completa una transferencia de control.

Cabe señalar que incluso si ingresa a cada etapa, debe esperar a que el host envíe una solicitud de transacción antes de responder a operaciones específicas. Es decir, suponiendo que el firmware analiza el paquete EP0 SETUP y obtiene que la solicitud del host es leer un determinado descriptor, el firmware debería entonces entrar en la fase de datos, pero es sólo una entrada lógica en el proceso, y la operación específica debe Espere a que llegue el token IN de control del host. Solo entonces puede comenzar la transmisión de datos real en la fase de datos y luego ingresar a la fase de estado. Generalmente, la fase de estado sólo necesita configurar un registro para notificar al chip que inicie la fase de estado, sin intervenir en sus detalles. La identificación del dispositivo por parte del host se lleva a cabo inicialmente a través de la tubería de control. Después de que se completen una serie de transmisiones de control (solicitudes del host para identificar el dispositivo), el host podrá identificar el dispositivo USB y se mostrará en. el administrador de dispositivos (pero puede que no sea posible usar el dispositivo con total normalidad, porque puede haber algunos protocolos que no estén completos. Por ejemplo, el dispositivo de almacenamiento masivo aún necesita responder correctamente a los comandos SCSI, lo cual se discutirá en detalle en Parte 3 del documento). El siguiente es un ejemplo para ilustrar la idea de transmisión de control de procesamiento de firmware. Por supuesto, las aplicaciones prácticas no se limitan a esta idea.