Vor Jahren hatte ich einen LaserDisc-Player, der unkomprimiertes digitales 2-Kanal-Audio mit 44,1 kHz über einen Cinch-Koaxialanschluss ausgab, der genau wie der Anschluss für Composite-Video eine Impedanz von 75 Ω und eine Spannung hatte, die der Spezifikation von 1 VPP für Video entsprach. Als Schnittstelle stand auch das S/PDIF (Sony/Philips Digital Interface) zur Verfügung.
 
S/PDIF Outputs
S/PDIF-Ausgänge entweder über Toslink- oder RCA-Koaxialanschluss. Quelle: iStock.com/pedro emanuel pereira
Ich experimentierte und war in der Lage, den digitalen Ton mit einem leistungsstarken PAL-I UKW-Videomodulator (Kanal 4 / 175-183 MHz) zu modulieren, ihn über eine UKW-Antenne durch den Äther zu senden und ihn dann mit einem Videorekorder am anderen Ende zu empfangen und zu demodulieren. Von dort aus könnte es in einen DAC geleitet werden, der den perfekten digitalen Stereoton drahtlos wiedergibt - und das alles unter Verwendung von kommerziell erhältlichen Videoverarbeitungsgeräten.

Abonnieren
Tag-Benachrichtigung zu Raspberry Pi jetzt abonnieren!

S/PDIF im Jahr 2023: Auf einem Raspberry Pi Pico

Obwohl wir einen Schritt zurück von dieser Art von unkomprimiertem PCM-Audio gemacht haben, als wir auf DVD (obwohl wir Mehrkanalton gewonnen haben), MP3 und dergleichen umgestiegen sind, haben Geräte wie DVD-/Blu-ray-Player und anständige Media-Streaming-Boxen immer noch häufig S/PDIF-Ausgänge.

Ich wollte mir S/PDIF schon seit einiger Zeit genauer ansehen, ohne dabei auf eine Vielzahl komplexer Schaltungen zurückgreifen zu müssen. Hut ab vor Anne Barela at Adafruit die das hier gefunden hat: Es gibt eine einfache Schaltung, um S/PDIF-Signale (unabhängig davon, ob sie über Koax oder optisch ankommen) auf einem Raspberry Pi Pico zu untersuchen, der uns von Elehobica on GitHub zur Verfügung gestellt wurde.
 
Raspberry Pi Pico-based S/PDIF receiver schematic diagram
Elehobicas Schaltplan für das pico_spdif_rx Projekt. Quelle: github.com/elehobica
Der Schaltplan ist recht einfach, sodass der Arbeitsaufwand auf die Software zurückzuführen ist, die Elehobica für den RP2040 geschrieben hat.

Umrechnung in I2S

Ein zusätzlicher Bonus ist der Code zur Konvertierung von S/PDIF in das I2S serial audio Format, das für den Transport von Audiosignalen zwischen ICs gedacht ist und auf winzigen Mikrocontroller-kompatiblen Modulen verfügbar ist. Das bedeutet, dass Sie Ihr digitales Audio zum Beispiel durch einen winzigen DAC (kleiner als ein US-Quarter) pumpen können, der ursprünglich für größere Raspberry Pi-Verwandten entwickelt wurde.
 
Raspberry Pi PIco S/PDIF-to-I2S converter schematic
Verwendung eines I2S-DACs, um die 32-Bit-Ausgang des Pico zu nutzen. Quelle: github.com/elehobica
Hier haben wir also einen einzigartigen S/PDIF-Empfänger, der das Raspberry Pi Pico Board und seine Hardware-PIO-Funktionalität nutzt, um 2-Kanal-Audio in 16- oder 24-Bit-Formaten zu verarbeiten. Er ist ideal, um das S/PDIF-Format zu erforschen. Er unterstützt eine breite Palette von Abtastfrequenzen, darunter 44,1 kHz, 48 kHz, 88,2 kHz, 96 kHz, 176,4 kHz und 192 kHz, und bietet eine mit diesen Frequenzen kompatible Signaldetektionsfunktion.

Das Projekt wurde speziell auf den Raspberry Pi Pico zugeschnitten und ist mit dem RP2040-Chip kompatibel. Umfassende Anleitungen werden unter Verwendung von Pico SDK 1.4.0 bereitgestellt, und es ist bestätigt, dass das Verfahren mit Developer Command Prompt für VS 2019 und Visual Studio Code auf Windows-Plattformen funktioniert.
 

Die im Projekt enthaltenen Beispielanwendungen ermöglichen es den Benutzern, Abtastfrequenzen zu identifizieren, S/PDIF-Frame-Details zu zeigen und S/PDIF- Eingangssignale in I2S 32-Bit-Ausgangssignale zu konvertieren.


Um auf die Projektdateien zuzugreifen und mehr zu erfahren, besuchen Sie das Elehobicas GitHub-Repository unter: https://github.com/elehobica/pico_spdif_rx.git