Índice:

Primeiros passos com VMUSIC2: 5 etapas
Primeiros passos com VMUSIC2: 5 etapas

Vídeo: Primeiros passos com VMUSIC2: 5 etapas

Vídeo: Primeiros passos com VMUSIC2: 5 etapas
Vídeo: Vida Reluz - Primeiros passos 2024, Novembro
Anonim
Primeiros passos com VMUSIC2
Primeiros passos com VMUSIC2

O VMUSIC2 é um módulo reprodutor de MP3 completo da FTDI, Inc. que facilita a integração da funcionalidade de MP3 em seu próximo projeto de microcontrolador. Possui duas interfaces: SPI ou UART (serial)

Alguns exemplos de aplicativos: 1. Faça seu robô falar e tocar efeitos sonoros com base em alguma condição ou gatilho 2. Adicione som aos seus modelos e dioramas; Forneça alguma interatividade ou história à sua peça 3. Instalações de arte interativas 4. Incremente seu Pinball ou outra máquina de fliperama 5. Use o módulo para carregar um script de uma unidade flash definindo uma animação, como reproduzir um arquivo de som enquanto executa alguma rotina mecânica usada em animatrônica. O tempo de jogo é emitido em segundos que pode ser usado para sincronização (crua) (SUGESTÃO: Este último é o que eu planejei para um instrutível posterior) A documentação da FTDI que descreve como usar este módulo não está muito bem definida e eu teve alguns problemas para começar com o meu. Enquanto procurava por informações, vi muitas postagens em vários fóruns de pessoas que também estavam tendo problemas para começar, então, depois de finalmente colocar o meu em funcionamento, decidi criar este instrutível para ajudar outras pessoas. Este instrutível cobrirá a conexão e o controle do módulo VMUSIC2 a partir do hiperterminal. Recomendo começar desta forma porque permitirá que você se familiarize com os comandos e tenha uma ideia de como eles funcionam antes de conectá-lo ao seu microcontrolador. Seguirei com outro instrutível sobre como controlá-lo a partir de um microcontrolador.

Etapa 1: Introdução ao Módulo VMUSIC2

Introdução ao Módulo VMUSIC2
Introdução ao Módulo VMUSIC2
Introdução ao Módulo VMUSIC2
Introdução ao Módulo VMUSIC2

O módulo VMUSIC2 é baseado no controlador Vinculum VNC1L USB Host da FTDI e no codificador / decodificador VS1003 MP3 da VLSI. O VMUSIC2 permite que você conecte uma unidade flash USB cheia de MP3s e reproduza-os de seu microcontrolador. Este módulo é barato e vem em um gabinete que pode ser facilmente montado em um recorte de painel para dar uma aparência profissional ao seu projeto. A vantagem de usar este módulo é que ele requer apenas alguns pinos para controlá-lo e a sobrecarga do software é muito pequena. Isso permite que seu microcontrolador se concentre no resto do projeto (interruptores de monitoramento, etc …) enquanto o MP3 está tocando. Isso também significa que você pode usar microcontroladores com menos memória de programa e menos E / S. Outra vantagem é que você não precisa saber nada sobre programação para FAT32, host USB ou MP3. Enquanto o módulo VMUSIC2 é projetado para reproduzir MP3s, a interface host USB também pode ser usada para acessar (leitura e gravação) quaisquer arquivos na unidade flash. Quando eu chegar ao instrutível onde conecto isso a um microcontrolador, ficará claro como isso é útil. Você precisará dos seguintes itens para concluir este instrutível: * Módulo VMUSIC2 de FTDI. * RS232 a RS232-TTL-3.3 conversor v (se você conectar este módulo diretamente à porta serial do seu PC, você corre o risco de danificá-lo. Veja o passo 3 para uma sugestão) * Fonte de alimentação de 5V * Um computador com hiperterminal (incluído no Windows) ou algum outro programa de terminal Tem tudo? Bom, vamos dar uma olhada no módulo:

Etapa 2: Programação do firmware

Programando o Firmware
Programando o Firmware
Programando o Firmware
Programando o Firmware
Programando o Firmware
Programando o Firmware

Encomendei meu módulo VMUSIC2 diretamente da FTDI. A maior fonte de minha frustração foi descobrir que meu módulo não tinha firmware instalado. Claro, eu pensei que era um problema com minhas conexões, então entrei em uma perseguição de ganso selvagem tentando descobrir o que eu estava fazendo de errado! E eu não sabia que poderia atualizar o firmware do drive USB, então acabei fazendo da maneira mais difícil. Isso deve poupar você disso. Além disso, o firmware padrão não está configurado para ser compatível com o hiperterminal. Portanto, estaremos modificando e atualizando o firmware. Primeiro, acesse o site do Vinculum e baixe o arquivo Reflash (FTD) mais recente lá. Obtenha também o VPROG Re-flash Utility (não usado neste instrutível, mas será útil se você tiver problemas) e o Firmware Customizer da seção Aplicativos e Utilitários mais abaixo na página. Inicie o Firmware personalizador e carregue o Reflash (FTD) arquivo que você baixou. Você verá um resumo das opções programadas no firmware. Clique em Avançar para começar a editar o firmware. (Incluí capturas de tela das seções que alterei) Este é um resumo das opções que escolhi: UART: 9600 baud, 8 bits, Sem paridade, 1 bit de parada e Sem fluxo controle (este é importante) Modo IPA e Comando estendido SetNow, basta clicar em Avançar através do resto das opções. Você será solicitado a fornecer um identificador exclusivo de 3 caracteres para o seu firmware personalizado. Criei dois firmwares diferentes e usei esses IDs; COM para hiperterminal amigável (este) e MCU para a versão amigável com microcontrolador. Estamos apenas preocupados com a versão amigável do hiperterminal para este instrutível. Agora, salve sua nova imagem em algum lugar e nomeie-a FTRFB. FTD. Pode ser necessário alterar o tipo de arquivo no menu suspenso para salvar um arquivo FTD. Um arquivo ROM não funcionará para este instrutível, pois não pode ser flasheado da unidade USB. Agora, copie o arquivo FTRFB. FTD que você acabou de criar para a pasta raiz da unidade flash que você está planejando usar. nomeie o arquivo original com algo que o ajudará a identificá-lo posteriormente e, em seguida, apenas renomeie-o para FTRFB. FTD após copiá-lo para a unidade flash. Ele DEVE ter este nome de arquivo ou o bootloader não o reconhecerá e se reprogramará.

Etapa 3: Conectando-se

Conectando-se
Conectando-se

O primeiro passo é conectar o módulo VMUSIC a 5V e aterramento. Consulte a imagem abaixo para ver a pinagem. Depois de ligar o VMUSIC2, insira sua unidade USB com o arquivo FTRB. FTD. Você deve ver as luzes piscando. A programação do novo firmware levará cerca de 20-30 segundos. Não desligue a energia enquanto ele estiver piscando ou você terá que seguir o caminho mais caro e complicado que eu percorri (ou pior - você perde o bootloader completamente.) A luz deve acender em VERMELHO por um ou dois segundos e então permanecer estável verde quando o piscar é concluído. Não seja impaciente. Será bastante óbvio enquanto estiver programando. Normalmente, não há luz de atividade na unidade flash USB na inicialização. As luzes ficarão loucas enquanto ele está programando e verificando. Desconecte o 5V do módulo VMUSIC. Agora você está pronto para conectar o resto dos sinais e começar a falar com eles com hiperterminal. É aqui que um monte de informações não está claro na documentação. Em primeiro lugar, a interface UART VMUSIC2 é lógica de 3,3V. Você precisará de algum tipo de conversor para sua conexão. Não vou entrar em muitos detalhes sobre como fazer isso, porque existem muitas opções. Um dos mais fáceis é comprar um cabo de dados de telefone celular Nokia DKU-5 e modificá-lo cortando o conector Nokia. Este cabo é um cabo USB para RS232-TTL3.3v baseado no FT232R. Não há sinais de handshaking CTS ou RTS neste cabo, que é uma das razões pelas quais modificamos o firmware para nenhum controle de fluxo. Existem vários artigos na internet que explicam como modificar este cabo e é útil para muitos propósitos. Não importa qual conversor você usa, desde que seja projetado para 3.3V TTL, não 5V. Prepare-se para a próxima etapa, certificando-se de que instalou os drivers do conversor (se for USB). Ele deve aparecer no gerenciador de dispositivos. Anote a porta COM atribuída a ela. Se um número suficiente de pessoas tiver problemas com esta etapa, criarei um instrutível separado com base no cabo nokia. Mas este cabo é extremamente popular em muitas comunidades de modding e o mod é muito bem documentado. Estou usando um conversor diferente (mais caro) agora e não tenho acesso ao meu ATM a cabo nokia, caso contrário, eu o adicionaria aqui. ATUALIZAÇÃO: Encontrei um bom artigo explicando diferentes opções e fontes para cabos baratos. Não sei como perdi, mas o TTL-232R-3V3 da FTDI é feito praticamente para isso. Verifique este link para outras opções (você pode até ter algo por aí) Antes de conectar qualquer outra coisa ao VMUSIC2, novamente, certifique-se de que a energia não esteja conectada. Conecte o RXD em seu conversor ao TXD no VMUSIC2Conecte o TXD em seu conversor para o RXD no VMUSIC2Conecte o GROUND no seu conversor para o GROUND no VMUSIC2Connect CTS no VMUSIC2 para GROUND (Isso não é opcional. Você poderá enviar comandos, mas não receberá nenhuma resposta se não conectá-lo sinal para aterrar.) RTS pode ser deixado desconectado O RTS pode ser deixado desconectadoAgora seria um bom momento para carregar o pen drive com alguns MP3s (renomeei o meu 1.mp3, 2.mp3, etc … para facilitar) e também excluir o Arquivo FTRFB. FTD da unidade flash. O firmware só pode ler nomes de arquivos DOS. Isso significa 8 caracteres para o nome do arquivo e 3 para a extensão. Eu acredito que você pode deixar de fora a extensão e apenas usar todos os onze caracteres para um nome de arquivo, mas isso pode quebrar no firmware futuro, então eu não recomendo. Deixe a linha 5V desconectada. Estaremos conectando-o novamente na próxima etapa. Quero fazer algumas notas finais sobre esta seção apenas para completá-la, pois não será relevante em etapas futuras: Se você tiver um conversor capaz de fluxo RTS / CTS controle, isso é realmente preferido. Se você precisar recarregar o firmware da maneira mais difícil, isso é absolutamente necessário. O bootloader suporta apenas este modo. No entanto, existem dois motivos pelos quais desativamos isso. A primeira é que a maioria das pessoas vai encontrar cabos baratos que não suportam isso, e programar um microcontrolador para lidar com o controle de fluxo RTS / CTS é um pouco mais complexo e requer mais IO e sobrecarga de software. A maioria das bibliotecas não oferece suporte para isso, então apenas desligue-o. Se tiver problemas para atualizar seu firmware, você precisará de um conversor serial compatível com RTS / CTS para recuperá-lo. Para usar o controle de fluxo RTS / CTS, troque os dois sinais entre os dispositivos. Isso significa que o RTS no conversor deve ser conectado ao CTS no módulo VMUSIC2 e vice-versa. Finalmente, RI é o indicador de toque, que pode ser executado por ping para tirar o módulo VMUSIC2 do modo de espera. Não o usaremos aqui e não é usado na recuperação de firmware. Basta deixá-lo desconectado. A pinagem do VMUSIC2:

Etapa 4: comece a falar

Inicie o hiperterminal ou qualquer programa de comunicação serial de sua preferência e crie uma conexão na porta de comunicação do seu conversor com estas configurações: 9600 Baud Rate8 Data Bits1 Stop BitNo parityNo handshake ou Flow ControlVocê também pode querer ligar o eco local para ver o que você está digitando. O módulo VMUSIC não fornece eco remoto. Uma vez que você tenha uma conexão estabelecida, conecte o 5V no VMUSIC. Você deve ver um prompt parecido com este: Ver 03.64-COMVMSC1F On-Line: Sem Disco Sem Atualização Agora insira seu flash unidade, e deve relatar que um dispositivo foi detectado na porta 2 (P2) e dar a você um prompt D: \> indicando que agora está pronto para aceitar comandos!

Etapa 5: TODO: Comandos de firmware

Isso vai ser bastante demorado, então vou ser atualizado conforme eu tiver tempo. Aqui estão alguns comandos rápidos para tentar: DIR (Lista os arquivos na pasta atual) CD (muda o diretório atual) VPF p (coloca o arquivo MP3) VP (pausar e retomar) VST (interromper a reprodução) V3A (reproduzir todos os arquivos no diretório atual) VF (pular para a próxima faixa) VB (pular para a faixa anterior) VSV (definir o volume. Os valores válidos estão entre $ 00 volume máximo e volume mínimo de $ FE - isso é hexadecimal. Isso é 0 a 254 decimal. Não diz isso, mas aposto que $ FF é simplesmente MUTE.) Agora, verifique o site do Vinculum e baixe o Manual do usuário do Firmware Vinculum. Este manual cobre vários firmwares diferentes. É bem apresentado como uma referência se você já estiver ciente de algumas coisas. Em primeiro lugar, a maioria das variedades de firmware é baseada no firmware VDAP genérico, e os firmwares especiais simplesmente se estendem a ele. O VMUSIC2 usa o firmware VMSC, que fornece comandos específicos para reprodução de MP3 e comunicação com o VS1003. A seção 6.8 do manual do usuário do firmware é específica para o firmware VMSC. Esta é a seção na qual você estará mais interessado. As seções 6.0 a 6.8 são comandos universais, principalmente para acesso a disco, acesso a arquivos e manutenção. Existem também algumas informações sobre o uso de outros periféricos na porta USB, como impressoras, dispositivos HID, etc. A Tabela 3.1 lista as várias classes de dispositivos suportadas por cada firmware. Apenas a porta 2 está conectada no vínculo, portanto, limite sua exploração para essa porta. Deve-se observar aqui que conectar seu computador à porta USB do VMUSIC pode resultar em danos ao VMUSIC2, ao PC ou a ambos. O hardware no VMUSIC não oferece suporte para isso, embora o chip VNC1L suporte. Além disso, o módulo VMUSIC deve ser capaz de oferecer suporte a praticamente qualquer dispositivo de armazenamento em massa USB. Só tentei até agora com uma unidade flash USB, mas de acordo com o manual, deve funcionar com discos rígidos USB, câmeras (no modo de armazenamento em massa), leitores de cartão, etc … Existem algumas restrições, no entanto. Eles são explicados no manual do usuário do firmware. Ele suporta FAT12, FAT16 e FAT32, mas nomes de arquivo longos FAT32 não são suportados. O tamanho do setor deve ser 512; vários tamanhos de cluster parecem funcionar bem. Eu testei isso com um disco USB de 8 GB sem problemas, mas alguns dos comandos não produzirão valores corretos quando a unidade for maior que 4 GB. No momento, estamos principalmente preocupados com os comandos específicos do VMSC, bem como alguns dos VDAP comandos (para navegar no sistema de arquivos.) Novamente, revisitarei esta seção para ajudar a entender tudo isso. Mas agora você tem informações suficientes para começar a brincar com seu módulo. Basicamente, eu estaria redigitando o manual do usuário, pois fica bem claro quando você sabe onde procurar. Eu criei com sucesso um arquivo de texto no formato de um arquivo INI, inseri dados em seções separadas e, em seguida, li de volta uma seção por vez, tudo usando apenas o hiperterminal. É muito fácil e aposto que você terá tudo planejado antes mesmo de eu atualizar isso! Divirta-se!

Recomendado: