Implementando un dispositivo USB MIDI compatible con clase

4

Estoy creando un dispositivo que deseo comunicarme con una computadora usando MIDI a través de una conexión USB. Hay muchos dispositivos USB MIDI que cumplen con las normas de clase y por lo tanto no requieren controladores especiales, que es exactamente lo que quiero.

Esperaba poder usar un microcontrolador con hardware USB (por ejemplo, MSP430) o un chip de serie a USB de estilo FTDI para hacer esto, pero parece que ninguno de ellos admite configurar los descriptores del dispositivo para que se identifiquen como un dispositivo MIDI. Entonces, ¿cómo puedo lograr esto? ¿Necesito un controlador USB dedicado MCU?

Solo tengo una comprensión fracturada de USB, pero he intentado leer la especificación MIDI USB.

Soy consciente del software de conversión de serie a MIDI, pero no es lo que estoy buscando aquí.

    
pregunta shannon

2 respuestas

2

No hay ningún chip que admita USB MIDI en hardware (excepto el QinHeng CH345, que tiene errores , y el MFM0860, que también tiene bugs).

Puede usar cualquier microcontrolador USB de propósito general para USB MIDI. Sin embargo, debe escribir todo el firmware usted mismo o modificar el software para algún protocolo existente (como CDC).

En el caso del MSP430, no podría utilizar la herramienta Descriptor, pero tuvo que construir los descriptores a mano.

También hay varias implementaciones MIDI USB de código abierto para microcontroladores basados en 8051; y la biblioteca LUFA para chips AVR y NXP. Cypress tiene una biblioteca MIDI USB para sus chips PSoC.

Si su dispositivo está generando los comandos MIDI (en lugar de recibir datos MIDI de otro lugar), no necesita analizar la secuencia MIDI para convertirla en paquetes de eventos MIDI USB, y su implementación se vuelve más fácil.

    
respondido por el CL.
2

Luego, Teensy USB Development Board es una placa de microcontroladores de prototipos que se vende en un estante y que utiliza un chip ARM. Puede admitir muchos tipos de entrada / salida USB, incluyendo MIDI:
Biblioteca MIDI Teensy

Es compatible con el IDE de arduino y muchas de las bibliotecas de arduino. La biblioteca MIDI es una interfaz fácil de usar.

    
respondido por el HighInBC

Lea otras preguntas en las etiquetas