Squareinator - A SN76489 Monosynth

8 Schritt:Schritt 1: Inspiration Schritt 2: Hardware-Entwurf - SN76489 Clock Schritt 3: Hardware-Entwurf - Stromversorgung Schritt 4: Hardware-Entwurf - VCF Schritt 5: Software Design Schritt 6: Hardware-Entwurf - spart Platz Schritt 7: Wie klingt es? Schritt 8: Fazit

Squareinator - A SN76489 Monosynth

Alles begann vor ein paar Jahren, als ein Freund gab mir einen alten Radioshack Blisterpackung aus den frühen 1980er Jahren hat er auf einer Hamfest bekommen hatte - ein SN76489 Soundchip. Einige Untersuchungen zeigte es in der frühen Heimcomputer und Videospiel-Systeme verwendet worden war. Könnte es als ein Synthesizer verwendet werden?
Die SN76489 ist ein Vier-Operator programmierbaren Teiler. Sie führen es ein Hochfrequenztaktsignal (0,5 bis 4,0 MHz) Binärzähler teilen den Takt auf eine hörbare Frequenz. Es ist in der Lage, drei unabhängige Rechteckwellenformen auf der Grundlage einer 10-Bit-Divisor. Es enthält auch eine 15-Bit-Schieberegister mit Rückkopplung, die eine Pseudozufallsrechteckausgang ähnelt weißes Rauschen erzeugt. Jedes "Kanal" hat seine eigenen 4-Bit-Dämpfungsglied, und mit einem einzigen Audioausgang gemischt. Die Kommunikation mit dem Chip ist über einen 8-Bit-Datenbus - Verschwendung von Microcontroller-Pins, aber üblich, dass die Ära der 8-Bit-Computern mit einem 8-Bit-Daten bus.Step 1: Inspiration




Bisherige Projekte bestanden auf der SN76489 Soundchip auf der Basis.
http: //little-scale.blogspot.com/2013/02/how-to-bu ... verwendet den Chip für polyphone Ausgang "tracker" Dateien und andere 8-Bit-Ära inspirierten MIDI Musik.
Das ist cool, aber die Klangpalette wird durch die Art des Chips mit Rechteckausgang begrenzt. Ich würde ziemlich schnell gelangweilt von nur Rechteck bekommen. Was passiert, wenn alle drei Rechteck wurden gemischt, zusammen mit dem Lärm? Das könnte viel interessanter klingen. Was, wenn wir soeben einen billigen, böse Resonanzmultimode-Filter? Noch besser!
! SN76489 Clock - Hardwaredesign: Die Squareinator wurde Schritt 2 geboren


Wir natürlich wusste, wir würden mit der SN76489. Wie sie zu kontrollieren? Andere SN76489 Benutzer nutzten die Teensy 2.0 Mikrocontroller-Plattform - eine gute Wahl, da sie einen USB-MIDI-Gerät aufzuzählen.
Ich wollte regulären Serien MIDI, zusammen mit einem 1/4 "Audio-Buchse. Ferner würde ich durch die 100x80mm Brettgröße von Freeware Adler Cadsoft. Platz auf der Platine begrenzt wäre begrenzt. War es eine Möglichkeit, nicht über eine 2,0 MHz-Quarz für die SN76489 Uhr?
In der Tat, die ATMEGA32U4 im Teensy 2,0 verwendet wird, eine Hardware PLL fähig mutiplying einer der Zähler auf eine hohe Frequenz. Die folgende Website demonstriert dies:
http: //harizanov.com/2013/04/crazy-high-frequency -...
Die Teensy 2.0 kann leicht Ausgang ein 2-MHz-Takt mit diesen method.Step 3: Hardware-Entwurf - Stromversorgung

Squareinator - A SN76489 Monosynth

Die Teensy 2.0 und der SN76489 Run auf 5,0 V DC. Allerdings, wenn Sie einen spannungsgesteuerten Filter (VCF) wollen, Sie gehen, um eine bipolare (positive und negative) Versorgung benötigen. Dies kann durch einen geteilten Wicklungs sekundären Transformatorteil übergeben werden, sondern nur der Filter braucht eine negative Versorgung, so dass die Stromanforderungen sehr gering und kann durch einen Spannungsinverterchip fein bearbeitet werden. Ich wählte den LT1054 Chip. Es verfügt über eine 100 mA-Fähigkeit, die viel für die Entwicklung ist. Mutable Instruments (www.mutable-instruments.net) hat eine ausgezeichnete bipolar Versorgung auf Basis dieses Chips. Der LT1054 liefert eine etwas geringere negative Spannung als der Pluseingang vorgesehen, so dass das Design-Feeds in 9V und regelt dann beide Seiten mit Linearregler des 780X und 790X Typ.
Sie können einen kleinen Kühlkörper auf der 7805 Regler zu sehen. Es ist nicht wirklich notwendig, aber Ich mag die Dinge nicht mehr als warm zu halten. Der 7905 wird nie warm, als sehr wenig Strom ist auf die negative Schiene gezogen.
Beachten Sie das absolute Maximum für den LT1054 ist 15v. Würde ich nicht verwenden eine ungeregelte Versorgungs von mehr als 9 V, da eine leicht belasteten ungeregelten 12V-Versorgung zu erbringen hat mehr als 15v.Step 4: Hardware-Entwurf - VCF

Squareinator - A SN76489 Monosynth

Wie gesagt, ich wollte eine VCF für meine synth. Ferner wollte ich eine Multi-Mode-Design in der Lage, Tiefpass, Bandpass, Hochpass und Ausgänge. Wieder hatte mutable-instruments.net eine hervorragende klingenden Schaltung mit geringer Teilezahl für ihre Anushri Monosynth. Mit Raum an einer Prämie auf meinem Board, Graf war Niederteile ideal. Die guten und schlechten dieser Konstruktion ist es die V2146D Voltage Controlled Amplifier (VCA) Chip, der ausgezeichnete Ergebnisse liefert, sondern ist etwas schwer zu finden, und ist etwas teurer verwendet. Aber ich denke, es war besser als die Alternativen.
Der Filter ist ein zweipoliger Design, was bedeutet, dass eine 12dB / Oktave Tiefpass-Modus in Reaktion erzeugt. Es ist in der Lage, eine Eigenschwingung in allen Modi. In meinem Entwurf, ich spare Teile mit Hilfe der Dämpfungsglieder in der SN76489, um die Lautstärke Hüllkurve (VCA) zu erzeugen. Normalerweise wird ein analoger Synthesizer legt den VCA nach dem VCF, um den Filter, wenn keine Noten spielen, wenn der Filter in Eigenschwingung zum Schweigen zu bringen, und um die Filterleistung bei Eigenschwingung zu zähmen, da in diesem Entwurf es neigt dazu, ziemlich viel lauter als der Eingang. Da habe ich Software die Kontrolle über die Resonanz, kann ich den Filter durch einfaches Drehen Sie die Resonanz, wenn es eine Note-Off zum Schweigen zu bringen.
Der Filter Design hat Spannung Kontrolle über die Filter-Cutoff. Es muss nicht die Kontrolle über die Spannungsresonanz, aber es einstellbar mit einem variablen Widerstand ist. Dies wird durch eine MCP4131 100K 128 stufigen digitalen Potentiometers gehandhabt. Steuerspannung (CV) für die Cutoff wird von einem MCP4921 12-bit, Einkanal-DAC vorgesehen. 12 Bit sorgt für eine sehr glatte Hüllkurve. Beide Teile sind SPI, die Stifte zu sparen hilft. Jeder Chip verfügt über einen eigenen Chip-Select-Leitung.
Software Design: Filter-Modi werden durch eine CD4051BE 8-zu-1-Analog mutiplexer.Step 5 ausgewählt


Die Synth-Code wurde in Arduino, die, wie ich schreibe ist im Grunde einfachen C-Code geschrieben. MIDI und SPI-Bibliotheken wurden als ein halber verwendet. Der Code wird als eine einzelne Datei geschrieben. Es gibt keine beinhaltet außer den genannten Bibliotheken.
Codieren eines Synth ist alles über Schleifen. Es ist die Hauptschleife, deren Aufgabe es ist, drehen sich die Überprüfung, ob Notizen haben via MIDI kam oder wenn es Zeit ist, einen der Umschläge zu bedienen. Es gibt Umschläge für VCA und VCF sowie eine einfache Ein-Aus-LFO für den VCA. Es gibt auch eine Schleife für die Wartung der Glide-Funktion. Die SN76489 gibt ein Signal von sich einmal gesetzt, so anders als MIDI gibt es nichts sehr timing-kritisch. Also, alles ist durch die Abfrage verarbeitet und Interrupts werden nicht verwendet (außer MIDI).
Wenn wir Proben Wiedergabe und erforderlich, um eine Bitrate zu erhalten wurden, dann ja, Unterbrechungen notwendig wäre.
Der Code kann hier gefunden werden:
https://github.com/quarterturn/squareinator
Sie können "git clone verwenden https://github.com/quarterturn/squareinator.git " , um eine Kopie zu bekommen, oder einfach das Web-Interface auf GitHub.
Der Code wird unter der GPL lizenziert v2.Step 6: Hardware-Entwurf - spart Platz

Squareinator - A SN76489 Monosynth

Um Platz zu sparen und stopfen alles in auf der Platte wurde die SN76489 unterhalb des Teensy 2.0 platziert. Das hat gut geklappt, denn es hielt die Datenleitungen sehr kurz. Lärm von der CPU scheint nicht zu sein, immer in die Ausgangs SN76489 bei all.Step 7: Wie klingt es?


Hier ist eine kurze YouTube-Video von mir, es zu spielen schlecht drehend MIDI Controller-Regler, um die verschiedenen Klangmöglichkeiten zu demonstrieren.
https://www.youtube.com/watch?v=b5AoeZAc0gg&feature=youtu.beStep 8: Fazit

Squareinator - A SN76489 Monosynth

Es hat Spaß gemacht, eine alte Chip wie der SN76489 wieder zum Leben erwecken. Es gibt nichts mehr über die einzigartige Chip - können Sie einfach erzeugen drei unabhängigen Rechteck Verwendung der Hardware-Timer in einer ATMEGA Chip und tun das Schieberegister Lärm in der Software zu einem regulären Stift. Es ist vor allem eine Nostalgie Sache.
Ich werde nicht die Herstellung eines Kits, aber Platten zur Verfügung stehen und eine Stückliste wird auf GitHub veröffentlicht, so dass Sie die genauen benötigten Teile bestellen können werden. Die Teensy 2.0 ist ab pjrc.com und die V2164D ist in den USA von Small Bär Electronics erhältlich. Die SN76489 ist auf ebay erhältlich billig und in der Menge von chinesischen Lieferanten. Ich finde es interessant, dass es viel NOS dieses Chips. Möglicherweise sind neue Kopien. Ich habe die Chips von einem chinesischen Anbieter getestet und sie funktionieren genau wie das Original, so dass ich denke, es spielt keine Rolle.