Tabla de contenido:

Introducción a VMUSIC2: 5 pasos
Introducción a VMUSIC2: 5 pasos

Video: Introducción a VMUSIC2: 5 pasos

Video: Introducción a VMUSIC2: 5 pasos
Video: V MUSIC #2 | Delicate Snippet 2024, Mes de julio
Anonim
Introducción a VMUSIC2
Introducción a VMUSIC2

VMUSIC2 es un módulo reproductor MP3 completo de FTDI, Inc. que facilita la integración de la funcionalidad MP3 en su próximo proyecto de microcontrolador. Tiene dos interfaces: SPI o UART (serial)

Algunas aplicaciones de ejemplo: 1. Haga que su robot hable y reproduzca efectos de sonido basados en alguna condición o disparador. 2. Agregue sonido a sus modelos y dioramas; Proporcione algo de interactividad o historia a su pieza 3. Instalaciones de arte interactivas 4. Dale sabor a su Pinball u otra máquina recreativa 5. Utilice el módulo para cargar un guión desde una unidad flash que defina una animación, como reproducir un archivo de sonido mientras realiza algunas rutina mecánica como se usa en animatronics. El tiempo de reproducción se emite en segundos que se pueden usar para la sincronización (cruda) (SUGERENCIA: Este último es lo que he planeado para un instructable posterior) La documentación de FTDI que describe cómo usar este módulo no está muy bien presentada y yo Tuve algunos problemas para comenzar con el mío. Mientras buscaba información, he visto muchas publicaciones en varios foros de personas que también tienen problemas para comenzar, así que después de que finalmente el mío funcione, decidí crear este instructivo para ayudar a otros. Este instructivo cubrirá cómo conectarse y controlar su módulo VMUSIC2 desde el hiperterminal. Recomiendo comenzar de esta manera porque le permitirá familiarizarse con los comandos y tener una idea de cómo funciona antes de conectarlo a su microcontrolador. Seguiré con otro instructivo sobre cómo controlarlo desde un microcontrolador.

Paso 1: Introducción al módulo VMUSIC2

Introducción al módulo VMUSIC2
Introducción al módulo VMUSIC2
Introducción al módulo VMUSIC2
Introducción al módulo VMUSIC2

El módulo VMUSIC2 se basa en el controlador de host USB Vinculum VNC1L de FTDI y el codificador / decodificador de MP3 VS1003 de VLSI. El VMUSIC2 le permite conectar una unidad flash USB llena de MP3 y reproducirlos desde su microcontrolador. Este módulo es económico y viene en una caja que se puede montar fácilmente en un panel recortado para darle un aspecto profesional a su proyecto. La ventaja de usar este módulo es que solo requiere unos pocos pines para controlarlo, y la sobrecarga del software es muy pequeña. Esto permite que su microcontrolador se concentre en el resto de su proyecto (interruptores de monitoreo, etc.) mientras se reproduce el MP3. También significa que puede salirse con la suya utilizando microcontroladores con menos memoria de programa y menos E / S. Otra ventaja es que no necesita saber nada sobre programación para FAT32, host USB o MP3. Si bien el módulo VMUSIC2 está diseñado para reproducir MP3, la interfaz host USB también se puede utilizar para acceder (tanto de lectura como de escritura) cualquier archivo en la unidad flash. Cuando llegue al instructable donde conecto esto a un microcontrolador, será evidente lo útil que es. Vas a necesitar los siguientes elementos para completar este instructable: * Módulo VMUSIC2 de FTDI. * RS232 a RS232-TTL-3.3 v convertidor (si conecta este módulo directamente al puerto serie de su PC, corre el riesgo de dañarlo. Consulte el paso 3 para obtener una sugerencia) * Fuente de alimentación de 5 V * Una computadora con hiperterminal (incluida con Windows) o algún otro programa de terminal ¿Tiene todo? Bien, echemos un vistazo al módulo:

Paso 2: programación del firmware

Programación del firmware
Programación del firmware
Programación del firmware
Programación del firmware
Programación del firmware
Programación del firmware

Pedí mi módulo VMUSIC2 directamente de FTDI. La mayor fuente de mi frustración fue que descubrí que mi módulo no tenía firmware instalado. Por supuesto, pensé que era un problema con mis conexiones, ¡así que me lancé a una búsqueda inútil para tratar de averiguar qué estaba haciendo mal! Y no me di cuenta de que podía actualizar el firmware desde la unidad USB, así que terminé haciéndolo de la manera difícil. Este instructivo debería ahorrarle eso. Además, el firmware predeterminado no está configurado para ser compatible con hyperterminal. Entonces, modificaremos y actualizaremos el firmware. Primero, vaya al sitio web de Vinculum y descargue el último archivo Reflash (FTD) allí. También obtenga la utilidad VPROG Re-flash (no se usa en este instructivo, pero será útil si tiene problemas) y el Personalizador de firmware de la sección Aplicaciones y utilidades más abajo en la página. Inicie el personalizador de firmware y cargue el Reflash (FTD)) archivo que descargó. Verá un resumen de las opciones programadas en el firmware. Haga clic en siguiente para comenzar a editar el firmware. (He incluido capturas de pantalla de las secciones que he cambiado) Este es un resumen de las opciones que elegí: UART: 9600 baudios, 8 bits, Sin paridad, 1 bit de parada y Sin flujo control (este es importante) Modo IPA y Conjunto de comandos extendidos Ahora, simplemente haga clic en Siguiente para pasar por el resto de las opciones. Se le pedirá un identificador único de 3 caracteres para su firmware personalizado. Creé dos firmwares diferentes y usé estas identificaciones; COM para hiperterminal friendly (este) y MCU para la versión compatible con microcontroladores. Solo nos preocupa la versión compatible con hiperterminal de este instructable. Ahora, guarde su nueva imagen en algún lugar y asígnele el nombre FTRFB. FTD. Es posible que deba cambiar el tipo de archivo en el menú desplegable para guardar un archivo FTD. Un archivo ROM no funcionará para este instructable, ya que no se puede flashear desde la unidad USB. Ahora, copie el archivo FTRFB. FTD que acaba de crear en la carpeta raíz de la unidad flash que planea usar. asigne un nombre al archivo original que le ayude a identificarlo más tarde, y luego cámbiele el nombre a FTRFB. FTD después de copiarlo en la unidad flash. DEBE tener este nombre de archivo o el gestor de arranque no lo reconocerá y se reprogramará.

Paso 3: Conectarse

Conectarse
Conectarse

El primer paso es conectar el módulo VMUSIC a 5V y tierra. Consulte la siguiente imagen para ver el pinout. Después de encender el VMUSIC2, inserte su unidad USB con el archivo FTRB. FTD en él. Debería ver las luces parpadeando. Tardará entre 20 y 30 segundos en programar el nuevo firmware. No desconecte la energía mientras está parpadeando o tendrá que tomar la ruta más costosa y complicada por la que pasé (o peor, perderá el cargador de arranque por completo). La luz debe brillar en ROJO durante uno o dos segundos y luego permanecer fija verde una vez que se completa el parpadeo. No seas impaciente. Será bastante obvio mientras está programando. Normalmente, no hay luz de actividad en la unidad flash USB al iniciarse. Las luces se volverán locas mientras se está programando y verificando. Desconecte los 5V del módulo VMUSIC. Ahora está listo para conectar el resto de las señales y comenzar a hablar con él con el hiperterminal. Aquí es donde un montón de información no está clara. en la documentación. En primer lugar, la interfaz VMUSIC2 UART es lógica de 3.3V. Necesitará algún tipo de convertidor para su conexión. No voy a entrar en demasiados detalles sobre cómo hacer esto, porque hay muchas opciones. Una de las más fáciles es comprar un cable de datos de teléfono celular Nokia DKU-5 y modificarlo cortando el conector Nokia. Este cable es un cable USB a RS232-TTL3.3v basado en el FT232R. No hay señales de protocolo de enlace CTS o RTS en este cable, que es una de las razones por las que modificamos el firmware para que no haya control de flujo. Hay varios artículos en Internet que le dicen cómo modificar este cable y es útil para muchos propósitos.. No importa qué convertidor use siempre que esté diseñado para 3.3V TTL, no para 5V. Prepárese para el siguiente paso asegurándose de haber instalado los controladores para su convertidor (si es USB). Debería aparecer en el administrador de dispositivos. Tome nota del puerto COM asignado. Si suficientes personas tienen un problema con este paso, crearé un instructable separado basado en el cable nokia. Pero este cable es extremadamente popular en muchas comunidades de modding y el mod está bastante bien documentado. Estoy usando un convertidor diferente (más caro) en este momento y no tengo acceso a mi cajero automático de cable nokia, de lo contrario lo agregaría aquí. ACTUALIZACIÓN: Encontré un buen artículo que explica las diferentes opciones y fuentes de cables baratos. No sé cómo me lo perdí, pero el TTL-232R-3V3 de FTDI está prácticamente hecho para este propósito. Consulte este enlace para ver otras opciones (es posible que incluso tenga algo por ahí) Antes de conectar cualquier otra cosa al VMUSIC2, nuevamente, asegúrese de que la energía no esté conectada. convertidor al RXD en el VMUSIC2Conecte la TIERRA en su convertidor a la TIERRA en el VMUSIC2Conecte CTS en el VMUSIC2 a TIERRA (Esto no es opcional. Podrá enviar comandos, pero no recibirá respuestas si no conecta este señal a tierra.) RTS se puede dejar desconectadoRI se deja desconectado Ahora sería un buen momento para cargar la unidad flash con algunos MP3 (renombré el mío 1.mp3, 2.mp3, etc … para hacerlo más fácil) y también eliminar el Archivo FTRFB. FTD de la unidad flash. El firmware solo puede leer nombres de archivo DOS. Esto significa 8 caracteres para el nombre de archivo y 3 para la extensión. Creo que puede dejar la extensión y usar los once caracteres para un nombre de archivo, pero eso podría fallar en el firmware futuro, así que no lo recomiendo. Deje la línea de 5V desconectada. Lo volveremos a conectar en el siguiente paso Quiero hacer algunas notas finales sobre esta sección solo para completarlo, ya que no será relevante en los pasos futuros: Si tiene un convertidor capaz de flujo RTS / CTS control, esto es lo que se prefiere. Si alguna vez necesita volver a cargar el firmware de la manera difícil, esto es absolutamente necesario. El cargador de arranque solo admite este modo. Sin embargo, hay dos razones por las que desactivamos esto. La primera es que la mayoría de la gente va a encontrar cables baratos que no admiten esto, y programar un microcontrolador para manejar el control de flujo RTS / CTS es un poco más complejo y requiere más IO y gastos generales de software. La mayoría de las bibliotecas no lo admiten, así que apáguelo. Sin embargo, si tiene problemas para actualizar su firmware, necesitará un convertidor en serie con capacidad RTS / CTS para recuperarlo. Para usar el control de flujo RTS / CTS, intercambie las dos señales entre dispositivos. Esto significa que RTS en el convertidor debe estar conectado a CTS en el módulo VMUSIC2 y viceversa. Finalmente, RI es el indicador de timbre, al que se puede hacer ping para activar el módulo VMUSIC2 fuera del modo de espera. No lo usaremos aquí y no se usa en la recuperación de firmware. Simplemente déjelo desconectado.

Paso 4: Empiece a hablar

Inicie el hyperterminal o cualquier programa de comunicación en serie que desee y cree una conexión en el puerto com de su convertidor con estas configuraciones: 9600 Baud Rate 8 Data Bits 1 Stop Bit Sin paridad Sin Handshake o Flow Control También puede activar el eco local para ver qué estás escribiendo. El módulo VMUSIC no proporciona eco remoto. Una vez que haya establecido una conexión, conecte los 5V en el VMUSIC. Debería ver un mensaje similar a esto: Ver 03.64-COMVMSC1F En línea: Sin disco Sin actualización Ahora inserte su flash unidad, y debe informar que se detecta un dispositivo en el puerto 2 (P2) y darle un mensaje D: \> que indica que ahora está listo para aceptar comandos.

Paso 5: TODO: comandos de firmware

Esto va a ser bastante largo, por lo que se actualizará a medida que tenga tiempo. Aquí hay algunos comandos rápidos para probar: DIR (enumera los archivos en la carpeta actual) CD (cambia el directorio actual) VPF p (coloca el archivo MP3) VP (pausar y reanudar) VST (detiene la reproducción) V3A (Reproduce todos los archivos en el directorio actual) VF (Salta a la pista siguiente) VB (Salta a la pista anterior) VSV (establece el volumen. Los valores válidos están entre $ 00 volumen máximo y el volumen mínimo de $ FE - eso es hexadecimal. Eso es 0 a 254 decimal. No lo dice, pero apuesto a que $ FF es simplemente MUTE.) Ahora, visite el sitio web de Vinculum y descargue el Manual de usuario del firmware de Vinculum. Este manual cubre varios firmwares diferentes. Se presenta bien como referencia si ya conoce algunas cosas. En primer lugar, la mayoría de las variedades de firmware se basan en el firmware VDAP genérico, y los firmwares especiales simplemente se extienden sobre eso. El VMUSIC2 utiliza el firmware VMSC, que proporciona comandos específicos para la reproducción de MP3 y la comunicación con el VS1003. La sección 6.8 del manual del usuario del firmware es específica del firmware VMSC. Esta es la sección que más le interesará. Las secciones 6.0 a 6.8 son comandos universales, principalmente para acceso al disco, acceso a archivos y mantenimiento. También hay algunos bits de información sobre el uso de otros periféricos en el puerto USB, como impresoras, dispositivos HID, etc. La Tabla 3.1 enumera las diversas clases de dispositivos compatibles con cada firmware. Solo el puerto 2 está conectado en el vinculum, así que limite su exploración a ese puerto. Cabe señalar aquí que conectar su computadora al puerto USB de VMUSIC puede dañar el VMUSIC2, su PC o ambos. El hardware de VMUSIC no es compatible con esto, aunque el chip VNC1L sí. Además, el módulo VMUSIC debería ser compatible con casi cualquier dispositivo de almacenamiento masivo USB. Hasta ahora solo lo he probado con una unidad flash USB, pero según el manual, debería funcionar con discos duros USB, cámaras (en modo de almacenamiento masivo), lectores de tarjetas, etc. Sin embargo, existen algunas restricciones. Estos se explican en el manual del usuario del firmware. Es compatible con FAT12, FAT16 y FAT32, pero los nombres de archivo largos FAT32 no son compatibles. El tamaño del sector debe ser 512; varios tamaños de clúster parecen funcionar bien. Probé esto con un disco USB de 8GB sin problemas, pero algunos de los comandos no generarán valores correctos cuando la unidad es más grande que 4GB. En este momento, estamos principalmente preocupados por los comandos específicos de VMSC, así como algunos de los VDAP. comandos (para navegar por el sistema de archivos). Nuevamente, volveré a visitar esta sección para ayudar a entender todo esto. Pero ahora tienes suficiente información para empezar a jugar con tu módulo. Básicamente, volvería a escribir el manual del usuario, de todos modos, ya que está bastante claro una vez que sepa dónde buscar. He creado con éxito un archivo de texto en el formato de un archivo INI, inserté datos en las secciones separadas y luego los volví a leer una sección a la vez, todo usando solo hiperterminal. ¡Es muy fácil y apuesto a que lo tendrás todo resuelto incluso antes de que actualice esto!

Recomendado: