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/2019
Neue Energien

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Scheibchenweise

    Zu den Stärken von Sonic Pi gehört es, mit wenigen Zeilen Code Samples dynamisch auszuwählen und zu zerlegen.

  • Unter Strom

    Für einen kleinen Spannungsmesser wie den INA3221 gibt es viele Einsatzmöglichkeiten. Wir zeigen, wie Sie den flexiblen Baustein richtig verdrahten.

  • Vermittlungsstelle

    Fischertechnik-Modelle bieten sich zum Fernsteuern an. Mit dem Ftduino schlagen Sie die Brücke zwischen dem RasPi und dem Technik-Spielzeug.

  • Durchgeschlängelt

    Mit den M0-Boards steigen Sie unkompliziert in die Welt der Mikrocontroller ein – ganz ohne C-Kenntnisse.

  • Gesiebt und gefiltert

    Filter und Werbeblocker einzurichten ist besonders auf Smartphones aufwendig. Den eBlocker hingegen schließen Sie einfach nur an Ihren Router an.

  • Es werde Licht

    Wollen Sie bei beginnender Dämmerung nicht ständig die Helligkeit der heimischen Beleuchtung nachregeln, überlassen Sie das einfach einem RasPi – der macht es automatisch.

  • Energiekontrolle

    Der Gesetzgeber erschwert das Direktvermarkten von Strom durch technische Hürden: So muss sich die Einspeisung etwa aus der Ferne abschalten lassen. Der RasPi löst das Problem.

  • H<->2<->-Power

    Gilt es, Energie aus einer regenerativen Quelle zu speichern, erweist sich die Kombi aus einer Brennstoffzelle und dem RasPi als ideale Lösung.

  • Kleine Wolke

    Lokale Cloud-Lösungen im Heimnetz finden immer mehr Nutzer. Mit dem RasPi und Seafile haben Sie eine Lösung zur Hand, die selbst professionellen Ansprüchen genügt.

  • Planvoll verdrahtet

    Die Leiterplattendesign-Software KiCad leistet trotz einer etwas umständlichen Bedienung auch Hobbybastlern gute Dienste.