Hallo zusammen, ich stelle mir gerade die Komponenten für einem Kopfhörerverstärker mit DAC zusammen und möchte/muss zwei I2S-Datenströme multiplexen. Gibt es dafür optimierte ICs? Aus dem Analog Switches Selection Guide von TI bin ich nicht wirklich schlau geworden und ein mechanisches Relais möchte ich eigentlich vermeiden. Vielen Dank im Voraus! Rüdiger
I2S ist ziemlich schnell. Ich kenne momentan keinen IC, der das von Hause aus kann. Mit einem DSP oder FPGA sollte dies ohne Weiteres möglich sein. Ein Beispiel, in dem ein Controller (naja, mehrere ;-)) ein I2S-Signal digital weiterverarbeitet und wieder ausgibt, ist hier zu finden: Beitrag "SD-Karten-Wave-Recorder"
Danke für deine Antwort, das hatte ich befürchtet. Ich werde nochmal eine Anfrage an TI diesbezüglich machen, und wenn's da nichts gibt, wird es eben doch ein Relais. Gruß, Rüdiger
@ Travel Rec. (travelrec) Benutzerseite >I2S ist ziemlich schnell. Naja, die paar Mbit/s sind heute eher Schneckentempo. > Ich kenne momentan keinen IC, der das von >Hause aus kann. Was nicht heisst, dass es keinen gibt. ABer I2S ist sehr einfach aufgebaut, das bekommt man fix mit einem kleine CPLD gebacken. Vielleicht soagr mit ein paar TTL-ICs! MFg Falk
Spricht was gegen Bustreiber mit Trisate Ausgängen? Wenn du nur zwischen deinen I2S umschalten wilst ist das wohl das kostengünstigste und einfachste. Cheers, Ritchie
Hallo Falk, CPLDs sind (noch) nicht in meinem Skill-Portfolio. Da ich sie bisher noch nicht gebraucht habe und Hobbyzeit priorisiert werden muss, kann ich sie daher leider nicht verwenden. Gruß, Rüdiger
Hallo Ritchie, verstehe ich dich richtig: Ich nehme zwei 74HC126 und lege deren Ausgänge zusammen an den Eingang des DACs. Durch die Ansteuerung der Controleingänge muss ich halt sicherstellen, dass ich keinen Kurzschluss erzeuge, indem ich beim Umschalten immer die Ausgänge beider ICs zuerst hochohmig schalte (Control auf Low) und dann erst die Control-Pins des durchzuschaltenden Pfades auf High lege. Klingt super, jedoch bin ich unschlüssig, ob die angegebenen "propagation delay times" von typisch 12 ns mir nicht das Signal ruinieren könnten. Sobald diese Verzögerungen zwischen den einzelnen Pfaden im Chip unterschiedlich sind, ist das I2S-Signal hinüber. Hat das jemand schon mal gemessen? Gruß, Rüdiger
Hallo Rüdiger, da du die Treiber bei all den 3 Singnale (BCK, LRCK, Data) deines I2S hast spielen die "propagation delay times" fast keine Rolle mehr. Die ganze I2S Verarbeitung läuft ja synchron, du hast also immer eine halbe BCK Clock time zur Verfügung (ca 30ns). Des weiteren sind die "propagation delay times" innerhlab eines 74xx126 ziemlich konstant. Auch gibt es schneller Bausteine als dein HC126, Der LV126 sit mit typisch 9ns spezigiziert. Es gibt sicher noch schnellere. Pullups/downs an den Eingänge des DA-Wandlers vorsehen, es kann ja sein das alle deine HC126 Tri-State sind. Eventuell musst du dir Gedanken über das Layout deiner BCK, LRCK machen. Dies vor allem zwischen den Treiber und den DA Eingänge, da du dort nicht mehr Punkt-Punkt Verbindungen hast. Wie hoch wird dein BCK bzw. deine fs? Gruss, Ritchie
Noch ein Nachtrag, du könntest auch ein TAS3108 verwenden http://focus.ti.com/docs/prod/folders/print/tas3108.html ist zwar etwas Overkill aber du könntest dan deine I2S Signale mischen usw. Cheers, Ritchie
Viele DACs und Codecs haben auch eine Mute-Funktion. Du könntest beide gleichzeitig am Bus hängen haben und den jeweils nicht benötigten per Software muten.
"HC" ist evtl. zu langsam. Hatte schon einmal Probleme damit bei 12 MHz. SN74ALVC126 würde ich mal versuchen. - oder eben die bereits vorgeschlagene Lösung mit Muten des nicht benötigten DACs...
@ROFL Aber der OP will mehrere I2S Quellen (ADCs) an einen DAC anschliessen. Bei den ADCs die ich kenne ist das "Mute" sein Softwarefunktion, die Bausteine treiben immer noch die Signale an ihren I2S Pins. Hast du ein Beispiel eines ADCs der wie von dir beschrieben sein I2S auf Tristate scaltet? Das HC ev. zu langsam ist und besser LV verwendet werden soll stand schon in meine Posting oben. Cheers, Ritchie
Ich habe sehr gute Erfahrungen mit dem Analogschalter CD74HC4316M in genau diesem Anwenungsfall gemacht. Grundsätzlich kannst du den bis mehrere 10MHz verwenden ohne dass das Übersprechen ein Problem darstellt. Alternativ fällt mir noch der SRC4382 als MUX mit integriertem SRC ein.
Erstmal besten Dank an alle, ihr habt mir sehr weitergeholfen! @Kernighan: fs soll 96 kHz betragen, einen Audio Processor wie den TAS3108 wollte ich explizit nicht verwenden. Ich werde mal den 74LV126 mit dem CD74HC4316 vergleichen. @programinator: Das MUXen möchte ich gerne hinter dem SRC machen, da ich lediglich nach dem SPDIF-Receiver upsampeln muss, während ich beim USB-Receiver direkt die gewünschte Sample-Frequenz als Output erhalte. Den Aufbau des DACs werde ich dann entsprechend des Blockschaltbildes in meinem ersten Posting angehen, der gestrichelte Teil (als Option gedacht) für die USB-Verarbeitung entfällt damit. Als Zwischenschritt auf dem Weg zum DAC realisiere ich zunächst einen analogen HPA auf Eaton-Basis, wobei ich die Netzteile (ich werde eigene Spannungsversorgungen für +/-15V, +5V und +3,3V auf Basis der sigmas 11 und 22 vorsehen) und die Steuerung (es sind zwei optogekoppelte ATmegas vorgesehen - einer mit "schmutziger" Spannungsversorgung für die Bedienelemente und das Soft-Power-On, einer mit "sauberer" Spannungsversorgung für die Überwachung der Netzteilspannugnen und der Kommunikation mit den Audio-ICs) in diesem Projekt qualifiziere und später im DAC weiterverwenden werde. Die Netzteilplatinen sind Dienstag gekommen, den analogen Eaton-Amp werde ich heute testen, die Schaltpläne für die Steuerung sind fertig und mit der Controller-Software fange ich in der nächsten Woche an. Ich halte euch auf dem Laufenden! Gruß, Rüdiger
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.