Jaren geleden had ik een LaserDisc speler die 2-kanaals, 44,1 kHz ongecomprimeerde digitale audio uitvoerde via een RCA coax connector. Deze aansluiting had, net als die voor composiet video, een impedantie van 75 Ω en een spanning die paste binnen de 1 VPP specificatie voor video. De beschikbare interface was een S/PDIF (Sony/Philips Digital Interface).
 
S/PDIF Outputs
S/PDIF uitgangen via coaxiale Toslink of RCA connectoren. Bron: iStock.com/pedro emanuel pereira
Ik experimenteerde ermee en kon het digitale geluid moduleren met een krachtige PAL-I VHF videomodulator (Ch. 4 / 175-183 MHz), het via een VHF-antenne door de ether zenden en het dan ontvangen en demoduleren met een videorecorder aan de andere kant. Daar kan het naar een DAC worden geleid, die het perfecte digitale stereogeluid draadloos weergeeft - en dat alles met alleen videoapparatuur voor het "zenden".

Inschrijven
Schrijf u in voor tag alert e-mails over Raspberry Pi!

S/PDIF in 2023: Via een Raspberry Pi Pico

Hoewel we een stap terug deden bij het overstappen op DVD (al kregen we meer-kanaals geluid), MP3 en dergelijke, hebben apparaten zoals DVD / Blu-ray spelers en goede media streaming boxen vaak nog steeds S/PDIF uitgangen.

Ik wilde al een tijdje met S/PDIF experimenteren en nader bestuderen, zonder een heleboel ingewikkelde schakelingen te moeten gebruiken. Met dank aan Anne Barela van Adafruit voor het vinden van deze eenvoudige schakeling om S/PDIF signalen te verwerken op een Raspberry Pi Pico (ongeacht of het signaal via coax of optisch wordt aangeleverd), en is uitgebracht door Elehobica on GitHub.
 
Raspberry Pi Pico-based S/PDIF receiver schematic diagram
Het schema van Elehobica voor het pico_spdif_rx project. Bron: github.com/elehobica
Het schema is vrij eenvoudig, dus de werkzaamheden komen neer op de software die Elehobica schreef voor de RP2040.

Conversie naar I2S

Een extra bonus is dat er ook code is om van S/PDIF naar I2S serieel audio formaat te converteren, dat bedoeld is voor het transport van audio tussen IC's en is beschikbaar op kleine microcontroller-compatibele modules. Dat betekent dat je je digitale audio door bijvoorbeeld een kleine DAC (kleiner dan een 25 dollarcent muntje) kunt sturen die aanvankelijk was ontworpen voor grotere Raspberry Pi-varianten.
 
Raspberry Pi PIco S/PDIF-to-I2S converter schematic
Een I2S DAC gebruiken om een 32-bits uitgang van de Pico te verwerken. Bron: github.com/elehobica
Nu hebben we dus een unieke S/PDIF ontvanger die gebruik maakt van een Raspberry Pi Pico board en zijn hardware PIO functionaliteit om 2-kanaals audio te verwerken in 16- of 24-bit formaten. Ideaal om het S/PDIF formaat te onderzoeken. Hij is geschikt voor een groot aantal sample-frequenties, waaronder 44,1 kHz, 48 kHz, 88,2 kHz, 96 kHz, 176,4 kHz en 192 kHz, en heeft een signaal-detectiefunctie die compatibel is met deze frequenties.

Het project is speciaal afgestemd op de Raspberry Pi Pico en is compatibel met de RP2040 chip. Er worden uitgebreide instructies gegeven met behulp van Pico SDK 1.4.0, en het is bevestigd dat het proces werkt met Developer Command Prompt voor VS 2019 en Visual Studio Code op Windows platforms.

Met behulp van voorbeeldtoepassingen in het project kunnen gebruikers samplingfrequenties bepalen, S/PDIF framedetails weergeven en S/PDIF invoer omzetten in I2S 32-bit uitvoer.

Voor toegang tot de projectbestanden en meer informatie kun je de GitHub repository van Elehobica bezoeken op: https://github.com/elehobica/pico_spdif_rx.git.


Vertaling: Hans Adams