Inhoudsopgave:

Aan de slag met VMUSIC2: 5 stappen
Aan de slag met VMUSIC2: 5 stappen

Video: Aan de slag met VMUSIC2: 5 stappen

Video: Aan de slag met VMUSIC2: 5 stappen
Video: Aan de slag met Larvanem van Koppert 2024, November
Anonim
Aan de slag met VMUSIC2
Aan de slag met VMUSIC2

De VMUSIC2 is een complete MP3-spelermodule van FTDI, Inc. die het gemakkelijk maakt om MP3-functionaliteit te integreren in uw volgende microcontrollerproject. Het heeft twee interfaces: SPI of UART (serieel)

Enkele voorbeeldtoepassingen: 1. Laat uw robot praten en geluidseffecten afspelen op basis van een bepaalde voorwaarde of trigger 2. Voeg geluid toe aan uw modellen en diorama's; Zorg voor wat interactiviteit of geschiedenis aan je stuk 3. Interactieve kunstinstallaties 4. Geef je flipperkast of andere arcade-machine wat pit 5. Gebruik de module om een script van een flashstation te laden dat een animatie definieert, zoals het afspelen van een geluidsbestand tijdens het uitvoeren van enkele mechanische routine zoals gebruikt in animatronics. De afspeeltijd wordt weergegeven in seconden die kan worden gebruikt voor (ruwe) synchronisatie (HINT: deze laatste is wat ik heb gepland voor een latere instructable) De documentatie van FTDI die beschrijft hoe deze module moet worden gebruikt, is niet erg goed ingedeeld en ik had wat moeite om met de mijne te beginnen. Terwijl ik op zoek was naar informatie, heb ik veel berichten op verschillende forums gezien van mensen die ook moeite hebben om aan de slag te gaan, dus nadat ik de mijne eindelijk aan de gang had gekregen, besloot ik dit instructable te maken om anderen te helpen. Deze instructable behandelt het aansluiten en besturen van uw VMUSIC2-module vanaf hyperterminal. Ik raad aan om op deze manier te beginnen, omdat je zo vertrouwd raakt met de commando's en een idee krijgt van hoe het werkt voordat je het op je microcontroller aansluit. Ik zal opvolgen met een andere instructable over het besturen van het vanaf een microcontroller.

Stap 1: Inleiding tot de VMUSIC2-module

Inleiding tot de VMUSIC2-module
Inleiding tot de VMUSIC2-module
Inleiding tot de VMUSIC2-module
Inleiding tot de VMUSIC2-module

De VMUSIC2-module is gebaseerd op de Vinculum VNC1L USB Host-controller van FTDI en de VS1003 MP3-encoder/decoder van VLSI. Met de VMUSIC2 kunt u een USB-flashdrive vol met MP3's aansluiten en deze vanaf uw microcontroller afspelen. Deze module is goedkoop en wordt geleverd in een behuizing die eenvoudig in een paneeluitsparing kan worden gemonteerd om uw project een professionele uitstraling te geven. voordeel van het gebruik van deze module is dat er maar een paar pinnen nodig zijn om hem te bedienen, en de software-overhead is erg klein. Hierdoor kan uw microcontroller zich concentreren op de rest van uw project (bewakingsschakelaars, enz …) terwijl de MP3 wordt afgespeeld. Het betekent ook dat u wegkomt met het gebruik van microcontrollers met minder programmageheugen en minder I/O. Een ander voordeel is dat u niets hoeft te weten over programmeren voor FAT32, USB-host of MP3's. Hoewel de VMUSIC2-module is ontworpen voor het afspelen van MP3's, kan de USB-hostinterface ook worden gebruikt om toegang te krijgen (zowel lezen als schrijven) alle bestanden op de flashdrive. Wanneer ik bij de instructable kom waar ik dit op een microcontroller aansluit, zal het duidelijk zijn hoe nuttig dit is. Je hebt de volgende items nodig om deze instructable te voltooien: * VMUSIC2-module van FTDI. * RS232 naar RS232-TTL-3.3 v converter (als je deze module rechtstreeks aansluit op de seriële poort van je pc, loop je het risico deze te beschadigen. Zie stap 3 voor een suggestie)*5V voeding*Een computer met hyperterminal (meegeleverd met windows) of een ander terminalprogrammaHeb je alles? Goed, laten we de module eens bekijken:

Stap 2: De firmware programmeren

De firmware programmeren
De firmware programmeren
De firmware programmeren
De firmware programmeren
De firmware programmeren
De firmware programmeren

Ik heb mijn VMUSIC2-module rechtstreeks bij FTDI besteld. De grootste bron van mijn frustratie was dat ik ontdekte dat er geen firmware op mijn module was geïnstalleerd. Natuurlijk dacht ik dat het een probleem was met mijn connecties, dus ging ik op een wilde ganzenjacht om erachter te komen wat ik verkeerd deed! En ik realiseerde me niet dat ik de firmware van de USB-drive kon upgraden, dus ik deed het uiteindelijk op de moeilijke manier. Deze instructable zou u dat moeten besparen. Ook is de standaardfirmware niet ingesteld om vriendelijk te zijn met hyperterminal. We gaan dus de firmware aanpassen en bijwerken. Ga eerst naar de Vinculum-website en download daar het nieuwste Reflash(FTD)-bestand. Download ook het VPROG Re-flash-hulpprogramma (niet gebruikt in deze instructie, maar zal handig zijn als u problemen ondervindt) en de firmware-aanpasser uit het gedeelte Toepassingen en hulpprogramma's verderop op de pagina. Start de Firmware-aanpasser en laad de Reflash (FTD)) bestand dat u hebt gedownload. U ziet een overzicht van de geprogrammeerde opties in de firmware. Klik op Volgende om te beginnen met het bewerken van de firmware. (Ik heb screenshots toegevoegd van de secties die ik heb gewijzigd) Dit is een samenvatting van de opties die ik heb gekozen: UART: 9600 baud, 8 bits, No Parity, 1 Stop bit en No flow controle (deze is belangrijk) IPA-modus en uitgebreide opdracht SetNu, klik gewoon op volgende door de rest van de opties. U wordt gevraagd om een unieke identificatiecode van 3 tekens voor uw aangepaste firmware. Ik heb twee verschillende firmwares gemaakt en deze ID's gebruikt; COM voor hyperterminal-vriendelijk (deze) en MCU voor de microcontroller-vriendelijke versie. We houden ons alleen bezig met de hyperterminal-vriendelijke versie voor deze instructable. Sla nu uw nieuwe afbeelding ergens op en noem deze FTRFB. FTD. Mogelijk moet u het bestandstype in het vervolgkeuzemenu wijzigen om een FTD-bestand op te slaan. Een ROM-bestand werkt niet voor dit instructable omdat het niet kan worden geflitst vanaf de USB-drive. Kopieer nu het FTRFB. FTD-bestand dat u zojuist hebt gemaakt naar de hoofdmap van de flashdrive die u van plan bent te gebruiken. Als alternatief kunt u Geef het originele bestand een naam waarmee u het later kunt identificeren en hernoem het vervolgens naar FTRFB. FTD nadat u het naar de flashdrive hebt gekopieerd. Het MOET deze bestandsnaam hebben of de bootloader zal het niet herkennen en zichzelf herprogrammeren.

Stap 3: Verbinding maken

Verbinding maken
Verbinding maken

De eerste stap is om de VMUSIC-module aan te sluiten op 5V en aarde. Raadpleeg de onderstaande afbeelding voor de pinout. Nadat u de VMUSIC2 hebt opgestart, plaatst u uw USB-station met het FTRB. FTD-bestand erop. U zou de lampjes moeten zien knipperen. Het duurt ongeveer 20-30 seconden om de nieuwe firmware te programmeren. Schakel de stroom niet uit terwijl deze knippert, anders moet u de duurdere en gecompliceerde route nemen die ik heb doorlopen (of erger nog: u verliest de bootloader volledig.) Het lampje moet een seconde of twee ROOD oplichten en dan stabiel blijven groen zodra het knipperen is voltooid. Wees niet ongeduldig. Het zal vrij duidelijk zijn tijdens het programmeren. Normaal gesproken brandt er geen activiteitslampje op de USB-stick bij het opstarten. De lichten zullen gek worden tijdens het programmeren en verifiëren. Koppel de 5V los van de VMUSIC-module. U bent nu klaar om de rest van de signalen aan te sluiten en ermee te praten met hyperterminal. Dit is waar een heleboel informatie onduidelijk is in de documentatie. Allereerst is de VMUSIC2 UART-interface 3.3V-logica. Je hebt een soort converter nodig voor je verbinding. Ik ga niet te veel in detail treden over hoe dit te doen, omdat er veel opties zijn. Een van de gemakkelijkste is om een Nokia DKU-5 datakabel voor mobiele telefoons aan te schaffen en deze aan te passen door de Nokia-connector af te knippen. Deze kabel is een USB naar RS232-TTL3.3v kabel gebaseerd op de FT232R. Er zitten geen CTS- of RTS-handshake-signalen in deze kabel, wat een van de redenen is dat we de firmware hebben aangepast zonder flow control. Er zijn verschillende artikelen op internet die u vertellen hoe u deze kabel kunt aanpassen en deze is voor veel doeleinden nuttig. Het maakt niet uit welke converter je gebruikt, zolang deze maar is ontworpen voor 3.3V TTL, niet voor 5V. Bereid je voor op de volgende stap door ervoor te zorgen dat je de stuurprogramma's voor je converter hebt geïnstalleerd (indien USB). Deze zou in apparaatbeheer moeten verschijnen. Noteer de COM-poort die eraan is toegewezen. Als genoeg mensen een probleem hebben met deze stap, zal ik een aparte instructable maken op basis van de nokia-kabel. Maar deze kabel is enorm populair in veel modding-gemeenschappen en de mod is redelijk goed gedocumenteerd. Ik gebruik nu een andere (duurdere) converter en heb geen toegang tot mijn nokia-kabel-ATM, anders zou ik deze hier toevoegen. UPDATE: Ik heb een goed artikel gevonden waarin verschillende opties en bronnen voor goedkope kabels worden uitgelegd. Ik weet niet hoe ik het gemist heb, maar de TTL-232R-3V3 van FTDI is hier praktisch voor gemaakt. Bekijk deze link voor andere opties (misschien heb je zelfs iets rondslingeren) Voordat je iets anders op de VMUSIC2 aansluit, moet je ervoor zorgen dat de stroom niet is aangesloten. Sluit de RXD op je converter aan op de TXD op de VMUSIC2 Sluit de TXD op je converter naar de RXD op de VMUSIC2Sluit de GROUND op uw converter aan op de GROUND op de VMUSIC2Connect CTS op de VMUSIC2 naar GROUND (Dit is niet optioneel. U kunt wel commando's sturen, maar u krijgt geen reacties als u deze niet aansluit signaal naar aarde.) RTS kan losgekoppeld worden gelaten RI wordt losgekoppeld gelaten Het zou een goed moment zijn om de flashdrive te laden met enkele MP3's (ik heb de mijne hernoemd 1.mp3, 2.mp3, enz … om het gemakkelijker te maken) en verwijder ook de FTRFB. FTD-bestand van de flashdrive. De firmware kan alleen DOS-bestandsnamen lezen. Dit betekent 8 tekens voor de bestandsnaam en 3 voor de extensie. Ik geloof dat je de extensie kunt weglaten en gewoon alle elf tekens voor een bestandsnaam kunt gebruiken, maar dat kan in toekomstige firmware breken, dus ik raad het niet aan. Laat de 5V-lijn losgekoppeld. We zullen het in de volgende stap opnieuw aansluiten. Ik wil een paar laatste opmerkingen maken over dit gedeelte om het compleet te maken, omdat het in toekomstige stappen niet relevant zal zijn: Als u een converter heeft die geschikt is voor RTS/CTS-stroom controle, dit heeft eigenlijk de voorkeur. Als u ooit de firmware op de harde manier opnieuw moet laden, is dit absoluut noodzakelijk. De bootloader ondersteunt alleen deze modus. Er zijn echter twee redenen waarom we dit hebben uitgeschakeld. De eerste is dat de meeste mensen goedkope kabels zullen vinden die dit niet ondersteunen, en het programmeren van een microcontroller om RTS/CTS-stroomregeling te verwerken is een beetje ingewikkelder en vereist meer IO- en software-overhead. De meeste bibliotheken ondersteunen het niet, dus schakel het gewoon uit. Als u problemen ondervindt bij het flashen van uw firmware, heeft u echter een RTS/CTS-compatibele seriële converter nodig om deze te herstellen. Om RTS/CTS-stroomregeling te gebruiken, wisselt u de twee signalen tussen apparaten. Dit betekent dat RTS op de converter moet worden aangesloten op CTS op de VMUSIC2-module en vice versa. Ten slotte is RI Ring Indicator, die kan worden gepingd om de VMUSIC2-module uit stand-by te halen. We zullen het hier niet gebruiken en het wordt niet gebruikt bij firmwareherstel. Laat het gewoon los. De pinout van de VMUSIC2:

Stap 4: Begin met praten

Start hyperterminal of welk serieel communicatieprogramma dan ook op en maak een verbinding op de com-poort van uw converter met deze instellingen: 9600 Baud Rate8 Data Bits1 Stop BitGeen pariteitGeen Handshake of Flow ControlU wilt misschien ook lokale echo inschakelen zodat u ziet wat je bent aan het typen. De VMUSIC-module biedt geen externe echo. Zodra u een verbinding tot stand hebt gebracht, sluit u de 5V op de VMUSIC aan. U zou een prompt moeten zien die er ongeveer zo uitziet: Ver 03.64-COMVMSC1F On-Line: No Disk No Upgrade Plaats nu uw flash schijf, en het zou moeten melden dat een apparaat is gedetecteerd op poort 2 (P2) en u een D:\>-prompt moeten geven om aan te geven dat het nu klaar is om opdrachten te accepteren!

Stap 5: TODO: Firmware-opdrachten

Dit gaat nogal lang duren, dus zal worden bijgewerkt als ik tijd heb. Hier zijn een paar snelle opdrachten om te proberen: DIR (geeft de bestanden in de huidige map weer) CD (verandert de huidige map) VPF p (legt het MP3-bestand neer)VP (pauzeren en hervatten)VST (stopt het afspelen)V3A (Speel alle bestanden in de huidige map af)VF (Ga naar het volgende nummer)VB (Skeert naar het vorige nummer)VSV (stelt het volume in. Geldige waarden zijn tussen $00 max volume en $ FE min volume - dat is hex. Dat is 0 tot 254 decimaal. Het zegt het niet, maar ik wed dat $ FF gewoon MUTE is.) Ga nu naar de Vinculum-website en download de Vinculum Firmware-gebruikershandleiding. Deze ene handleiding behandelt verschillende firmwares. Het is goed opgesteld als referentie als u al op de hoogte bent van een paar dingen. Allereerst zijn de meeste firmwarevarianten gebaseerd op de generieke VDAP-firmware, en speciale firmwares breiden zich daar gewoon uit. De VMUSIC2 gebruikt de VMSC-firmware, die specifieke opdrachten biedt voor het afspelen van MP3 en communicatie met de VS1003. Paragraaf 6.8 van de gebruikershandleiding van de firmware is specifiek voor de VMSC-firmware. Dit is de sectie waarin u het meest geïnteresseerd zult zijn. De secties 6.0 tot 6.8 zijn universele commando's, meestal voor schijftoegang, bestandstoegang en onderhoud. Er zijn ook enkele stukjes informatie over het gebruik van andere randapparatuur in de USB-poort, zoals printers, HID-apparaten, enz. Tabel 3.1 geeft een overzicht van de verschillende apparaatklassen die door elke firmware worden ondersteund. Alleen poort 2 is aangesloten op de vinculum, dus beperk uw verkenning naar die haven. Hierbij moet worden opgemerkt dat het aansluiten van uw computer op de USB-poort van de VMUSIC kan leiden tot schade aan de VMUSIC2, uw pc of beide. De hardware in de VMUSIC ondersteunt dit niet, hoewel de VNC1L-chip dat wel doet. Ook zou de VMUSIC-module zowat elk USB-massaopslagapparaat moeten kunnen ondersteunen. Ik heb het tot nu toe alleen geprobeerd met een USB-flashstation, maar volgens de handleiding zou het moeten werken met USB-harde schijven, camera's (in massaopslagmodus), kaartlezers, enz … Er zijn echter enkele beperkingen. Deze worden uitgelegd in de gebruikershandleiding van de firmware. Het ondersteunt FAT12, FAT16 en FAT32, maar lange FAT32-bestandsnamen worden niet ondersteund. Sectorgrootte moet 512 zijn; verschillende clustergroottes lijken goed te werken. Ik heb dit zonder problemen getest met een USB-schijf van 8 GB, maar sommige commando's zullen geen correcte waarden weergeven wanneer de schijf groter is dan 4 GB. Op dit moment houden we ons voornamelijk bezig met de VMSC-specifieke opdrachten en enkele van de VDAP commando's (om door het bestandssysteem te navigeren.) Nogmaals, ik zal deze sectie opnieuw bezoeken om dit alles enigszins te begrijpen. Maar je hebt nu genoeg informatie om met je module te gaan spelen. Ik zou sowieso de gebruikershandleiding opnieuw typen, omdat het vrij duidelijk is als je eenmaal weet waar je moet zoeken. Ik heb met succes een tekstbestand gemaakt in de indeling van een INI-bestand, gegevens in de afzonderlijke secties ingevoegd en deze vervolgens één sectie tegelijk teruggelezen, allemaal met alleen hyperterminal. Het is heel gemakkelijk en ik wed dat je het allemaal doorhebt voordat ik dit zelfs maar update! Veel plezier!

Aanbevolen: