Startseite>Analoge und digitale HiFi-Soundausgabe
Aus Raspberry Pi Geek 02/2018

Analoge und digitale HiFi-Soundausgabe

© Krishna Kumar Sivaraman, 123RF

Satter Sound

Werner Hein

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].

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland