Forum: Mikrocontroller und Digitale Elektronik I2S Clock zwischen mehreren Platinen


von Matthias M. (Gast)


Lesenswert?

Guten Tag :) Auch wenn das Wetter viel zu schön ist um sich darüber 
Gedanken zu machen zerbrich ich mir grad den Kopf wie ich am besten ein 
I2S Signal platzsparend von einer Platine zur nächsten Übertrage.

Da das Signal besteht ja aus Wordclock, Bitclock, Data, Masterclock und 
GND.

Masterclock liegt bei bis zu knapp 25MHz.

Müssen die Leitungen geschirmt werden? Einen Steckverbinder für 4 Drähte 
+ Schirm stell ich mir innerhalb eines Gerätes etwas schwierig vor. 
Anfangs wollte ich es mit JST PH Steckverbindern machen, find aber kein 
passendes geschirmtes Kabel.

Eventuell mach ich mir zu viele Gedanken und man kann den Schirm 
weglassen und einfach mit normaler Litze etwa 10cm zwischen Platinen 
überbrücken?!

Danke schon mal für die Antworten.
Gruß
Matthias

von Thosch (Gast)


Lesenswert?

Matthias M. schrieb:
> Masterclock liegt bei bis zu knapp 25MHz.
vermutlich 24,576MHz

> Anfangs wollte ich es mit JST PH Steckverbindern machen, find aber kein
> passendes geschirmtes Kabel.
auf kurzen Strecken innerhalb eines Gerätes brauchste nicht zwingend 
eine Schirmung. Würde aber Massebegleiter empfehlen, also ein 
Flachbandkabel nehmen und jede zweite Ader als Masse beschalten.

also z.B. ein 10-poliges Flachbandkabel mit entsprechendem 2-reihigen 
Pfostenverbinder zum ancrimpen.
Wenn du da alle ungeraden Pins mit Masse belegst (eine Reihe des 
Pfostenverbinders), kommt der Master-Clock auf pin 2 (hat Pin 1 als 
Massebegleiter am Rand) der Bitclock auf Pin 4 usw.

Auf der Sendeseite einen Serienwiderstand von ca. 33 Ohm - 100 Ohm in 
jeder Signalleitung vorsehen, und auf der Empfangsseite ggf. noch einen 
AC-Abschluß (100 Ohm in Reihe mit 100pF gegen GND)

Wenn du Platz sparen willst, nimm Pfostenverbinder im 1,27mm Raster, 
ansonsten das 2,54mm Standard-Zeug, was man eh in der Bastelkiste liegen 
hat.

Gruß,
Thorsten

von Matthias M. (Gast)


Lesenswert?

Danke das ist ein guter Tipp :)

von Falk B. (falk)


Lesenswert?


von Daniel D. (Firma: privat) (daniel_ventura)


Lesenswert?

Ich hol den Thread mal wieder hoch da ich genau vor der gleichen 
Herausforderung stehe, nämlich an einem DAC i2s parallel abgreifen und 
an einen SPDIF Transmitter weiterleiten.
in den i2s Zuleitungen zum DAC sind schon serienwiderstände verbaut, 
wäre es denn grundsätzlich überhaupt ok/gut direkt an den dac (i2s in) 
Pins abzugreifen oder hat das einen Impact auf den dac selbst oder 
verkraftet der das? signalstrecke zum spdif Transmitter sind auch ca 
15cm die ich auch gern mit nem flachbandkabel mit jeder 2ten ader masse 
verschalten würde.

vielen Dank schonmal für eure Hilfe!

von Falk B. (falk)


Lesenswert?

Daniel V. schrieb:
> Ich hol den Thread mal wieder hoch da ich genau vor der gleichen
> Herausforderung stehe, nämlich an einem DAC i2s parallel abgreifen und
> an einen SPDIF Transmitter weiterleiten.

Kommt auf die Leitungslänge an.

> in den i2s Zuleitungen zum DAC sind schon serienwiderstände verbaut,
> wäre es denn grundsätzlich überhaupt ok/gut direkt an den dac (i2s in)
> Pins abzugreifen

Siehe oben.

> oder hat das einen Impact auf den dac selbst oder

Impact? Was soll da einschlagen? Ein Meteorit? Oder meinst du den 
EINFLUß auf die Signalqualität?

> verkraftet der das? signalstrecke zum spdif Transmitter sind auch ca
> 15cm die ich auch gern mit nem flachbandkabel mit jeder 2ten ader masse
> verschalten würde.

Kommt auf die Art der Terminierung an. Bei Punkt zu Punkt (neudeutsch 
Point to Point) reicht Serienterminierung. Dann kann man aber nur einen 
Empfänger anschließen, vor allem an den Takt. Warum das so ist, steht im 
Artikel Wellenwiderstand.

Will man mehrere Empfänger an einen Sender anschließen (neudeutsch multi 
drop), braucht man vor allem beim Takt eine Parallel- oder 
Theveninterminierung, ggf. auch AC-Terminierung. Dann kann man die 
Leitung vom I2S Sender zum DAC legen und von dort weiter zum 
SPDIF-Interface.

Wenn man nicht auf AC-Terminierung wechseln kann oder will, muss man nah 
am DAC einen Puffer einfügen, welcher die Signal puffert und als neuer 
Sender zum SPDIF-Interface schickt, dann auch wieder mit 
Serienterminierung.

von Daniel D. (Firma: privat) (daniel_ventura)


Lesenswert?

vielen Dank für deine Antwort Falk,
wenn ich das (mit meinen beschränkten etechnik Kenntnissen) richtig 
verstehe geht das dann offenbar nicht so einfach mal eben parallel die 
i2s Leitungen abzugreifen?
die Situation ist so, dass die Leitungen/Leiterbahnen, die den verbauten 
dac mit i2s versorgen, bereits mit serienwiederständen bestückt sind.
wie gehe ich nun am besten (und vor allem am einfachsten) vor parallel 
das is2 abzugreifen ohne dass die bestehende i2s strecke beeinträchtigt 
wird.
Entschuldige die vielleicht dumme Fragerei ich habe mit so 
Terminierungen\etc noch nie was zu tun gehabt.

Ich habe ein Versuchsobjekt an dem ich mich einfach mal mitten in die 
Leitungen reingehängt hab, zwischen den serienwiderständen - denn der 
Hersteller war so nett, dort test-punkte zu installieren/abzuzweigen, da 
bin ich einfach mal drangegangen mit dem spdif Transmitter, was auch auf 
anhieb funktioniert hat ebenso hat auch der verbaute dac noch 
einwandfrei seinen dienst verrichtet.
Das war wie gesagt nur ein versuchsaufbau bzw. Training. ich will das 
Ganze jetzt an einem anderen (teuren) Gerät durchführen und da soll 
alles passen.
Würdet ihr generell empfehlen direkt am dac(in) abzugreifen oder so nah 
am dsp (und damit vor den serienwiderständen) wie nur möglich?

sorry nochmals für die vielleicht laienhafte Fragerei und vielen Dank 
schonmal für eure Hilfe, wenns was hilft hätte ich auch den Schaltplan 
der i2s strecke parat. :-)

: Bearbeitet durch User
von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Daniel V. schrieb:

> verstehe geht das dann offenbar nicht so einfach mal eben parallel die
> i2s Leitungen abzugreifen?

Einfach ist relativ.

> die Situation ist so, dass die Leitungen/Leiterbahnen, die den verbauten
> dac mit i2s versorgen, bereits mit serienwiederständen bestückt sind.

OK.

> wie gehe ich nun am besten (und vor allem am einfachsten) vor parallel
> das is2 abzugreifen ohne dass die bestehende i2s strecke beeinträchtigt
> wird.

Steht oben. Du braucht einen Puffer, welcher die Signale auffrischt und 
neu sendet. Da I2S nur 3 Signale hat, reichen je 2 Interter in Reihe, 
der 74HC04 ist dein Freund. Siehe Anhang. Die Serienwiderstände am 
Ausgang sind wieder ein Serienterminierung, damit kann man wieder 
relativ lange Kabel ohne Stress treiben. Bei relativ kurzen Kabel unter 
10cm kann man sie ggf. weglassen.

> Entschuldige die vielleicht dumme Fragerei ich habe mit so
> Terminierungen\etc noch nie was zu tun gehabt.

Na da kannst du ja ins Kino gehen, wenn Terminator 6 rauskommt ;-)
(Lieber nicht, Teil 5 wart schon grottenschlecht, Nr. 6 wird kaum besser 
sein)

> Ich habe ein Versuchsobjekt an dem ich mich einfach mal mitten in die
> Leitungen reingehängt hab, zwischen den serienwiderständen - denn der
> Hersteller war so nett, dort test-punkte zu installieren/abzuzweigen, da
> bin ich einfach mal drangegangen mit dem spdif Transmitter, was auch auf
> anhieb funktioniert hat ebenso hat auch der verbaute dac noch
> einwandfrei seinen dienst verrichtet.

Naja, es ist auch immer eine Frage, wie giftig die Empfänger auf nicht 
perfekte Signale reagieren, vor allem was die Taktflanken angeht. 
Eigentlich sollte ein SPDIF Tranceiver, der gerade mal mit lausigen 6 
Mbit/s unterwegs ist, da eher rustikal sein.

> Würdet ihr generell empfehlen direkt am dac(in) abzugreifen oder so nah
> am dsp (und damit vor den serienwiderständen) wie nur möglich?

Beides ist möglicht, wenn man einen Puffer nutzt. Man darf aber mit der 
Verbindung I2S-Puffer keine zu lange Stichleitung erzeuge, das macht den 
Effekt des Puffers wieder zunichte. Ich sag mal, man sollte unter 50mm 
Leitungslänge bleiben, je kürzer umso besser. Und die Masse nicht 
vergessen, die muss auch NAH an den Signalen geführt werden!

von Daniel D. (Firma: privat) (daniel_ventura)


Lesenswert?

vielen Dank Falk für die ausführlichen Infos, das hilft mir weiter :-)

ich müsste auch mclk mit auf den spdif Transmitter bringen, diese würde 
ich direkt am Erzeuger abgreifen (da ist freundlicherweise auch ein 
Testpunkt) sollte die mclk auch über nen Inverter laufen?

von Falk B. (falk)


Lesenswert?

Daniel V. schrieb:
> ich müsste auch mclk mit auf den spdif Transmitter bringen, diese würde
> ich direkt am Erzeuger abgreifen (da ist freundlicherweise auch ein
> Testpunkt)

Und der geht NUR auf den Testpunkt? Nicht noch woanders hin?

> sollte die mclk auch über nen Inverter laufen?

Kommt drauf an. Wenn der MCLK keine weiteren ICs treibt, kann man den 
direkt verwenden, wobei sich auch hier die Frage nach der 
Serienterminierung stellt.
Wenn aber auch dort noch andere ICs dranhängen, muss man einen Puffer + 
Serienterminierung nutzen.

von Daniel D. (Firma: privat) (daniel_ventura)


Lesenswert?

mclk geht noch zu ganz vielen anderen Destinationen wenn ich das richtig 
sehe, was auch absolut sinn macht bei ner mclk :-)
das bedeutet es sollte auch durch so nen hex Inverter mit Terminierung, 
richtig?

von Falk B. (falk)


Lesenswert?

Ja.

von Daniel D. (Firma: privat) (daniel_ventura)


Lesenswert?

Kannst du einen hex Inverter empfehlen der mehr ports hat? also so dass 
ich die 4 Leitungen an einem chip verarbeiten könnte?

von Falk B. (falk)


Lesenswert?

Daniel V. schrieb:
> Kannst du einen hex Inverter empfehlen der mehr ports hat? also so dass
> ich die 4 Leitungen an einem chip verarbeiten könnte?

Nimm einen nichtinvertierenden Treiber ala 74HC125 oder 74AHC125, der 
hat 4 Gatter. Die Enable-Eingänge auf LOW legen.

von Daniel D. (Firma: privat) (daniel_ventura)


Angehängte Dateien:

Lesenswert?

ich hab jetzt heut einen i2s zu spdif Transmitter geschickt bekommen der 
offenbar schon einen 74VHC04 on board hat was ja grunsätzlich sehr 
praktisch ist. ich brauch allerdings definitiv ca 15cm 
Zuleitung/Stichleitung vom dac zu dem Transmitter meinst du das würde 
gehen?
Ich hab mal ein Bild des Transmitters angehängt.
es handelt sich bei dem Transmitter um folgendes Modell:
https://de.aliexpress.com/item/32869270358.html

vielen Dank schonmal für deine Hilfe Falk!

von Falk B. (falk)


Lesenswert?

Daniel D. schrieb:
> ich brauch allerdings definitiv ca 15cm
> Zuleitung/Stichleitung vom dac zu dem Transmitter meinst du das würde
> gehen?

Ich verstehe nicht so ganz, von wo nach wo dieser 15cm Leitung gehen 
sollen.
Siehe Netiquette.

von Wollvieh W. (wollvieh)


Lesenswert?

Ich habe das mal in einer Notstrom-Batterieversorgung gesehen: 2m 
Flachbandkabel quer durch zwei Fächer im Schaltschrank, und die 
einzelnen Baugruppen mit speziellen I2C-Puffern (wahrscheinlich auch 
bloß 7404 in neuen Schläuchen.)

Leider ist mir die IC-Bezeichnung entfallen, aber in den Datenblättern 
waren ausführliche Betrachtungen zu Kabellängen, Signaltaktfrequenz, 
Terminatoren ;) und Stichleitungen.

(Wenn ich tief genug krame fallen sie mir vielleicht wieder in die 
Hände, aber google dürfte schneller sein. Waren 8-Beiner meine ich.)

von Daniel D. (Firma: privat) (daniel_ventura)


Lesenswert?

sorry du hast natürlich recht, ich sollte das genauer beschreiben:

mit den 15cm meine ich die Leitungslänge vom Abgriff (am DAC i2s Input) 
zum Transmitter.
Also quasi das was du vorher schon beschrieben hattest was nicht länger 
als 5cm sein sollte.
Wäre es sinnvoller den Transmitter so dicht wie nur möglich (vllt 2cm) 
an den I2S Abgriff zu hängen und lieber die spdif Leitung zu verlängern, 
also die rca buchse am Transmitter zu entfernen und dort ein (gutes 
Kabel) anzubringen um damit die rca Buchse am Gerät hinten rauszuführen?

: Bearbeitet durch User
von Klaus R. (klara)


Lesenswert?

Daniel D. schrieb:
> mit den 15cm meine ich die Leitungslänge vom Abgriff (am DAC i2s Input)
> zum Transmitter.

Ist hier der Master-Clock mit 25 MHz beteiligt oder geht es nur um den 
I2S - Clock mit 3 MHz? Bei 3 MHz spielen 15 cm noch die Rolle.
mfg Klaus

von Falk B. (falk)


Lesenswert?

Klaus R. schrieb:
> Ist hier der Master-Clock mit 25 MHz beteiligt oder geht es nur um den
> I2S - Clock mit 3 MHz? Bei 3 MHz spielen 15 cm noch die Rolle.

FALSCH! Die Flankensteilheit ist entscheidend, nicht die Frequenz! Siehe 
Wellenwiderstand.

von Falk B. (falk)


Lesenswert?

Daniel D. schrieb:
> sorry du hast natürlich recht, ich sollte das genauer beschreiben:

Mach doch mal ein gescheites BILD!!!

> mit den 15cm meine ich die Leitungslänge vom Abgriff (am DAC i2s Input)
> zum Transmitter.

Ja wo denn? Was ist denn der DAC und was der Transmitter? Ich bin weder 
Hellseher noch I2C-Freak, der alle ICs und Boards kennt.

> Wäre es sinnvoller den Transmitter so dicht wie nur möglich (vllt 2cm)
> an den I2S Abgriff zu hängen

Sind die auf dem gleichen Board?

> und lieber die spdif Leitung zu verlängern,
> also die rca buchse am Transmitter zu entfernen und dort ein (gutes
> Kabel) anzubringen um damit die rca Buchse am Gerät hinten rauszuführen?

Das ist einfacher, denn das SPDIF-Kabel kann so oder so länger sein, 
denn das ist be korrektem Aufbau auch terminiert (75 Ohm).

von J. S. (engineer) Benutzerseite


Lesenswert?

Daniel D. schrieb:
> Wäre es sinnvoller den Transmitter so dicht wie nur möglich (vllt 2cm)
> an den I2S Abgriff zu hängen und lieber die spdif Leitung zu verlängern,

Das wäre sogar SEHR sinnvoll, denn S/PDIF ist ja genau dafür gedacht, 
einen Datenstrom über Distanzen zu bringen. Der Unterschied ist nur, 
dass du eine clock recovery brauchst und damit Qualität verlierst.

Da du in deinem Fall ohnehin auf S/PDIF gehst, ist das einerlei.

25MHz liegen bei meinen designs auch schon mal frei verdrillt in der 
Luft. Allerdings synchen sich die FPGAs selber. Die Frage ist, ob du 
aber wirklich den MCLK benötigst.

von J. S. (engineer) Benutzerseite


Lesenswert?

Falk B. schrieb:
> FALSCH! Die Flankensteilheit ist entscheidend, nicht die Frequenz!

Die Frequenz ist insoweit bedeutsam, als das Reflektionen auch bei der 
besten Terminierung nicht wegzubekommen sind und damit einfallende 
Reflektionen bei bestimmten Taktfrequenzen auch neue Flanken fallen. 
Daher ist es ein grosser Unterschied, ob ich ein 25MHz S/PDIF (192kHz) 
oder nur ein 6.3MHz (48kHz) übertragen will.

von Daniel D. (Firma: privat) (daniel_ventura)


Angehängte Dateien:

Lesenswert?

ich konnte inzwischen den Schaltplan besorgen, die stelle an der ich 
abgreifen möchte hab ich mal rot markiert.
falls von Interesse: der DAC an dem ich abgreifen möchte ist ein AKM 
AK4558.

mclk brauche ich, da mein Transmitter keine Eigene generieren kann.

wenn ich tatsächlich an der Stelle abgreife wie ich es rot markiert 
habe, muss ich dann noch widerstände einbringen bevor es in den Inverter 
auf dem spdif tranmitter board geht?

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Daniel D. schrieb:
> ich konnte inzwischen den Schaltplan besorgen, die stelle an der ich
> abgreifen möchte hab ich mal rot markiert.

Meine Güte, du hast echt einen Tunnelblick!

https://www.mikrocontroller.net/articles/Netiquette#Klare_Beschreibung_des_Problems

"Daran denken, dass die Leute im Forum nicht neben einem sitzen und 
alles so vor sich sehen wie der Fragesteller"

>wenn ich tatsächlich an der Stelle abgreife wie ich es rot markiert
>habe, muss ich dann noch widerstände einbringen bevor es in den Inverter
>auf dem spdif tranmitter board geht?

Nein, denn der Inverter soll ja sehr nah an die Pins ran, sodaß 
Laufzeiteffekte nicht wirksam werden. Sprich, die Leitungslänge bzw. 
deren Laufzeit zwischen DAC und Inverter sollte kleiner als ca. 1/6 der 
minimalen Anstiegszeit sein. Bei geschätzten 5ns sind das ~15cm. 
Praktisch würde ich aber eher unter 5cm bleiben wollen, denn die Signale 
werden ja noch anderweitig auf deinem Board benutzt.

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
Noch kein Account? Hier anmelden.