Inhaltsverzeichnis:

Musiksynthesizer basierend auf DE0-Nano-SoC - Gunook
Musiksynthesizer basierend auf DE0-Nano-SoC - Gunook

Video: Musiksynthesizer basierend auf DE0-Nano-SoC - Gunook

Video: Musiksynthesizer basierend auf DE0-Nano-SoC - Gunook
Video: Music Player/Recorder mit FPGA und Festplatte 2024, November
Anonim
Musik-Synthesizer basierend auf DE0-Nano-SoC
Musik-Synthesizer basierend auf DE0-Nano-SoC

Musik-Synthesizer

Dieser Musiksynthesizer ist ganz einfach: Sie müssen nur vor dem Mikrofon blasen, singen oder sogar Musik abspielen, und der Ton wird moduliert und über den Lautsprecher gesendet. Sein Spektrum wird auch auf dem LCD-Display angezeigt. Der Musik-Synthesizer existiert in zwei Versionen: Sie können ihn auf einer Platine implementieren, oder wenn dies nicht möglich ist, reicht ein einfaches Breadboard.

Schritt 1: Benötigtes Material und Empfehlungen

Benötigtes Material und Empfehlungen
Benötigtes Material und Empfehlungen
Benötigtes Material und Empfehlungen
Benötigtes Material und Empfehlungen
Benötigtes Material und Empfehlungen
Benötigtes Material und Empfehlungen

Um dieses System zu implementieren, benötigen Sie Folgendes:

  • ein DE0-Nano-SoC-Board
  • ein LT24 LCD-Display von Terasic
  • ein Elektretmikrofon
  • ein einfacher Zweidraht-Lautsprecher (Masse und Versorgung)
  • ein Ethernet-Kabel
  • eine Platine oder ein Steckbrett
  • einen Lötkolben und einen PCB-Gravierer, wenn Sie sich entscheiden, den Synthesizer auf einer PCB zu implementieren
  • ein Akku und sein USB-Anschluss (optional)
  • eine LM386-Leistungsverstärkereinheit
  • ein MCP4821 Digital/Analog-Wandler
  • ein LT1054 Switched-Capacitor-Spannungswandler
  • ein einstellbarer Reulator LM317
  • 7 TL081 OPAs (DIP-8)
  • ein TL082 OPA (DIP-8)
  • ein 2N5432 Transistor
  • eine 1N4148-Diode
  • 17 10 µF polarisierte Kondensatoren
  • ein 1µF Kondensator
  • 5 100nF-Kondensatoren
  • ein 680nF Kondensator
  • ein 100 µF Kondensator
  • ein 2,2 µF Kondensator
  • ein 1000+µF polarisierter Kondensator (4400 zum Beispiel)
  • ein 220 µF polarisierter Kondensator
  • ein 0,05 µF Kondensator
  • 4 100 Ohm Widerstände
  • 1 2,2kOhm Widerstand
  • 1 10kOhm Widerstand
  • 1 470 Ohm Widerstand
  • 1 1,8kOhm-Widerstand
  • 1 1MOhm Widerstand
  • 1 150 Ohm Widerstand
  • 4 1500 Ohm Widerstand

Bitte beachten Sie, dass Sie möglicherweise mehr Komponenten benötigen als erwartet.

Wir empfehlen außerdem dringend, Grundkenntnisse in Elektronik und SoC-Design zu besitzen, bevor Sie mit diesem Projekt beginnen

Schritt 2: Akquisitionsboard

Akquisitionsausschuss
Akquisitionsausschuss
Akquisitionsausschuss
Akquisitionsausschuss

Nun, da Sie alles Notwendige haben, beginnen wir mit der Erstellung des Akquisitionsboards. Das Mikrofon sammelt Geräusche in der Nähe, dann wird das Signal durch einen Tiefpassfilter gefiltert, um es abzutasten (und damit das Shannon-Theorem zu respektieren), bevor es verstärkt und schließlich vom DE0 aufgenommen wird.

Wenn Sie mit Altium Design Software vertraut sind und Zugriff auf einen PCB-Gravierer haben, müssen Sie nur den im Bild oben gezeigten Schaltplan reproduzieren und die Komponenten wie im zweiten Bild platzieren. Andernfalls können Sie diese Schaltung einfach auf einem Steckbrett nachbilden.

In beiden Fällen sind die Werte der Widerstände, offensichtlich in Ohm angegeben, und die Werte der Kondensatoren, angegeben in Farad, wie folgt:

  • R4: 2,2k
  • R5: 10k
  • R6 und R7: 100
  • R3: 470
  • R1 und R2: 18 (diese Widerstände werden verwendet, um die Ausgangsspannung einzustellen, die 2 V betragen sollte, daher können diese Werte für Sie leicht abweichen)
  • R8: 1,8k
  • R9: 1M
  • R10: 150
  • R11, R12, R14 und R15: 1,5k
  • Dez1: 2,2µ
  • Dez2: 100µ
  • 3. Dezember: 100 n
  • Dez4: 1µ
  • Dez5, Dez6, Dez7, Dez8, Dez9, Dez10, Dez11, Dez12, Dez13, Dez14: 1µ
  • Dez15: +1000µ (4400 zum Beispiel)
  • C1: 10µ
  • C2: 1µ
  • C3 und C4: 100n
  • C5: 1µ

Wir sind fertig mit der Akquisitionstafel!

Schritt 3: Audioausgabeplatine

Audioausgangsplatine
Audioausgangsplatine
Audioausgangsplatine
Audioausgangsplatine

Klänge aufnehmen zu können ist großartig, aber sie reproduzieren zu können ist noch besser! Sie benötigen also eine Audio-Ausgangsplatine, die lediglich aus einem Digital/Analog-Wandler, einem Glättungsfilter, einer Endstufe und einem Lautsprecher besteht.

Natürlich können Sie die Schaltung weiterhin auf einer Platine reproduzieren (und die Komponenten wie im zweiten Bild gezeigt platzieren) oder auf einem Steckbrett. In beiden Fällen sind hier die Werte sowohl für die Kondensatoren als auch für die Widerstände:

  • R1 und R2: 100
  • R3 und R4: Drähte
  • R5: 10
  • C1: 1µ
  • C2, C3, C5, C6, C7, C9: 100µ (polarisiert)
  • C4 und C8: 100n
  • C10: 0,05µ
  • C11: 250µ

Wir sind mit der Audioausgabe fertig, also kommen wir zur Software!

Schritt 4: Quartus-Projekt

Der Einfachheit halber haben wir uns entschieden, mit dem Projekt "my first-hps-fpga" zu beginnen, das auf der CD-ROM enthalten ist, die dem DE0-Nano-SoC beiliegt. Alles, was Sie tun müssen, ist dieses Projekt zu öffnen und "Platform Designer" oder "Qsys" aus der Werkzeugleiste zu starten und das obige Projekt zu reproduzieren. Generieren Sie dann das Design und kompilieren Sie es mit Qsys (weitere Informationen finden Sie in den Demonstrationen).

Schritt 5: Viel Spaß

Nachdem die HDL-Dateien generiert wurden, müssen Sie nur noch das Quartus-Projekt starten. Stecken Sie dazu das USB-Kabel in den USB-Anschluss (JTAG) des DE0-Nano-Soc. Wählen Sie dann Extras > Programmierung auf Quartus. Klicken Sie auf Auto Detect und wählen Sie dann die zweite Option. Klicken Sie anschließend auf das FPGA-Gerät (das zweite), dann auf "Datei ändern" und wählen Sie die zuvor generierte.sof-Datei aus. Klicken Sie abschließend auf das Kontrollkästchen "Programmieren/Konfigurieren" und klicken Sie auf die Schaltfläche "Start", um die Datei zu starten.

Laden Sie schließlich den folgenden C-Code in den DE0-Speicher hoch. Installieren Sie dazu Putty auf einem PC (Linux), verbinden Sie das Board damit über eine Ethernet-Verbindung und stecken Sie das USB-Kabel in den USB-Anschluss (UART) des DE0. Starten und konfigurieren Sie Putty mit einer Baudrate von 115200, ohne Parität, einem Bitstopp und ohne Flusssteuerungseinstellungen. Erzwingen Sie anschließend eine feste IPv4-Adresse an Ihrem PC-Ethernet-Port, geben Sie "root" in der Putty-Shell ein, dann "ifconfig eth0 192.168. XXX. XXX" und "password" gefolgt von einem Passwort. Öffnen Sie eine Shell auf Ihrem PC, gehen Sie zum Projekt-Repository und geben Sie "scp myfirsthpsfpga [email protected]. XXX. XXX:~/" ein. Geben Sie schließlich in der Putty-Shell "./myfirsthpsfpga" ein. Genießen !

Empfohlen: