Ein Eurorack-kompatibles Audio-FPGA-Frontend mit offener Hardware
[Sebastian Holzapfel] hat ein Audio-Frontend (eurorack-pmod) für FPGA-basierte Audioanwendungen entworfen, das so konzipiert ist, dass es in ein Standard-Eurorack-Gehäuse passt. Das unter der CERN Open-Hardware-Lizenz V2 veröffentlichte Projekt wurde in KiCAD unter Verwendung des Vierkanal-Audiocodecs AK4619VN von Asahi Kasei-Mikrogeräten entwickelt. (Und raten Sie mal, Leute, es gibt jede Menge davon auf Lager!)
Der AK4619 ist ein Audio-Frontend-Gerät, das für automatische Head-Unit-Anwendungen gedacht ist und vier Audio-ADCs und vier DACs enthält. Dadurch kann der eurorack-pmod vier eingehende und vier ausgehende Kanäle gleichzeitig verarbeiten. Über eine I2S- oder PCM-Schnittstelle, die an einen PMOD-Anschluss auf der Rückseite angeschlossen wird, kann ein externes FPGA-Board Ihrer Wahl angeschlossen werden, wovon die Auswahl durchaus groß ist. [Sebastian] stellt einige Beispielcodes für das iCEBreaker FPGA-Board bereit, die alle von der Yosys-Toolchain verarbeitet werden können. Dabei geht es um die Details des AK4619-Codecs sowie um eine Kalibrierung auf Platinenebene, damit sich der Benutzer auf den Anwendungscode konzentrieren kann. Das könnte ein reiner Synthesizer, eine Art DSP-Audioeffekt oder etwas dazwischen sein. Der Verilog-Code selbst ist recht einfach und sollte daher problemlos auf jedes andere FPGA-Board übertragen werden können, auf das der Benutzer Zugriff hat.
Es wird ein Teil des Codes, zum Beispiel für Kerne, mit einem VCO, einem programmierbaren Filter, einer Verzögerung/Dezimator und ein paar anderen Extras bereitgestellt, also viele Beispiele für den Anfang für Ihr erstes FPGA-Synthesizer-Projekt! Zu Lern- und Simulationszwecken hat [Sebastian] die notwendigen Setups zur Steuerung des VCV Rack-Audiosimulators sowie eine praktische Anleitung zum Ausführen der Verilog-Simulation in VCV bereitgestellt.
FPGA-Audiosynthese ist hier nichts Neues, aber neue Projekte in diesem Bereich sind immer spannend. Was die früheren Arbeiten betrifft, so basiert eines auf einem alten Xilinx Spartan 6-Board und eines auf dem neueren Zynq.