Forum: Mikrocontroller und Digitale Elektronik Shared Clock-Leitung: Wellenwiderstand, Anpassung etc.


von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Hallo zusammen,

ich möchte mehrere eigenständige Module bei Bedarf mit einer 
shared-clock leitung für ihre ADCs versehen.
Auf jedem Modul ist ein CortexM4 auf 120MHz, außerdem aber auch ein ADC 
mit eigener 2.048MHz clock. Der Cortex liest den ADC aus. Wenn ich nun 
mehrere Module verwende, würde ich gerne das sampling CLK signal eines 
(master) ADCs für alle anderen ADCs mitverwenden. Das ist auch möglich 
und dafür eingerichtet, man kann die ADCs konfigurieren den clk 
auszugeben oder wahlweise einen externen zu verwenden.

Die einfache Frage lautet nun: Es sind kleine Module und 
Interconnections würden über einen Stecker mit Kabel passieren, die 
nicht länger als 30cm sind.

Bei 2.048MHz ergibt sich ja nun eine Wellenlänge von 146m - was ja noch 
einige Größenordnungen über meiner Anwendung/ lambda/2, /4 oder /8 
liegt. Ist da eine Anpassung etc. trotzdem notwendig? Oder kann ich das 
Signal einfach gnadenlos ohne größere Gedanken mit einem kurzen 
kabelstecker "umherleiten"?

Grüße
Alex

: Bearbeitet durch User
von 6a66 (Gast)


Lesenswert?

Alex V. schrieb:
> Die einfache Frage lautet nun: Es sind kleine Module und
> Interconnections würden über einen Stecker mit Kabel passieren, die
> nicht länger als 30cm sind.

Hallo Alex,

heißt das daß die zu überbrückende Länge gesamt nicht 30cm 
überschreitet? Dann sollten die 2MHz kein Problem sein, verwende einen 
Leitungstreiber der nicht zu steil ist.
Willst Du mehrere Module hinterainander verketten? Wie lange wird die 
längste Strecke. Beachte auch die Abstrahlung (EMV).

rgds

von Pandur S. (jetztnicht)


Lesenswert?

Allenfalls einen Multidrop LVDS, oder RS485. Mit singleended Signalen 
generiert man GND Noise.

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

6a66 schrieb:


Hi rgds,

> heißt das daß die zu überbrückende Länge gesamt nicht 30cm
> überschreitet?

ja

> verwende einen Leitungstreiber der nicht zu steil ist.

Bislang wollte ich den ADC die leitung selber treiben lassen, weil er 
für daisychain (und das clk sharing) ausgelegt ist. allerdings bezieht 
das wahrscheinlich eher benachbarte ADCs auf derselben PCB ein und nicht 
unbedingt meinen Fall.

> Willst Du mehrere Module hinterainander verketten?

Nein, wohl eher parallel (die clkleitung würde dann sternförmig 
weggehen)

> Wie lange wird die längste Strecke. Beachte auch die Abstrahlung (EMV).

Dann jeweils max. 30cm. Ist EMV nicht auch wieder eine Anpassungssache 
(also wenn Leitung herzscher dipol mit labmda/2/4/8 wird)?

Um die Abstrahlung/Flankensteilheit zu reduzieren könnte ich ja onboard 
noch einen RC vorschalten...?

Jetzt N. schrieb:
> Allenfalls einen Multidrop LVDS, oder RS485. Mit singleended Signalen
> generiert man GND Noise.

Danke für das Stichwort, ich bin da noch völlig unbeleckt. habe eine TI 
application note dazu gefunden. Ob ich das Signal aber differenziell 
übertragen bekomme weiß ich in diesem Fall noch nicht

von Pandur S. (jetztnicht)


Lesenswert?

>Ob ich das Signal aber differenziell übertragen bekomme weiß ich in diesem Fall 
noch nicht

Von selbst geht das nicht. Nur mit Treibern und Empfaengern. Eine Frage 
der Anforderungen.

von Georg (Gast)


Lesenswert?

Alex V. schrieb:
> ich möchte mehrere eigenständige Module

Wie viele denn maximal?

Abgesehen davon: 2 MHz sind problemlos, nicht aber die Flankensteilheit 
- ist die zu hoch, hat das Clk-Signal keine sauberen Flanken und das 
kann trotz der "nur" 2 MHz Ärger machen. Am besten Treiber mit 
angepasster Flankensteilheit verwenden (> 10 ns).

Georg

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Georg schrieb:
> Wie viele denn maximal?

maximal 4!

Georg schrieb:
> Am besten Treiber mit
> angepasster Flankensteilheit verwenden (> 10 ns).

Ohne treiber komme ich aber in dem fall nicht aus?
Der ADC den ich verwende ist der ADS1299

von Falk B. (falk)


Lesenswert?


von 6a66 (Gast)


Lesenswert?

Alex V. schrieb:
> maximal 4!

Also bei 4 Empfängern und 2 MHz denke ich nicht dass da spezielle 
Treiber notwendig würden. Nimm einfach einen normalen Inverter (z.B. 
LVT04) doppelt hintereinander (Phasenlage) und gut ist. Wenn die 
Flankensteilheit zu hoch wird nimm einfach einen gutmütigeren Treiber 
(HCT o.ä.). Das mit dem RC-Glied kann helfen kann aber auch 
kontraproduktiv werden (zu geringe Flankensteilheit). Aber bei 2MHz 
hätte ich da wenig Bauchschmerzen.


rgds

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

6a66 schrieb:
> Nimm einfach einen normalen Inverter (z.B.
> LVT04) doppelt hintereinander (Phasenlage)

in Ordnung, Danke!! Ob nun aber spezieller treiber oder nicht: Ihr meint 
der ADC alleine reicht nicht aus? Wenn er schon einen CLK output für 
Daisy Chain hat?

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

6a66 schrieb:
> Nimm einfach einen normalen Inverter (z.B.
> LVT04) doppelt hintereinander (Phasenlage) und gut ist

Ich werde jetzt einen 2-Input AND Gate nehmen (TC7SZ08F). Dann kann ich 
auch mit dem µC die clk ausgabe zu/abschalten (eingang 1 high/low)

von Falk B. (falk)


Lesenswert?

@Alex V. L. (bastel_alex) Benutzerseite

>Ich werde jetzt einen 2-Input AND Gate nehmen (TC7SZ08F).

Vollkommen falsche Wahl.

So schnell wie nötig, so langsam wie möglich.

Dieses Ding oben hat vielleicht 1-2ns Anstiegszeit, da schreit nach 
Reflektionen selbst bei kurzen Leitungen. Ein Inverter der guten, alten 
HC-Familie hat um die 5-10ns, deutlich entspannter. Bei 2 MHz kann man 
auch noch weiter runter gehen, wenn man DEFINIERT langsame Treiber 
findet und die Takteingänge möglichst Schmitt-Trigger haben.

Siehe Wellenwiderstand

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Danke Falk!
Den Beitrag zum Wellenwiderstand habe ich mir jetzt auch nochmal 
durchgelesen - vorher nur nicht, weil ich nur an Taktrate und nicht 
Flankensteilheit gedacht hatte, wie man oben sieht.

Ich würde allerdings aus Anwendungsgründen trotzdem gerne AND-Gatter 
nutzen statt inverter (s.o.: zu/abschalten). Mit deinem Hinweis habe ich 
jetzt den
TC7SH08F im Auge 
(http://www.digikey.de/product-detail/de/TC7SH08F,LJ%28CT/TC7SH08FLJ%28CTCT-ND/4971170), 
der hat unter meinen Bedingungen (3V Betrieb) typ. 6.2 (15pF CL) bis 8.7 
(50pF CL) ns tpLH/tpHL.

Nur zur Sicherheit: Unter Zuhilfenahme des Wellenwiderstand-Artikels 
ergäbe das eine maximal zulässige Leitungslänge von

21cm/ns * 1/6 * 6.2ns ("worst case speed") = 20.4cm

damit keine Terminierung notwendig ist - und auf die würde ich gerne 
verzichten. 20cm kommt ungefähr hin, unter 25cm könnte ich garantieren.

Soweit diesmal alles richtig/praktikabel?

: Bearbeitet durch User
von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

6a66 schrieb:
> nimm einfach einen gutmütigeren Treiber
> (HCT o.ä.)

Darüber gerade noch den 74HCT1G125 
(http://www.digikey.de/product-detail/de/74HCT1G125GV,125/568-7746-1-ND/2753890) 
gefunden (kein AND gatter aber TriState Ausgang): Bei dem bewegen sich 
die tpLH/tpHL bei 3V Versorgung im Bereich von 24-125ns.
Das wäre ja nun optimal zwecks Flankensteilheit/Leitungslänge - aber
liegt das bereits zu nah an der Periodendauer des Taktsignals (2.048MHz 
/ 488ns)?

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@Alex V. L. (bastel_alex) Benutzerseite

>Darüber gerade noch den 74HCT1G125
>(http://www.digikey.de/product-detail/de/74HCT1G125...)

Der ist gut.

>gefunden (kein AND gatter aber TriState Ausgang): Bei dem bewegen sich
>die tpLH/tpHL bei 3V Versorgung im Bereich von 24-125ns.

Niemals 125ns. Real sind bei 3V0 vielleicht 20-30ns.

Die 125ns sind, wenn überhapt, nur bei 2V, maximaler Temperatur (125°C) 
und einem EXTREM schlechten Exemplar zu erwarten. Die allermeisten 
werden selbst bei 2V und 125°C wahrscheinlich immer noch im Bereich 
von50-70ns liegen.

Den HCT kannst du aber nicht bei 3V betreiben, da musst du den HC 
nehmen.
HCT kann nur 4,5-6V, HC aber 2-6V.

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Besten Dank, dann ist das hiermit ja gelöst!

von 6a66 (Gast)


Lesenswert?

Falk B. schrieb:
> Niemals 125ns. Real sind bei 3V0 vielleicht 20-30ns.
>
> Die 125ns sind, wenn überhapt, nur bei 2V, maximaler Temperatur (125°C)
> und einem EXTREM schlechten Exemplar zu erwarten.

Das ist die Tp - also propagation delay, die VERZÖGERUNGSZEIT von 
Eingang nach Ausgang. Was hier aber interessiert ist Tr und Tf (rise und 
fall time).

rgds

von Alex V. (bastel_alex) Benutzerseite


Angehängte Dateien:

Lesenswert?

Die Tp vom 74HC1G125 wird im datasheet unter quick reference mit 10ns 
angegeben. Dabei dann tr = tf <= 6ns - aber nicht genauer spezifiziert 
unter welchen conditions.

Leider ist das im ds im allgemeinen recht uneindeutig:
http://www.nxp.com/documents/data_sheet/74HC_HCT1G125.pdf

Explizite rise/fall times stehen weiter unten so nicht mehr, dafür aber 
tpHL / tpLH, allerdings als propagation delay für die High-Low 
transition und vice versa mit typ 24 und max 125ns bei VCC=2V.

Die sind aber wie du sagst ja nur die Verzögerungen zwischen den Flanken 
- zu den Flanken selber finde ich darüber nichts mehr! Nur max tr/tf bei 
recommended operating conditions mit 1000ns bei 2V.

Bin ich Blind oder gibt es dazu keine weiteren angaben?
Und <=6ns wäre ja grad wieder OK, wenn es nicht zu sehr <6 ist...

von Falk B. (falk)


Lesenswert?

@Alex V. L. (bastel_alex) Benutzerseite

>Die Tp vom 74HC1G125 wird im datasheet unter quick reference mit 10ns
>angegeben. Dabei dann tr = tf <= 6ns - aber nicht genauer spezifiziert
>unter welchen conditions.

Wahrscheinlich bei 5V.

>Explizite rise/fall times stehen weiter unten so nicht mehr, dafür aber
>tpHL / tpLH, allerdings als propagation delay für die High-Low
>transition und vice versa mit typ 24 und max 125ns bei VCC=2V.

Ganz grob kann man schon annehmen, dass die Anstiegszeiten im gleichen 
Maße länger werden wie die Verzögerungszeiten, wenn die 
Versorgungsspannung sinkt.

>- zu den Flanken selber finde ich darüber nichts mehr! Nur max tr/tf bei
>recommended operating conditions mit 1000ns bei 2V.

Dort geht es um die Eingänge, welche nicht langsamer als 1us 
Anstiegszeit haben sollten. Spielt hier keine Rolle, dein uC gibt die 
mehr als schnell genug raus.

>Bin ich Blind oder gibt es dazu keine weiteren angaben?

Nein, es gibt sie nicht.

>Und <=6ns wäre ja grad wieder OK, wenn es nicht zu sehr <6 ist...

Machs nicht so akademisch. Wenn du es wissen willst, kauf den IC, papp 
ihn auf ein Testboard (Entkoppelkondensator nicht vergessen) und miss. 
Ich tippe auf 10-20n Anstiegszeit bei 3V.

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Machs nicht so akademisch. Wenn du es wissen willst, kauf den IC, papp
> ihn auf ein Testboard (Entkoppelkondensator nicht vergessen) und miss.
> Ich tippe auf 10-20n Anstiegszeit bei 3V.

Schon dabei! :)
Ich will nur bald auch noch ein layout fertigen lassen, da ist der IC 
dann jetzt halt erstmal einfach drauf, das risiko gehe ich dann mal ein. 
Mit euren Rückmeldungen klingt das auch nicht allzu hoch.

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.