Inhoudsopgave:

Muzieksynthesizer gebaseerd op DE0-Nano-SoC - Ajarnpa
Muzieksynthesizer gebaseerd op DE0-Nano-SoC - Ajarnpa

Video: Muzieksynthesizer gebaseerd op DE0-Nano-SoC - Ajarnpa

Video: Muzieksynthesizer gebaseerd op DE0-Nano-SoC - Ajarnpa
Video: In de voetsporen van een oude beschaving: het vervolg op de documentaire 2024, November
Anonim
Muzieksynthesizer gebaseerd op DE0-Nano-SoC
Muzieksynthesizer gebaseerd op DE0-Nano-SoC

Muzieksynthesizer

Deze muzieksynthesizer is vrij eenvoudig: je hoeft alleen maar te blazen, zingen of zelfs muziek te spelen voor de microfoon, en het geluid wordt gemoduleerd en door de luidspreker gestuurd. Het spectrum zal ook op het LCD-scherm verschijnen. De Music Synthesizer bestaat in twee versies: je kunt ervoor kiezen om het op een PCB te implementeren, of als je dat niet kunt, zal een eenvoudig Breadboard het doen.

Stap 1: Benodigd materiaal en aanbevelingen

Benodigd materiaal en aanbevelingen
Benodigd materiaal en aanbevelingen
Benodigd materiaal en aanbevelingen
Benodigd materiaal en aanbevelingen
Benodigd materiaal en aanbevelingen
Benodigd materiaal en aanbevelingen

Om dit systeem te implementeren heeft u het volgende nodig:

  • een DE0-Nano-SoC-bord
  • een LT24 LCD-scherm van Terasic
  • een electret microfoon
  • een eenvoudige tweedraads (aarde en voeding) luidspreker
  • een Ethernet-draad
  • een PCB of een breadboard
  • een soldeerbout en een PCB-graveur, als u besluit de synthesizer op een PCB te implementeren
  • een batterij en de bijbehorende USB-connector (optioneel)
  • een LM386 eindversterkereenheid
  • een MCP4821 digitaal/analoog converter
  • een LT1054 spanningsomvormer met geschakelde condensator
  • een LM317 Verstelbare Reulator
  • 7 TL081 OPA's (DIP-8)
  • een TL082 OPA (DIP-8)
  • een 2N5432-transistor
  • een 1N4148-diode
  • 17 10 µF gepolariseerde condensatoren
  • een condensator van 1 µF
  • 5 100nF condensatoren
  • een 680nF condensator
  • een 100 µF condensator
  • een condensator van 2,2 µF
  • een 1000+µF gepolariseerde condensator (bijvoorbeeld 4400)
  • een 220 µF gepolariseerde condensator
  • een 0,05 µF condensator
  • 4 100 Ohm weerstanden
  • 1 2.2kOhm weerstand
  • 1 weerstand van 10kOhm
  • 1 470 Ohm weerstand
  • 1 1,8kOhm-weerstand
  • 1 weerstand van 1 MOhm
  • 1 150 Ohm weerstand
  • 4 1500 Ohm weerstand

Houd er rekening mee dat u mogelijk meer onderdelen nodig heeft dan verwacht.

We raden ook ten zeerste aan om over basiskennis van elektronica en SoC-ontwerp te beschikken voordat u aan dit project begint

Stap 2: Acquisitieraad

Acquisitieraad
Acquisitieraad
Acquisitieraad
Acquisitieraad

Nu je alles hebt wat je nodig hebt, laten we beginnen met het maken van het acquisitiebord. De microfoon verzamelt geluiden in de buurt, waarna het signaal wordt gefilterd door een laagdoorlaatfilter om het te samplen (en dus de stelling van Shannon te respecteren) voordat het wordt versterkt en uiteindelijk wordt opgenomen door de DE0.

Als je bekend bent met Altium Design Software en toegang hebt tot een PCB-graveur, hoef je alleen maar het schema in de bovenstaande afbeelding te reproduceren en de componenten te plaatsen zoals we deden in de tweede afbeelding. Anders kunt u dit circuit eenvoudig opnieuw maken op een breadboard.

In beide gevallen zijn de waarden van de weerstanden, uiteraard gegeven in Ohm, en de waarden van de condensatoren, gegeven in Farads, als volgt:

  • R4: 2.2k
  • R5: 10k
  • R6 en R7: 100
  • R3: 470
  • R1 en R2: 18 (deze weerstanden worden gebruikt om de uitgangsspanning aan te passen die 2V zou moeten zijn, dus deze waarden kunnen voor u iets anders zijn)
  • R8: 1.8k
  • R9: 1M
  • R10: 150
  • R11, R12, R14 en R15: 1,5 k
  • Dec1: 2.2µ
  • 2 december: 100µ
  • 3 december: 100n
  • Dec4: 1µ
  • Dec5, Dec6, Dec7, Dec8, Dec9, Dec10, Dec11, Dec12, Dec13, Dec14: 1µ
  • 15 dec: +1000µ (4400 bijvoorbeeld)
  • C1: 10µ
  • C2: 1µ
  • C3 en C4: 100n
  • C5: 1µ

We zijn klaar met het acquisitiebord!

Stap 3: Audio-uitgangskaart

Audio-uitgangskaart
Audio-uitgangskaart
Audio-uitgangskaart
Audio-uitgangskaart

Geluiden kunnen opnemen is geweldig, maar ze kunnen reproduceren is nog beter! Je hebt dus een audio-uitgangskaart nodig, die eenvoudigweg bestaat uit een digitaal/analoogomzetter, een afvlakfilter, een eindversterker en een luidspreker.

Natuurlijk kun je de schakeling nog steeds reproduceren op een PCB (en de componenten plaatsen zoals in de tweede afbeelding) of op een breadboard. In beide gevallen zijn hier de waarden voor zowel de condensatoren als de weerstanden:

  • R1 en R2: 100
  • R3 en R4: draden
  • R5: 10
  • C1: 1µ
  • C2, C3, C5, C6, C7, C9: 100µ (gepolariseerd)
  • C4 en C8: 100n
  • C10: 0,05 µ
  • C11: 250µ

We zijn klaar met de audio-uitvoer, dus laten we naar de software gaan!

Stap 4: Quartus-project

Om het simpel te houden, hebben we besloten om te beginnen met het "mijn eerste-hps-fpga"-project dat wordt geleverd op de cd-rom die bij de DE0-Nano-SoC wordt geleverd. Het enige wat u hoeft te doen is dit project te openen en "Platform Designer" of "Qsys" te starten vanuit de werkbalk en het bovenstaande project te reproduceren. Genereer vervolgens het ontwerp en compileer met Qsys (zie de demonstraties voor meer details).

Stap 5: Geniet

Nu de HDL-bestanden zijn gegenereerd, hoeft u alleen nog maar het Quartus-project te starten. Steek daarvoor de USB-kabel in de USB-connector (JTAG) van DE0-Nano-Soc. Selecteer vervolgens Extra > Programmeren op Quartus. Klik op Auto Detect en selecteer vervolgens de tweede optie. Klik daarna op het FPGA-apparaat (de tweede), vervolgens op "Bestand wijzigen" en selecteer het eerder gegenereerde.sof-bestand. Klik ten slotte op het vinkje "Programmeren/Configureren" en klik op de knop "Start" om het bestand te starten.

Upload tot slot de volgende C-code in het DE0-geheugen. Installeer daarvoor Putty op een pc (Linux), verbind het bord ermee via een Ethernet-verbinding en steek de USB-kabel in de USB-connector (UART) van DE0. Start en configureer Putty met een baudrate van 115200, geen pariteit, één bitstop en geen flow control-instellingen. Forceer daarna een vast IPv4-adres naar de Ethernet-poort van uw pc, voer "root" in op Putty-shell, dan "ifconfig eth0 192.168. XXX. XXX" en "wachtwoord" gevolgd door een wachtwoord. Open een shell op uw pc, ga naar de projectrepository en voer "scp myfirsthpsfpga [email protected]. XXX. XXX:~/" in. Voer uiteindelijk op de Putty-shell "./myfirsthpsfpga" in. Genieten van !

Aanbevolen: