Analoge und digitale HiFi-Soundausgabe

© Krishna Kumar Sivaraman, 123RF

Satter Sound

,

Mit zwei ICs am I2S-Bus und ein paar zusätzlichen Bauteilen erweitern Sie den Raspberry Pi um eine Soundkarte, die keine Kontaktmöglichkeit mit gängigem HiFi-Equipment scheut – von Klinke und RCA bis IEC60958, Koax-S/PDIF oder optischem TOSLINK.

Klar, der Raspberry Pi kann Sound ausgeben – sowohl analog über die 3,5mm-Klinkenbuchse als auch digital über die HDMI-Schnittstelle. Nur: So richtig prickelnd ist beides nicht.

Zum einen beruht die Konvertierung des digitalen ins analoge Signal in allen RasPi-Chipsets (BCM2835/6/7) auf dem Prinzip der Pulsweitenmodulation. Zugunsten kostengünstiger Technik verzichtet diese relativ primitive Technik von vornherein auf hohe Klangtreue.

Zum anderen dient die digitale Übertragung per HDMI vor allem dazu, den Ton zu einem Bild an ein audiovisuell integriertes Gerät zu senden, das beides wiedergeben kann. Das schränkt aber die Komponentenauswahl drastisch ein, und oft gilt es, entweder bei der Qualität oder beim Preis deutliche Abstriche hinzunehmen.

Als Alternative bietet es sich an, das Tonsignal vollkommen getrennt bis zur meist schon vorhandenen HiFi-Anlage zu führen – wer will schon jedes Mal den Fernseher anschalten, nur um etwas Hintergrundmusik laufen zu lassen?

Auf dem Markt für RasPi-Erweiterungsboards herrscht zwar kein Mangel an Soundkarten verschiedenster Bauart. Viele bedienen aber nur einen Signaltyp, also entweder analog oder digital. Bei anderen hapert es an der Signalqualität, weil die für die präzise Taktung der Abtastrate (siehe Kasten "Abtastrate") notwendigen, hochpräzisen Quarze fehlen. Und selbst bei rein digitaler Verbindung ermöglicht erst ein Impulsübertrager die Verwendung längerer Koaxialkabel und ein hochwertiger optischer Transmitter Abtastraten jenseits der 48 kHz.

Da liegt für den ambitionierten Bastler die Idee nahe, lieber gleich selbst den Grundstein für eine vernünftige RasPi-Soundkarte zu legen.

Abtastrate

In der Unterhaltungselektronik haben sich als Abtastraten 44,1 und 48 kHz sowie Bruchteile und Vielfache davon etabliert (siehe Tabelle "Typische Abtastraten"). Nun hängt die Audioqualität wesentlich davon ab, wie exakt das Wiedergabegerät die Abtastrate der Aufnahme trifft. Daher verwendet man sowohl bei der Aufnahme als auch bei der Wiedergabe besonders genaue, stabile und auf die zur Erzeugung der Grundfrequenzen abgestimmte Quarzoszillatoren, statt sich auf den Bittakt der I2S-Schnittstelle zu verlassen. Beim Raspberry Pi leitet sich beispielsweise der Bittakt der I2S-Schnittstelle direkt vom Taktgenerator des Chipsatzes ab, der eine recht hohe Toleranz erlaubt. Dadurch divergiert zwangsläufig dessen I2S-Abtastrate gegenüber der wesentlich präziseren Taktung des Audio-DACs. Das gilt es auszugleichen, um eine saubere Wiedergabequalität zu erzielen.

Typische Abtastraten

Basis

44,1

48

 

11,025

16

 

22,05

32

 

44,1

48

 

88,2

96

 

176,4

192

 

325,8

374

Angaben in kHz

Digitaler Sound

Aus der digitalen Perspektive handelt es sich bei Sound um eine Serie von Binärzahlen, von der jede einzelne einem Schalldruckwert zu einem bestimmten Zeitpunkt entspricht (PCM, Pulse Code Modulation), und der Abtastfrequenz, die den Zeitabstand zwischen zwei Schalldruckwerten bestimmt. Hinzu kommt die Anzahl der parallel verwendeten Kanäle für die Schalldruckwerte – bei Stereo sind es zwei.

Zur Übertragung des digitalen Sounds zwischen einzelnen Chips hat sich in der Industrie der I2S-Standard durchgesetzt. Alle RasPi-Chipsets unterstützen ihn, und seit dem RasPi 2 Modell B lässt sich die entsprechende Schnittstelle auch via GPIO erreichen. So weit, so gut – jetzt gilt es nur noch, den digitalen Sound irgendwie und irgendwo in Schalldruck zurückzuwandeln.

Das Irgendwie findet immer in einem Audio-DAC statt, das Irgendwo letztlich im Lautsprecher, getrieben vom verstärkten elektrischen Signal des Audio-DACs. Der Audio-DAC sitzt entweder auf einer Soundkarte, die dann die analoge Spannung an den Lautsprecherendverstärker weitergibt, oder aber direkt im digital angesteuerten Endverstärker. Die beiden Varianten entsprechen also einer analogen oder digitalen Soundkarte. Das im Folgenden vorgestellte Exemplar beherrscht beides.

Allerdings verfügt der RasPi nur über eine einzige I2S-Schnittstelle (siehe Kasten "I2S"), an der dann sowohl der Audio-DAC PCM5122 als auch der digitale Transportformatwandler WM8804 hängen. Da I2S anders als I2C keine Adressierung kennt, geht der Audiodatenstrom stets an beide Endpunkte gleichzeitig. Bezüglich der Steuerung jedoch lassen sich beide ICs aber sehr wohl einzeln identifizieren und damit individuell vom jeweiligen Kernel-Modul ansprechen.

I<+>2<+>S

Beim Inter-IC Sound Interface oder kurz I2[2] handelt es sich um eine gängige synchrone, serielle Schnittstelle mit drei Leitungen zum Transport digitaler Audiodaten auf kurzen Strecken (wenige Zentimeter) zwischen ICs. Auf der Datenleitung (Serial Data, SD) fließt der PCM-Worte-Strom oder genauer: je einer pro Stereokanal. Eine Wortleitung (Word Select, WS) ordnet die Bits der Datenleitung dem linken beziehungsweise rechten Kanal zu. Die Frequenz der Bittaktleitung (Continuous Serial Clock, SCK) entspricht dem Produkt aus Abtastrate, der Anzahl der Bits je Kanal sowie der Anzahl der Kanäle.

Die Schaltung

Der ausschließliche Zweck der in Abbildung 1 gezeigten Schaltung ist es, die prinzipielle Funktion einer selbst aufgebauten Soundkarte für den Raspberry Pi zu testen und dafür auf bereits existierende Kernel-Module zurückgreifen zu können. Dabei lässt sich die Beschaltung der verwendeten ICs im Wesentlichen deren Datenblättern und weiterführender Herstellerliteratur entnehmen.

Die Auswahl der beiden Bausteine PCM5122 (siehe Kasten "Audio-DAC PCM5122") sowie WM8804 (siehe Kasten "IEC60958-Transceiver WM8804") und deren Betriebsmodi inklusive Hardware-Konfiguration erfolgte nach eingehender Analyse des Quellcodes verschiedener Soundkartentreiber für den RasPi [1].

Abbildung 1: Der Schaltplan der Eigenbau-Soundkarte (oben: Digital-Audio, unten: Analog-Audio).

Audio-DAC PCM5122

Der Audio-DAC PCM5122 [3] von Texas Instruments ist ein HiFi-Stereo-Digital-Analog-Converter. Er empfängt das digitale Audiosignal über die I2S-Schnittstelle, die Steuerung des ICs erfolgt via I2C. Letzteres betrifft neben der Lautstärke insbesondere die Auswahl des Quarzoszillators (22,5792/24,576 MHz) und die Programmierung der PLL zum Erzeugen der Abtastraten. Neben vielen weiteren Funktionen zur Soundbearbeitung, wie etwa einem Equalizer oder einem dynamischen Signalkompressor, bringt der Chip auch einen Abtastratenwandler (Sample Rate Converter, SRC) zum Ausgleich von Abtastenratendifferenzen zur Audiodatenquelle mit.

IEC60958-Transceiver WM8804

Der Standard IEC60958-3 [4] definiert, wie digitale Audiodaten zwischen HiFi-Komponenten übertragen werden, und stellt das Pendant zu I2S für größere Distanzen (Meter-Bereich) dar. Der Baustein WM8804 [5] von Cirrus Logic dient als Umsetzer für digitale Audiodaten zwischen IEC- und I2S-Format. Die eigentlichen Audiodaten manipuliert er dabei nicht, er vermag noch nicht einmal die Lautstärke zu ändern. Auch eine Anpassung der Abtastrate unterbleibt, da es lediglich darum geht, das digitale Audiosignal robust über eine lange Leitung zu transportieren. Allfällige Anpassungen müssen im Endgerät stattfindet. Die Übertragung kann sowohl elektrisch via Koaxialkabel (S/PDIF) oder optisch über einen TOSLINK-Lichtwellenleiter erfolgen. In beiden Fällen lassen sich Distanzen bis zu 10 Meter oder mehr zwischen Quelle und Empfänger ohne Qualitätseinbußen überbrücken, da die Umwandlung ins störempfindlichere analoge Format erst im Empfänger erfolgt.

Für den Audio-DAC fiel die Wahl auf den Treiber hifiberry_dacplus.c, vor allem, weil er die laut PCM5122-Datenblatt zu den beiden Grundabtastraten passenden Quarzoszillatoren unterstützt. Beim IEC60958-Transceiver passte der Treiber hifiberry_digi.c gut ins Konzept, allerdings in seiner Standardauslegung mit 27-MHz-Quarzoszillator, und nicht in der "Pro"-Variante mit Auswahl zwischen zwei Referenzfrequenzwerten.

Die Anbindung der beiden Haupt-ICs an den I2S- beziehungsweise I2C-Bus lässt sich in Abbildung 1 gut erkennen. Anders als der PCM5122 benötigt der WM8804 eine externe Power-On-Reset-Schaltung durch den U2. Damit die 3,3-V-Versorgung nicht allzu krass auf den Analogteil des Audio-DAC durchschlägt, wird dieser durch den U1 bedient.

Das IEC60958-Signal des WM8804 läuft zum optischen TOSLINK-Transmitter (Cliff Electronics OTJ-8), der mit seinem oberen Limit bei 12,5 Mbit/s gerade noch den Betrieb bis zur höchstmöglichen Abtastrate des WM8804 von 192 kHz erlaubt. Dasselbe Signal wird über den Teiler R3 und R6 auf den konformen Signalpegel von 1 Vpp und 75 Ohm Leitungsimpendanz angepasst und über C19 gleichstromfrei an den 1:1-Impulsübertrager geleitet. Der sollte dann schon mindestens ein Übertragungsband aufweisen (beginnend bei 500 kHz bis über 185 MHz), entsprechend der 1. Harmonischen für die unterste Abtastrate von 8 kHz bis zur sicher ausreichenden 15. Harmonischen für die höchste Abtastrate. Faustregel: Abtastrate mal 64 ergibt die IEC60958-Bitrate, mal 2 für die Leitungskodierung; das Ganze geteilt durch 2 ergibt wiederum die 1. Harmonische.

Vom PCM5122 laufen die Daten je Stereokanal über den RC-Filter zur Unterdrückung der harmonischen Spiegelbilder entweder auf die 3,5mm-Klinkenbuchse oder, falls die nicht besteckt ist, auf die RCA/Cinch-Buchsen. Beide Anschlussmöglichkeiten sollten aber immer zu einem Endverstärker führen, denn für einen direkten Betrieb selbst eines Kopfhörers fällt die Treiberleistung zu gering aus.

Eine Übersicht über alle Ansteckmöglichkeiten an der Eigenbau-Soundkarte zeigt Abbildung 2.

Abbildung 2: Verbindungsfreudig – von links nach rechts: Klinke, RCA rechts/links (rot/weiß), S/PDIF (gelb), TOSLINK.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Aktuelle Ausgabe

02/2018
Digital Signage

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Neues auf der Heft-DVD

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial des Raspberry Pi. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den RasPi und Co., sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • Ferngebootet

    Das Booten über das Netzwerk beherrscht auch der RasPi 3 – und bietet damit sehr viel mehr Flexibilität, als Sie mit SD-Cards erzielen können.

  • Bleibende Werte

    Ein EEPROM dient dazu, Daten auch nach Abschalten der Energiezufuhr zu speichern, etwa als Kanalspeicher in Autoradios. Wir zeigen, wie Sie einen solchen Speicher beschreiben und wieder auslesen.

  • Auf Wolke 1

    Mit einem schnellen Netzwerkanschluss und einer SATA-Schnittstelle dient sich der Odroid HC1 als NAS-Alternative an – allerdings nicht für jedermann.

  • Wohnungsfunker

    Der kompakte Router GL.iNet dockt problemlos am Raspberry Pi an und erweitert diesen um einen Access Point samt Server-Funktion.

  • Satter Sound

    Mit zwei ICs am I2S-Bus und ein paar zusätzlichen Bauteilen erweitern Sie den Raspberry Pi um eine Soundkarte, die keine Kontaktmöglichkeit mit gängigem HiFi-Equipment scheut – von Klinke und RCA bis IEC60958, Koax-S/PDIF oder optischem TOSLINK.

  • Wer klopfet an?

    Wechselsprechanlagen mit Bild- und Tonübertragung gibt es zwar von der Stange, allerdings zu gesalzenen Preisen. Günstiger und obendrein flexibler ist ein Eigenbau mit Pi Zero und RasPi 3.

  • Wiedergeburt

    Mit dem Keyrah-Tastaturadapter und einem Raspberry Pi machen Sie aus einem defekten C64 eine optimale Emulator-Station, bei der Sie die originale Tastatur und die Joystick-Ports nutzen.

  • Kleine Nachtmusik

    Waveform8 beseitigt einige Ecken und Kanten des Vorgängers Tracktion – und macht die DAW endgültig fit für den Einsatz auf dem Raspberry Pi.

  • Recycling

    Mit einer Dockingstation lassen sich ausgemusterte IDE/SATA-Festplatten im 2,5- und 3,5-Zoll-Format am Raspberry Pi betreiben. Mit dem Samba-Server gliedern Sie den Mini-Rechner dann als Datenspeicher in Ihr lokales Netzwerk ein.