Forum: Mikrocontroller und Digitale Elektronik Takt verteilen


von Alexander H. (alexander_h)


Lesenswert?

Hey

ich  bin hier neu aber muss sagen dass ich es genial finde. Zu dem 
Problem findet man irgendwann ne antwortwort. Nur leider finde ich zu 
einer Frage keine.

Ich möchte eine Schaltung bauen, die auf Modulen basiert, doch leider 
habe ich auf den Modulen keinen Platz für einen Quarz. Deshalb würde ich 
gerne eine zentrale Stelle für den Takt bauen und den dann auf alle 
verteilen.
Gibt es eine Möglichkeit alle Ics über einen Quarz anzusprechen oder 
muss ich wirklich so viele verbauen, wie ich Ics hab.

Gruß

Alex

von Mike B. (Gast)


Lesenswert?

Soll das ganze in Serie gehen ?
(Das ist vorab die wohl wichtigste Frage ...)

Muss zwischen den Modulen synchronisiert werden ?

Welche Frequenz hat die Grundwelle ?

Von welchen Entfernungen sprechen wir bei einer
zentralten Taktquelle ?

Fakt ist aber, du hast offenbar nicht viel Ahnung von
Elektronik...

von Alexander H. (alexander_h)


Lesenswert?

grundlegende ahnung in elektronic hab ich schon. ich wusste nur nicht ob 
die ic den takt fressen und ich des signal irgendwie verstärken muss.

serie ist erstmal nicht geplant. distanz sind ca 20 cm. synchron sollte 
es schon sein und geplant sind 10 mhz.

von HildeK (Gast)


Lesenswert?

Alexander H. schrieb:
> Gibt es eine Möglichkeit alle Ics über einen Quarz anzusprechen oder
> muss ich wirklich so viele verbauen, wie ich Ics hab.

Mit einem Quarz geht das nicht, wohl aber mit einen Quarzoszillator.
Unbekannt sind natürlich auch mir die relevanten Parameter (Längen, 
Frequenz, Anzahl der Empfänger), aber grundsätzlich geht das schon - je 
nach den Parametern muss man aber unterschiedliche Auslegungen in 
Betracht ziehen.
Hier mal einige Ansätze:
1.) einfach
- Oszillator,
- ev. ein oder mehrere Treiber
- Quellterminierung, ggf. ein Treiber und zwei oder drei abgehende 
Leitungen, jede über einen eigenen Serienwiderstand
- für jeden Slave eine eigene (!) Leitung - kein Bus!
- einigermaßen Z-richtige Leitungsauslegung
2.) aufwändiger
- Oszillator
- aktiver Taktverteiler, ev. mit Phasenkorrektur,
- Wandlung auf differetielle Signale (LVDS, CML)
- wieder Punkt-zu-Punkt-Verbindungen, kein Bus!
- Z-richtige Leitungen
- am Empfänger Terminierung und Rückwandlung auf Single-Ended
- ggf. Laufzeitausgleich durch Längenausgleich der Leitungen

von HildeK (Gast)


Lesenswert?

Alexander H. schrieb:
> serie ist erstmal nicht geplant. distanz sind ca 20 cm. synchron sollte
> es schon sein und geplant sind 10 mhz.

Dann nimm meinen Ansatz 1)

von Alexander H. (alexander_h)


Lesenswert?

k danke

ich werds mal versuchen

von Mike B. (Gast)


Lesenswert?

Clock Distribution ICs gibts von den div. Halbeiterherstellern.
Beispielsweise von Maxim: http://www.maxim-ic.com/products/clocks/

Probleme durch Reflexionen solltest du nicht bekommen, da
deine Leitungslänge gegenueber des 10 OT hinreichend klein ist
(~ 1/10  Lambda)

Wenn eine Phasenverschiebung zwischen den verteilten Takten
nicht so kritisch ist, kannst du auch ohne weiteres
einen 0815 Busbuffer und einen einfachen Oszillator
verwenden. Hier kannste dir dann wieder aussuchen obs ein
CMOS Oszillator oder ein Quarzoszillator werden soll/muss ...

von HildeK (Gast)


Lesenswert?

Mike B. schrieb:
> Probleme durch Reflexionen solltest du nicht bekommen, da
> deine Leitungslänge gegenueber des 10 OT hinreichend klein ist
> (~ 1/10  Lambda)

Das ist nicht hinreichend!
Es ist nicht interessant, welche Grundfrequenz vorhanden ist, sondern 
lediglich die Anstiegszeit des Signals und die Geschwindigkeit des 
Empfängers. Auch ein Takt mit 5kHz kann dieselben Probleme machen wie 
einer mit 10MHz.
Für die hier genannten Längen sind bereits störende Reflexionen zu 
erwarten!

von hans (Gast)


Lesenswert?

Manche µC, z.B. ATTiny2313 haben einen Clockout. Damit kann
der µC als Oszillator verwendetwerden. Der angeschlossene
Quarz takten den µC und das Taktsignal an Clockout (evtl.
über Buffer) weitere Einheiten (µCs, Codecs etc.).

hans

von Mike B. (Gast)


Lesenswert?

Deswegen habe ich auch den 10 overtone der grundwelle zur calc. 
benutzt...
Erst lesen dann motzen !

von HildeK (Gast)


Lesenswert?

Mike B. schrieb:
> Erst lesen dann motzen !

Ich hatte gelesen und nicht gemotzt, sondern ein deine Aussage 
relativierendes Statement abgegeben! Und das gilt nach wie vor.

Alexander H. hatte nicht angegeben, welcher Baustein sein Empfänger ist 
und wir hatten nicht festgelegt, welcher Typ der Treiber sein soll. Z.B. 
ein FPGA als Empfänger ist u.U. dermaßen schnell, dass es locker die 
Reflexionen auf einer 20cm langen Leitung als zwei Flanken erkennen 
kann. Vor allem dann, wenn diese noch aus einer Quelle mit ebenfalls 
steilen Flanken kommt, z.B. von der AC- AHC-, LVC-Serie (u.a.).
Ich spreche hier nicht nur aus der Kenntnis der Theorie, sondern auch 
aus dem Erleben und Lösen praktischer Probleme.

Abgesehen davon reduzieren sich durch korrekte Dimensionierung auch 
Probleme im Bereich EMV (Ab- und Einstrahlung).

von Mike B. (Gast)


Lesenswert?

Der 9 OT eines (IDEALEN) Rechtecks ist gegenüber der Signalampl.
um ca. -20dB bedämpft. Alle höheren Freq. die zu einer relevanten
konstr./dest. Überlagerung führen sind also vernachlässigbar ...

Das sollte jeder verstehen der mal im Studium Systemtheorie
oder vergleichbares hatte ...

Und bitte komm jetzt nicht mit irgendwelchen fragwürdigen Wischi-Waschi
statements die du vielleicht irgenwo mal gelsen hast ...
Du musst dich auch nicht in deinem Ego verletzt fühlen nur
weil du hier mal unrecht hast. Finde dich damit ab, niemand
kann alles wissen.

von Mike B. (Gast)


Lesenswert?

Und in einer Sache hast du natürlich recht!
Ein schneller Baustein, darf nur am Ende der CLK Leitung sitzen,
sonst kanns massive Probleme geben.

von Falk B. (falk)


Lesenswert?

@ Mike B. (Gast)

Siehe Wellenwiderstand. Bei 20cm und Anstiegszeiten von 5ns wird es 
schon knapp.

@ Alexander H. (alexander_h)

Nimm einen normalen QuarzOSZILLATOR und klemm dort zwei 74HC04 dran. Das 
sind 2x6 Gatter. Ein Gatter direkt hinter den Oszillator, um den zu 
entlasten, dahinter alle restlichen 11 Gatter parallel. Jeder Ausgang 
mit Serienterminierung (siehe Wellenwiderstand) speist genau einen 
Takteingang deiner Module. Fertig. Preiswert und zuverlässig.

MfG
Falk

von Mike B. (Gast)


Lesenswert?

"Eine Leitung ist dann als elektrisch lang zu betrachten, wenn die 
einfache Laufzeit der Leitung grösser als ca. 1/6 der minimalen 
Anstiegszeit der Signale ist."

Die Aussage ist sehr konservativ ... sicherlich nicht unbedingt
schlecht wenn man auf nummer sicher gehen möchte. meine Kalkulation
ist da etwas gewagter, führt aber auch zu keinen Problemen.
(Schon etliche Male durch ADS verifiziert ...)

von HildeK (Gast)


Lesenswert?

Mike B. schrieb:
> Und bitte komm jetzt nicht mit irgendwelchen fragwürdigen Wischi-Waschi
> statements die du vielleicht irgenwo mal gelsen hast ...
Es sind keine Wischi-Waschi-Statements, sondern Fakten aus Theorie und 
aus der Erfahrung mit realen und schließlich gelösten Probleme aus der 
Praxis.

> Du musst dich auch nicht in deinem Ego verletzt fühlen nur
> weil du hier mal unrecht hast.
Ich fühle mich nicht verletzt, denn ich in dem Punkt weiß ich genau, 
wovon ich rede.

>Finde dich damit ab, niemand kann alles wissen.
Da stimme ich dir uneingeschränkt zu und habe das auch nie behauptet.

Zur Erläuterung, dass du nicht richtig liegst, komme ich ein zweites Mal 
auf deine Aussage zurück:

Mike B. schrieb:
> Probleme durch Reflexionen solltest du nicht bekommen, da
> deine Leitungslänge gegenueber des 10 OT hinreichend klein ist
> (~ 1/10  Lambda)
Nimm dieselbe Anordnung und betreibe sie mit 10kHz statt 10MHz. Danach 
müsste sich deine Leitung auf das 1000-fache verlängern lassen, ohne 
Probleme, denn ist ja nur bis zum 9. OT eine Relevanz vorhanden sei. Das 
darfst du mir gerne vorführen.

von Mike B. (Gast)


Lesenswert?

Wenn du die Anordnung

Quelle - TL - Senke

hast, warum nicht ?

von Mike B. (Gast)


Lesenswert?

Ich schlage dir folgendes vor,
ich mache nächste Woche eine Simulation in ADS und
stelle die Ergebnisse hier rein...

von HildeK (Gast)


Lesenswert?

Mike B. schrieb:
> eine Simulation in ADS

Gerne! Das kann man auch mit LTSpice simulieren.

Vielleicht reden wir auch aneinander vorbei.
Du hast keinerlei Probleme, wenn du quell- und senkenseitig auf dein 
Leitungs-Z terminierst. Dann kannst du sogar unterwegs hochohmig 
abgreifen (aber ohne Stichleitungen!).
Du hast bei Digitalsignalen auch kein Problem, wenn du nur quellseitig 
deine Leitung terminierst und wenn du für jede Senke einen eigenen Pfad 
legst. Nichts anderes hatte ich dem TO empfohlen.

Du hast aber ein Problem, wenn du nicht (wenigstens einigermaßen) 
korrekt terminierst. Noch größer werden die Probleme, wenn dann noch 
Abzweigungen und Stichleitungen dazukommen.

Und eine deiner letzten Aussagen geht jetzt auch in die richtige 
Richtung:
Mike B. schrieb:
> "Eine Leitung ist dann als elektrisch lang zu betrachten, wenn die
> einfache Laufzeit der Leitung grösser als ca. 1/6 der minimalen
> Anstiegszeit der Signale ist."
Eben dies. Und die Anstiegszeit ist von der Technologie abhängig und 
nicht von der Frequenz des (Digital-)Signals. Nichts anderes versuche 
ich dir schon seit einiger Zeit deutlich zu machen. Und nichts anderes 
möchte ich demjenigen hinterlassen, der z.B. in einem halben Jahr diese 
Diskussion wiederfindet und daraus Schlüsse zu Lösung seines eigenen 
Problems ziehen will.

von Mike B. (Gast)


Lesenswert?

>> "Eine Leitung ist dann als elektrisch lang zu betrachten, wenn die
>> einfache Laufzeit der Leitung grösser als ca. 1/6 der minimalen
>> Anstiegszeit der Signale ist."
>Eben dies. Und die Anstiegszeit ist von der Technologie abhängig und
>nicht von der Frequenz des (Digital-)Signals. Nichts anderes versuche
>ich dir schon seit einiger Zeit deutlich zu machen. Und nichts anderes
>möchte ich demjenigen hinterlassen, der z.B. in einem halben Jahr diese
>Diskussion wiederfindet und daraus Schlüsse zu Lösung seines eigenen
>Problems ziehen will.

Unter der Annahme, dass beispielsweise folgender Fall
gegeben ist:
1
Treiber - TL(10cm) -|- TL(10cm) - Emfpänger2(hochohmig)
2
                    |
3
                Empfänger1(hochohmig)

hast du natürlich recht, hier ist meine einfache überlegung
nicht ausreichend weil nicht vollständig, Empfänger 1 sieht
ja für 2* die Laufzeit einer TL nur die hinlaufende Welle.

Ich glaube jetzt meinen wir das gleiche :-)

von HildeK (Gast)


Angehängte Dateien:

Lesenswert?

Naja, auch bei einer Punkt-zu-Punktverbindung ist eine 
Serienterminierung von großem Vorteil.
Ich habe mal mit LTSpice eine Simulation gemacht.
- Anstiegszeit des Signals: 3ns
- Leitungslaufzeit 2ns (entspricht ca 25cm auf FR4)
- einmal Quellanpassung 50 Ohm, einmal fehlangepasst mit nur 5 Ohm, was 
einem kräftigen CMOS-Treiber entsprechen könnte.

Ich denke mal, das blaue Signal an Senke 1 will niemand auf einem 
Takteingang haben.
Ich muss aber dazusagen, dass die an den Eingängen üblicherweise 
verbauten ESD-Dioden nach GND und VCC das Bild deutlich verbessern, wenn 
sie den schnell und kapazitätsarm sind. Auch die nicht zu vermeidenden 
parasitären Kapazitäten auf Quell- und Senkenseite verändern das 
Ergebnis - hier allerdings nicht unbedingt zum Vorteil.
All diese Einflüsse beeinträchtigen das Signal an Senke 2 praktisch 
nicht.

von Alexander H. (alexander_h)


Lesenswert?

also als ic werde ich wohl nen atmega8 oder nen tiny2313 verbauen.

von Peter D. (peda)


Lesenswert?

Alexander H. schrieb:
> Ich möchte eine Schaltung bauen, die auf Modulen basiert, doch leider
> habe ich auf den Modulen keinen Platz für einen Quarz.

Überleg erstmal, ob auch wirklich alle Module einen Quarz brauchen.
Die AVRs haben nen internen Takt (8MHz, ATtiny mit PLL: 16MHz).

Wenn Du eine Datenbus hast, reicht es, wenn einer einen Quarz hat. Der 
schickt dann eben ab und zu ein Zeitpaket an die anderen, falls die 
überhaupt eine genaue Uhrzeit brauchen.

10MHz unsymmetrisch und ungeschirmt auf ner langen Leitung kann Dir 
wunderbar Störungen erzeugen.


Peter

von hans (Gast)


Lesenswert?

Mega8 hat keinen direkten Clockout, hier geht nur
die halbe Quarzfrequenz als Rechteck über Timer.
Mega88 geht direkt, 2313 habe ich oben schon angegeben.

hans

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.