¿Qué tipo de protocolo USB para Datalogger

1

Estoy intentando crear un registrador de datos USB y me gustaría comenzar por crear un programa que transmita Hello World a través de USB sin usar algún tipo de comunicación CDC. Estoy tratando de averiguar qué clase de dispositivo debo usar. ¿Tengo razón para intentar configurarlo como un dispositivo HID? Para su información, planeo usar el kit de inicio USB PIC32 para esto.

    
pregunta Talguy

2 respuestas

2

Como ya se mencionó, la Clase de Dispositivo de Comunicaciones (CDC) probablemente se adapte mejor a la clase de Dispositivo de Interfaz Humana (HID) para una aplicación de registro de datos. Dicho esto, puede haber algunas razones para usar un protocolo basado en HID en lugar de CDC, como la disponibilidad de los controladores del sistema operativo del host.

Windows proporciona una interfaz de programación genérica para dispositivos HID que le permite acceder a cualquier dispositivo utilizando la clase HID sin ningún controlador especial. Si este es un producto comercial, el uso de un HID evita la necesidad de tener un controlador firmado como el que se requeriría si se usaran los CDC. Dado que un dispositivo HID no requiere que se distribuya un controlador con su producto, la experiencia del usuario final también puede ser más sencilla.

Sin embargo, hay algunos inconvenientes con el uso de un controlador basado en HID. HID no se basa en la transmisión, lo que significa que el sistema operativo del host sondeará los datos (informes) y descartará los paquetes de informes entrantes si la aplicación no lee los datos entrantes lo suficientemente rápido. Esto requiere que implemente su propio protocolo sobre los informes HID proporcionados en la capa de aplicación para proporcionar un transporte confiable utilizando los paquetes de longitud fija de salida y reporte de entrada para la transferencia de datos. El rendimiento de datos que utiliza este método será significativamente más lento que un protocolo basado en flujo como el CDC.

Puede encontrar algunos datos útiles sobre USB HID en enlace

    
respondido por el Austin Phillips
1

Recomiendo usar CDC como se indica arriba. Si eso no funciona para ti, la clase MSD podría. El último recurso sería codificar el suyo, pero eso requerirá escribir un controlador de dispositivo para el sistema operativo host con el que planea usar su dispositivo.

    
respondido por el mjh2007

Lea otras preguntas en las etiquetas