Julia - 20 Bit Wandlersystem (1)

Das Selbstbauprojekt der Zeitschrift C't wurden für den Falcon umgesetzt

Wer professionelle Wandler-Systeme für seinen Falcon benötigt, ist nicht zwingend auf den Einsatz teurer Hardware angewiesen. Mit ein wenig Bastelerfahrung und technischem Know-how wird es Ihnen gelingen, die 20Bit Audio-Digital-Wandlerkarte am Falcon einzusetzen.

Fangen wir mit den Nachteilen an: Von den 20 Bit kann die für den Falcon existierende Harddiskrecording-Software nach wie vor nur 16 Bit nutzen. Da es sich um ein Selbstbaugerät handelt, ist entsprechende Bastelerfahrung nötig. Die Kosten summieren sich zu ca. 1000,- DM. Und schließlich ist zum Betrieb der Julia am Falcon noch ein spezielles Interface erforderlich, das in diesem Artikel vorgestellt wird.

Bevor nun aber der Eindruck entsteht, die Julia sei viel zu aufwendig und lohne sich deshalb für Falcon-User gar nicht, reden wir schnell von den Vorteilen.

Technik

Kernstück der Julia sind der 20 Bit AD-Wandler CS5390 und der 18 Bit DA-Wandler CS4328 von Crystal. Dieselben Chips verwenden übrigens auch die Startrack-Karte (?) und die Gina und andere High-End-Soundkarten. Die Julia nutzt die Qualität der Chips jedoch am besten, weil sie sich durch Optokoppler von allen Störsignalen des Computers abgeschirmt in einem eigenen Gehäuse befindet. Hinzu kommen hochwertige, symmetrische Eingangsverstärker und Ausgangstreiber. Der Pegel lässt sich zwischen Line und Mikrofon (+40dB), mit einer kleinen Erweiterung auch in Abstufungen, umschalten. Während normale Soundkartenbenutzer schon dankbar für Cinch-Buchsen sind, können bei Julia über XLR-Verbindungen direkt Signalquellen aus der Studio- und Bühnentechnik, z.B. symmetrische Mikrofone, angeschlossen werden. Wer Cinch-Buchsen braucht, darf selbstverständlich auch diese einbauen.

Der Digitalteil von Julia stellt die Sample-Frequenzen 48 kHz und 44, l kHz zur Verfügung, bei Bedarf auch deren Hälften, soweit unterstützt es jedenfalls das Interface. 32 kHz fehlt leider, ließe sich durch findige Bastler, die vor Anbauten an der Julia-Platine nicht zurückschrecken, aber sicher nachrüsten.

Von der c't ausdrücklich vorgesehen ist dagegen die Möglichkeit, Funktionen, die nicht benötigt werden, bei der Bestückung der Platine einfach wegzulassen und dadurch Geld zu sparen. Das betrifft möglicherweise den Kopfhörerverstärker oder den mit über DM 100,- schon gewichtigeren S/PDIF-Teil, der bei der Julia AES/EBU heißt. Der Unterschied ist lediglich, dass ein symmetrischer Ein- und Ausgang, mit einem Trenntrafo entkoppelt, über XLR-Stecker statt (oder zusätzlich zu) Cinch-Buchsen auch hier Anschluss an die Studio-Technik bietet. Optische Verbindungen wurden wegen ihrer schlechten Qualität nicht für Julia vorgesehen, lassen sich aber durch findige Bastler (siehe oben) nachrüsten. Julia liefert die Daten im DAT-freundlichen Consu-mer-Mode, ein etwaiges Copy-Bit wird ausgeblendet.

Wir bauen uns eine Julia

Der erste Schritt zur Julia ist, von eMedia die c't-Ausgabe 6/96 mit der Beschreibung von Julia, den Schaltplänen, der Bauteileliste usw. und die Platine (69,- DM) zu besorgen. Die Bezahlung erfolgt dort übrigens am einfachsten, indem man mit der Bestellung eine Abbuchungserlaubnis erteilt. Außerdem lässt man sich von Mayer-Electronic die Sonderliste für die Julia schicken. Widerstände, Kondensatoren, die Crystal-Chips und alle Ana-log-Spezialteile gibt es nämlich dort. Für die Digital-ICs mag irgendein anderer Versandhandel günstiger sein. Ein Preisvergleich lohnt sich immer. Auch die Lieferzeiten können eine wichtige Rolle spielen. Auf die ICs für den AES/EBU-Teil musste ich bei Mayer-Electronics 3 Monate warten. Ich vermute allerdings, dass es eher an dem wenig gebräuchlichen 74HC4520 für das Interface lag, den man schlauererweise bei einer Firma bestellen sollte, die auf Digital-Chips spezialisiert ist.

Für das Gehäuse und ähnliche Teile muss man auf den Bastelladen oder den Katalog von Conrad oder Völkner zurückgreifen. Ich habe ein schickes schwarzes Stahlgehäuse 9x23x43,5cm\super 3\nosu-persub von Monacor für DM 130,- bekommen. Im Bastelladen gab es ein wundervolles Ding für den Netzanschluß, das Gerätestecker, Schalter und Sicherung in sich vereint. Ringkerntransformatoren hatten sie dort nur ab 30 VA aufwärts. Die Power kann für spätere Erweiterungen nötig sein, also OK. Bei Mayer-Electronic sind aber auch Ringkerntransformatoren mit 10VA erhältlich. Die XLR-Stecker, die ich voreiligerweise kaufte, erwiesen sich bis jetzt als Fehlinvestition. Zum einen habe ich in meiner Stereoanlage sowieso nur Cinch- und DIN-Verbindungen, zum anderen habe ich immer noch keine Idee, wie ich die Löcher für die XLR-Stecker in das Stahlblech hineinbekomme. Vielleicht versuche ich es irgendwann mit einer einfacher zu bearbeitenden Aluminiumplatte.

Gerade in diesen Fragen zählen Bastelerfahrung, Phantasie und Improvisationsvermögen. Die Platine von Julia zu bestücken, ist noch das Harmloseste. Doch ca. 100 Widerstände und 100 Kondensatoren verlangen auch hier einiges an Sorgfalt. Zu der Anleitung in c't 6/96 gab es ein paar nachträgliche Änderungen, abgedruckt in c't 9/96. Damit sich niemand dieses Heft extra besorgen muss, wird der Inhalt hier wiedergegeben, zusammen mit weiteren Ergänzungen.

In der Stückliste fehlt C77, lOOnF (wie C78), außerdem der Widerstand l Megaohm und Kondensator InF 400V~ für die Verbindung Masse am Trafo zu Gehäuse und Schutzleiter. Bei Verwendung von Ringkerntransformatoren ist übrigens eine träge Sicherung zu nehmen, je nach Leistung auch größer als 100 mA.

Die Schottky-Dioden BAT85 sind wegen ihres Reststromes ungeeignet und müssen ersetzt werden durch die 1N4148. Die Quarzoszillatoren sollen besser Anschwingen mit Rl, R3 3D 2k2 und Ll, L2 3D4,7'b5H.

An den Reed-Relais sind Dioden 1N4148 anzulöten. Anode an Pin 2, Kathode an Pin 6, wobei die Anschlüsse der Relais so zu zählen sind, als handle es sich um ein 14beiniges IC. Es gibt auch Relais mit integrierter Diode, die kosten aber gleich 1,- DM mehr, das 20fache einer 1N4148.

Und dann, oh Schreck, meine Julia hat gebrummt. Als Ursache stellte sich eine mangelhafte Dimensionierung der Spannungsversorgung für den Digitalteil heraus, deren 100 Hz-Restbrummen vermutlich über eine Modulation der Quarzfrequenz ganz schwach, aber hörbar, auf den Analogteil durchschlug. Zur Abhilfe ist entweder ein Trafo mit 7V (statt 6V) zu verwenden oder C85 auf 3300'b5F zu erhöhen.

Weitere Störgeräusche gilt es beim S/PDIF-Betrieb zu vermeiden. Wenn der Quarzoszillator der Julia auf derselben Frequenz schwingt wie die S/PDIF-Quel-le, dann kommt es zu Interferenzen im DA-Wandler, zum Glück also nur im Wiedergabeteil, Aufnahmen können nicht verdorben werden. Ein prinzipielles Problem solcher Kombi-Schaltungen. Für eine korrekte Wiedergabe braucht man jedoch nur den Quarzoszillator der Julia auf die jeweils andere Frequenz umzuschalten. Das ist die einfache Lösung. Wer den Aufwand nicht scheut, kann aber auch (zusammen mit dem 32 kHz-Anbau) einen weiteren Quarzoszillator samt Umschaltlogik spendieren, der für S/PDIF eine zusätzliche, interferenzfreie Referenzfrequenz liefert.

Die Hinweise in c't 6/96 über den Betrieb der Julia am Falcon dürfen wir ignorieren, all das wird vom Interface viel besser erledigt. Die Julia kann also ohne Zenerdi-ode und 220 Ohmwiderstand genau so aufgebaut werden, wie es die c't für PC-Besitzer vorgesehen hat.

Eine wichtige Verbesserung soll hier aber noch genannt werden. Die Reed-Relais schalten die Eingangsverstärkung nur grob zwischen Null und +40dB um. Je zwei weitere Reed-Relais, huckepack aufgelötet, ermöglichen weitere Abstufungen, wenn die Gain-Anschlüsse des Vorverstärkers nicht einfach nur kurzgeschlossen, sondern Widerstände zwischengeschaltet werden. Es sind 6k (2x12k parallel) für 6dB Verstärkung und Ik9 (Ik8 und 100) in Reihe) für 12dB. Letzteres paßt hervorragend zu den Ausgangspegeln einer normalen Stereo-Anlage. Die Schalteingänge der Relais kommen an einen Drehschalter mit 4 Stufen, wahlweise für beide Kanäle getrennt. Die Steuerungsmöglichkeit über Optokoppler entfällt in diesem Fall.

Ohnehin können wir, da der DSP-Port sowieso nur 3 GPIO-Leitungen bereithält, die meisten Fernsteuerungsfunktionen der Julia nicht nutzen. Was soll es, da sowieso alles im selben Raum steht, erfüllen ein paar Schalter am Gehäuse der Julia den Zweck genauso gut.

Der Falke ist's und nicht die Nachtigall ...

Im Original hat die Julia einen Romeo an ihrer Seite, eine PC-Karte mit dem uns wohlbekannten Signalprozessor DSP 56001, beschrieben in c't 5/96. Hinzu kamen noch weitere Artikel über die Programmierung des DSP in c't 7/96 und 9/96. Dort heißt es: Der Entwurf von DSP-Software ist deswegen so spannend, weil hier wie in alten Computer-Zeiten um die Hardware-Ressourcen noch hart gekämpft werden muss, statt für ein simples "Hallo Welt" schon ein paar Megabyte zu verbraten, wie es der Trend bei PCs ist. Das ganze Projekt "Klangwerkstatt" richtet sich also an besondere Liebhaber, die es neben der ganzen Lötarbeit auch noch spannend finden, die zugehörige Software selbst zu entwickeln.

Beim Falcon existieren jedoch bereits gute Harddiskrecording-Programme, und es ist nicht einzusehen, dass wir auf deren Komfort verzichten und wieder ganz bei Null anfangen sollen. Das Problem besteht darin, dass Romeo nicht über die Audiodaten-Matrix des Falcon verfügt. Der Kontakt zwischen Romeo und Julia läuft, so hat es die c't arrangiert, über das SSI-Interface des DSP. Das ginge beim Falcon zwar auch und die c't erwähnt diese Möglichkeit (wohlweislich ohne sie näher auszuführen), aber wir müssten eben die Software dazu selbst schreiben. Und, da die Matrix in diesem Fall nicht zu gebrauchen ist, scheidet Aufnahme und Wiedergabe per DMA aus. Wie bekämen wir bloß die Daten auf die Festplatte? Über das Host-Interface des DSP?

Bevor wir uns weiter den Kopf zerbrechen, es gibt ja nun eine Lösung, ein Interface, das das Datenformat von Julia an die Matrix und damit an die Harddiskrecording-Programme des Falcon anpaßt. Wer noch ein S/PDIF-Interface für den Falcon besitzt, kann den Datenaustausch aber auch über den S/PDIF-Anschluss der Julia laufen lassen. Damit wäre dieser Anschluss dann allerdings für andere Anwendungen verloren.

Begriffserläuterung

Klären wir zunächst ein paar Begriffe. Die Quarzfrequenz, von der sowohl Falcon als auch Julia all ihre anderen Signale ableiten, soll im folgenden Takt heißen. Die Takt-Frequenz liegt im Bereich von 25 MHz. Eine Stufe darunter liegt CLK, die Frequenz, mit der die Datenbits übertragen werden. Bei der Julia sind das z.B. 3,072 MHz, beim Falcon 6,144 MHz, genau das Doppelte. Auf der untersten Ebene haben wir dann schließlich SYNC, die Sample-Frequenz, beispielsweise 48 kHz.

SYNC zeigt mit der positiven Flanke den Beginn eines Datenwortes an, soweit ist SYNC bei Julia und beim Falcon identisch. Da sich jedoch das Tastverhältnis unterscheidet, ließen sich die Signale trotzdem nicht untereinander austauschen.

In der Zeitdauer eines Samples überträgt die Matrix des Falcon 128 Datenbits für 8 Kanäle mit je 16 Bit. Bei der Julia sind es 64 Bit für zwei Kanäle mit je 32 Bit, von denen allerdings nur 20 Bit genutzt werden. Das SSI-Interface des DSP kann auf dieses Datenformat programmiert werden, zur Synchronisation reichen dabei CLK und SYNC aus. Beim Falcon muss dazu allerdings die Matrix abgekoppelt werden, denn die versorgt ihrerseits den DSP mit CLK und SYNC und das gäbe einen Kurzschluß.

Die Matrix erzeugt CLK und SYNC aus dem Takt-Signal. Wenn wir mit Julia synchron werden wollen, geht das daher nur über den externen Takt-Eingang am DSP- Port. Am einfachsten wäre es, ein Kabel vom Quarzoszillator der Julia zum Falcon zu ziehen. Allerdings würden wir damit den Aufwand, der mit den Optokopplern getrieben wurde, zunichte machen. Um die galvanische Trennung zu erhalten, müssen wir die Quarzfrequenz auf der Falcon-Seite der Optokoppler rekonstruieren. Das macht für uns das PLL-IC 74HC4046. Der Tiefpass mit 1k und 22nF bewirkt eine enge Kopplung, denn die Frequenzen sollen nicht nur im Mittel, sondern Schwingung t für Schwingung auch in der Phase übereinstimmen. Die Kondensatoren von 680pF schützen die empfindlichen Steuereingänge des VCO vor Einstrahlungen. Die eine Hälfte des 74HC4520 sorgt für das richtige Verhältnis von 1:8 zwischen dem vom 4046 erzeugten Takt und dem als Referenz dienenden Julia-CLK. Wenn alles richtig funktioniert, muss deshalb an M2 dieselbe Frequenz zu messen sein wie J-CLK. Die Spannung an Ml muss bei Null liegen. Das Oszilloskop darf hier nur stark gedämpfte Ansätze von Nadelimpulsen zeigen, sonst haben wir zuviel Jitter. Notfalls ist ein anderer 74HC4046 auszuprobieren.

Die andere Hälfte des 4520 sorgt für die Synchronisation auf der SYNC-Ebene. Der Falcon bekommt über ein NOR-Gat-ter das Takt-Signal vom 4046 und beginnt zu zählen. Irgendwann schaltet er dabei sein SYNC-Signal auf High. Dadurch wird nun auch der Ausgang an Pin 11 des 4520 auf High gesetzt. Das NOR-Gatter wird gesperrt und der Falcon in diesem Zustand eingefroren, bis Julia endlich einsieht, dass ihre Verbindung mit Romeo sowieso keine Zukunft hätte und schließlich unserem Falcon das Ja-Wort gibt, sprich, bis J-SYNC ebenfalls auf High geht, den 4520 zurücksetzt und damit das NOR-Gatter wieder freigibt.

Von nun an zählen Falcon und Julia ihre Samples gemeinsam, synchron und voller Harmonie. Von außen können wir uns durch Messungen an M3 davon überzeugen. Die Spannung muss Null sein. Genauer zeigt es ein Einzelimpulszähler. Während des Betriebes darf an M3 absolut nichts passieren. Erlaubt sind ein paar Impulse (ca. fünf), wenn das Interface neu synchronisiert, z.B. wenn das Harddiskrecording-Programm zwischen Aufnahme und Wiedergabe umschaltet. Voraussetzung für all das ist natürlich, dass in dem Programm vorher der externe Takt und die Matrix als Eingang ausgewählt wurden. Wer Samples aus der Frühzeit des Falcon in Juliaqualität hören möchte, muss sie zuvor einer Frequenzkonvertierung unterziehen, denn der interne Takt des Falcon liegt für Julia unerreichbar jenseits der Optokoppler. Beim Versuch einer Wiedergabe mit z.B. 49,170 kHz zeigt M3 nur wilde Interferenz, und Julia müsste an ihrem (Kopfhörer-)Aus-gang ein empörtes Pfeifen von sich geben, würde nicht eine Stummschaltung an Pin 1 und 15 des Multiplexers 74HC153, der die Daten von den Schieberegistern (kommt gleich) wieder einsammelt, dieses Ungemach verhindern.

Wer die Mühe scheut, den 74HC4520 extra irgendwo zu bestellen, kann bei Beachtung der etwas anderen Anschlussbelegung auch den leichter erhältlichen 74HC393 nehmen. Allerdings muss dafür F-SYNC invertiert werden. Dazu eignet sich das NOR-Gatter, das im Moment für GPIO 0 verwendet wird. Um GPIO 0 umzudrehen, nimmt man dann einen Transistor und ein paar Widerstände. Die Schaltung ist auf den Audiotracker abgestimmt, der richtet sich wiederum nach der Hardware von SoundPool. Andere Programme verlangen vielleicht andere Zuordnungen und Polaritäten von GPIO 0 (Umschaltung der Takt-Frequenz) und GPIO 2 (Umschaltung zwischen S/PDIF und ADAT bzw. dem Digital- und Analogeingang der Julia, im Schaltbild versehentlich mit GPIO 1 bezeichnet).

Teil zwei des Artikels folgt in Heft 10/99. Darin erhalten Sie weitere technische Details sowie die Bezugsquellen für das Julia-Kit.


Gerhard Knapienski
Aus: ST-Computer 09 / 1999, Seite 40

Links

Copyright-Bestimmungen: siehe Über diese Seite