Forum: Mikrocontroller und Digitale Elektronik Clock Signal splitten


von DanDelay (Gast)


Lesenswert?

Liebes Schwarmwissen,

Ich habe eine Platine, auf der es zwei 7-Segment Anzeige und auch zwei 
Mäuseklaviere gibt.

Die 7-Segmentanzeigen werden über 74HC595 Schieberegister gesteuert und 
die Mäuseklaviere über 74HC165 Schieberegister eingelesen.

Insgesamt kommen hier 4 SR zum Einsatz.
Alle hängen an der gleichen Taktleitung.

Nun würde ich gerne die Mäuseklaviere gegen Drehcodierschalter ersetzen 
und in dem Zuge auch inklusive der beiden 74HC165auf eine zweite, kleine 
Platine auslagern, die dann mi t Steckverbindern mit der Hauptplatine 
verbunden wird. Kabellänge ca. 15cm.

Meine Frage wäre nun, wie ich am besten mit dem Taktsignal umgehe, da 
die Taktquelle ja alle vier SR bedient.

Sollte man hier eine Art Taktverteilung bauen? Z.B.

Taktquelle ====> 2 x AND Gatter => Ausgang A zu den 74HC595 // Ausgang B 
zu den 74HC165?

Oder ist es Risikofrei, den gemeinsamen Takt einfach irgendwann auf 
einen Pfostenverbinder zu schicken und von dort über ein Flachbandkabel 
auf die externe Platine?
Im Betrieb sind die beiden Platinen immer verbunden - die Taktleitung 
bleibt also nicht offen.

Hat das schonmal jemand gemacht?

LG, Daniel

von georg (Gast)


Lesenswert?

DanDelay schrieb:
> Oder ist es Risikofrei, den gemeinsamen Takt einfach irgendwann auf
> einen Pfostenverbinder zu schicken

Das wichigste fehlt (wie immer): welche Frequenz hat der Takt?

74HC595 wird wohl kaum mit GHz getaktet, auch wenn sich die Frage so 
anhört.

Georg

von DanDelay (Gast)


Lesenswert?

Hallo Georg,

oh - das hatte ich tatsächlich vergessen.
Jetzt kann ich ihn gerade nicht messen, aber ich meine mich erinnern zu 
können, dass der Takt im Bereich um die 40kHz lag.

LG, Daniel

von Falk B. (falk)


Lesenswert?

DanDelay schrieb:

> Insgesamt kommen hier 4 SR zum Einsatz.
> Alle hängen an der gleichen Taktleitung.

So weit, so gut

> Platine auslagern, die dann mi t Steckverbindern mit der Hauptplatine
> verbunden wird. Kabellänge ca. 15cm.

Da kann man schon stolpern, siehe Wellenwiderstand.

> Meine Frage wäre nun, wie ich am besten mit dem Taktsignal umgehe, da
> die Taktquelle ja alle vier SR bedient.
>
> Sollte man hier eine Art Taktverteilung bauen? Z.B.

Muss nicht sein, wenn man den Takt ordentlich treibt, mit ordentlichem 
Kabel verteilt und am Ende eine Terminierung einsetzt.

> Oder ist es Risikofrei,

Nein ;-)

> Im Betrieb sind die beiden Platinen immer verbunden - die Taktleitung
> bleibt also nicht offen.
>
> Hat das schonmal jemand gemacht?

Tausende. Nimm eine verdrillte Leitung mit SCK/GND und führe dort deinen 
Takt drüber, alternativ ein Flachbandkabel mit SCK und GND 
nebeneinander. Verlege auf deinen Teilplatinen keine Stichleitungen. 
Setze ans Ende der Taktleitung eine Theveninterminierung mit 2x240 Ohm + 
100nF. Dann wird alles gut.

https://www.mikrocontroller.net/articles/Wellenwiderstand#Parallelterminierung

Beitrag "Re: Skurriles Problem mit BS170 Mosfets"

Der Treiber für SCK sollte halbwegs Strom liefern können, so um die 
20mA. Wenn es ein AVR, 74HCxx oder ähnlicher IC ist, sollte das passen.

von Falk B. (falk)


Lesenswert?

georg schrieb:
> DanDelay schrieb:
>> Oder ist es Risikofrei, den gemeinsamen Takt einfach irgendwann auf
>> einen Pfostenverbinder zu schicken
>
> Das wichigste fehlt (wie immer): welche Frequenz hat der Takt?

Nö, das ist nebensächlich. Entscheidend ist die minimale Anstiegszeit 
des Treibers. Siehe Wellenwiderstand.

von DanDelay (Gast)


Lesenswert?

Hallo Falk,

wow - vielen Dank für die Infos.

Die Links schaue ich mir heute abend mal in Ruhe an und die 
Theveninterminierung ist mir auch noch unbekannt. Zumindest der Begriff.
Lese ich mir auch nachher mal durch.

Aber eine Rückfrage hätte ich doch schon. Du schreibst:

> Verlege auf deinen Teilplatinen keine Stichleitungen.

Wie darf ich denn den Begriff "Stichleitung" verstehen? Geht es dabei 
nur um die physikalische Verlegung der Leiterbahnen?

Also, dass die Schieberegister so angeordnet sind, dass sie an einer, 
geraden, durchgehenden Taktleitung hängen und die Leiterbahn keinen 
Abzweig hat?

Oder gibt es Schieberegister, an denen man auch einen Takt-Ausgang hat?

LG, Daniel

von DanDelay (Gast)


Angehängte Dateien:

Lesenswert?

siehe Anhang zur Verdeutlichung meiner Rückfrage ;)

von Falk B. (falk)


Lesenswert?

DanDelay schrieb:
>> Verlege auf deinen Teilplatinen keine Stichleitungen.
>
> Wie darf ich denn den Begriff "Stichleitung" verstehen? Geht es dabei
> nur um die physikalische Verlegung der Leiterbahnen?

Ja. Immer von Treiber zum nächsten Takteingang und von dort direkt 
wieder zum Takteingang.

> Also, dass die Schieberegister so angeordnet sind, dass sie an einer,
> geraden, durchgehenden Taktleitung hängen und die Leiterbahn keinen
> Abzweig hat?

Ja.

> Oder gibt es Schieberegister, an denen man auch einen Takt-Ausgang hat?

Nein.

>siehe Anhang zur Verdeutlichung meiner Rückfrage ;)

Dein Richtig ist voll richtig, wobei man die Kirche im Dorf lassen 
sollte. Bei den hier auftretenden Flankensteilheiten von vielleicht 5ns 
und einen Tick schneller kann man sich auch 20-50mm Stichleitungen 
leisten. Also ist auch dein Falsch richtig. Alles klar? ;-)

von Rainer V. (a_zip)


Lesenswert?

DanDelay schrieb:
> siehe Anhang zur Verdeutlichung meiner Rückfrage ;)

Auch ich sage, dein "Flasch?" ist richtiger. Bei 15cm Leitung würde ich 
auch noch keine Terminierung vornehmen. Ich würde allerdings auf der 
Senderseite einen Buffer und beim Empfänger einen Schmitttriger/Buffer 
vorsehen! Damit kann man jede Menge Schieberegister ansteuern.
Gruß und viel Erfolg, Rainer

von DanDelay (Gast)


Lesenswert?

> "Flasch" - ähm ja... sorry. Zu dicke finger ;)

Also, ich habe jetzt das alte Board nochmal auf die Werkbank gelegt.
Das wäre dann noch die Version, bei der alle 4 Schieberegister auf dem 
selben Board untergebracht sind.

Hier habe ich einen Takt von 60kHz bei einer Rise-Time von ~40ns.

Zum Thema Stichleitungen: Auf dem alten Board wurden das clocksignal 
ziemlich wild geführt. Zunächst mal gibt es vor jedem Clock-Eingang 
einen Abzweig, desweiteren wird auch 3 Mal der Layer gewechselt um 
andere Bauteile zu umgehen. Sieht ein bisschen so aus, als hätte man 
dieses Signal als letztes verlegt...

Was mit aber noch aufgefallen ist:
Scheinbar hat man sich auch hier eine Art von Terminierung einfallen 
lassen, denn nach dem letzten SR wird das Taksignal mit einem 47pF gegen 
GND abgeschlossen.

CLK-Quelle ---> 74HC165 ---> 74HC165 ---> 74HC595 ---> 74HC595 ---> 
C:47pf -> GND

Am Oszi gemessen, sah das Signal absolut sauber aus, kein Overshoot, 
keine Reflektionen. Ohne den C am Ende habe ich es noch nicht probiert.

Nachdem, was ich jetzt aus diesem Thread gelernt habe, ist die alte 
Version zumindest theoretisch eher unschön. Aber es scheint ja zu 
funktionieren.

Nun mache ich mal an das Layout der neuen Platine(n) und werde das 
Ergebnis dann morgen hier posten.

Herzlichsten Dank schonmal für eure Hilfe.

LG, Daniel

von Falk B. (falk)


Lesenswert?

DanDelay schrieb:
>> "Flasch" - ähm ja... sorry. Zu dicke finger ;)
>
> Also, ich habe jetzt das alte Board nochmal auf die Werkbank gelegt.
> Das wäre dann noch die Version, bei der alle 4 Schieberegister auf dem
> selben Board untergebracht sind.
>
> Hier habe ich einen Takt von 60kHz bei einer Rise-Time von ~40ns.

Wirklich? Kaum zu glauben, da müßte man schon arg lahme Treiber wie z.B. 
einen 4000er Baustein haben.
Wie hast du gemessen? Mit welchem Oszi? Welcher Tastkopf? Wie 
angeschlossen?

https://www.mikrocontroller.net/articles/Oszilloskop#Tastk.C3.B6pfe_richtig_benutzen

> Zum Thema Stichleitungen: Auf dem alten Board wurden das clocksignal
> ziemlich wild geführt. Zunächst mal gibt es vor jedem Clock-Eingang
> einen Abzweig, desweiteren wird auch 3 Mal der Layer gewechselt

Ist bei den Anstiegszeiten nicht so wild. Wichtiger ist eher eine 
Massefläche oder wenigstens ein naheliegendes Massesignal.

 um
> andere Bauteile zu umgehen. Sieht ein bisschen so aus, als hätte man
> dieses Signal als letztes verlegt...

Sehr sinnvoll . . .

> Was mit aber noch aufgefallen ist:
> Scheinbar hat man sich auch hier eine Art von Terminierung einfallen
> lassen, denn nach dem letzten SR wird das Taksignal mit einem 47pF gegen
> GND abgeschlossen.

Terminierung von Leuten, die nicht wissen wie es geht. Wenn schon 
AC-Terminierung, dann mit RC-Glied. Vermutlich gab es Probleme, die 
verschwanden, wenn man den Tastkopf an die Leitung gehalten hat. Also 
hat man einen "Ersatztastkopf" eingebaut.

> CLK-Quelle ---> 74HC165 ---> 74HC165 ---> 74HC595 ---> 74HC595 --->
> C:47pf -> GND
>
> Am Oszi gemessen, sah das Signal absolut sauber aus, kein Overshoot,
> keine Reflektionen.

Wenn man falsch mißt, kann das Oszi aber auch blind sein. Z.B. mit einem 
1:1 Tastkopf.

> Nachdem, was ich jetzt aus diesem Thread gelernt habe, ist die alte
> Version zumindest theoretisch eher unschön. Aber es scheint ja zu
> funktionieren.

Sieg der Praxis über die Theorie. Aber da ist oft eine saftige Portion 
Glück dabei.

von Rainer V. (a_zip)


Lesenswert?

DanDelay schrieb:
> Hier habe ich einen Takt von 60kHz bei einer Rise-Time von ~40ns.

Man, bei 60 KHz beißt die Maus keinen Faden ab, wie man so schön 
sagt...ob deine Rise-Time nun bei 40 oder 400nS liegt, ist erst einmal 
piepegal. Wenn es damit Probleme gibt, dann frage neu oder mach einen 
neuen Th auf...Wie gesagt, puffer den Ausgang und mach den 
Trigger+Puffer in den Eingang und gut is!
Gruß Rainer

von Falk B. (falk)


Lesenswert?

Rainer V. schrieb:
> Man, bei 60 KHz beißt die Maus keinen Faden ab, wie man so schön
> sagt...ob deine Rise-Time nun bei 40 oder 400nS liegt, ist erst einmal
> piepegal.

Jaja, sagt Rainer der "Experte". FALSCH! Siehe Wellenwiderstand!!!

von Rainer V. (a_zip)


Lesenswert?

Falk B. schrieb:
> Jaja, sagt Rainer der "Experte". FALSCH! Siehe Wellenwiderstand!!!

Ich freue mich immer, wenn mich jemand als "Experten" erkennt, habe aber 
gleichzeitig den schönen Satz im Ohr: "Niemand ist so blöd, dass er 
nicht noch irgendwem als Vorbild dienen könnte!" Sorry, mußte ich jetzt 
wieder mal los werden...
Gruß Rainer

von georg (Gast)


Lesenswert?

Rainer V. schrieb:
> Sorry, mußte ich jetzt
> wieder mal los werden...

Kannst du dir sparen, ein Thread in den sich Falk einmischt ist 
kontaminiert und jede weitere Diskussion ist sinnlos. Er wird niemals 
zugeben, dass etwas auch nur eine bisschen anders sein könnte.

Mit Wellenwiderständen für kHz-Signale braucht man sich nicht weiter zu 
beschäftigen.

Georg

von HildeK (Gast)


Lesenswert?

georg schrieb:
> Mit Wellenwiderständen für kHz-Signale braucht man sich nicht weiter zu
> beschäftigen

Noch einer, der keinen Durchblick hat ...

von Falk B. (falk)


Lesenswert?

georg schrieb:
> Rainer V. schrieb:
>> Sorry, mußte ich jetzt
>> wieder mal los werden...
>
> Kannst du dir sparen, ein Thread in den sich Falk einmischt ist
> kontaminiert und jede weitere Diskussion ist sinnlos. Er wird niemals
> zugeben, dass etwas auch nur eine bisschen anders sein könnte.
>
> Mit Wellenwiderständen für kHz-Signale braucht man sich nicht weiter zu
> beschäftigen.

"Das ist der ganze Jammer: Die Dummen sind so sicher und die Gescheiten 
so voller Zweifel"

Bertrand Russel

Auch für dich nochmal explizit zum Mitschreiben. Die FREQUENZ der 
Signale ist nebensächlich! Entscheidend ist die minimale ANSTIEGSZEIT! 
Denn DIE macht die hohen Frequenzanteile und damit die Reflektionen auf 
elektrisch langen Kabeln! Siehe Wellenwiderstand.

Lesen, Nachdenken, Verstehen

P S Praxisbeispiel

Beitrag "Re: Skurriles Problem mit BS170 Mosfets"

von georg (Gast)


Lesenswert?

Falk B. schrieb:
> Entscheidend ist die minimale ANSTIEGSZEIT!

Das bezweifelt ja niemand, aber bei einem Takt im kHz-Bereich kann man 
die Anstiegszeit ja an der Taktquelle leicht auf völlig harmlose Werte 
begrenzen - was du natürlich nicht zugeben kannst, sonst wärst du nicht 
Falk.

Georg

von Falk B. (falk)


Lesenswert?

georg schrieb:
> Falk B. schrieb:
>> Entscheidend ist die minimale ANSTIEGSZEIT!
>
> Das bezweifelt ja niemand, aber bei einem Takt im kHz-Bereich kann man
> die Anstiegszeit ja an der Taktquelle leicht auf völlig harmlose Werte
> begrenzen

Mag sein, aber davon war bisher nicht die Rede. Außerdem wollen die 
meisten Takteingänge eher kurze, knackige Flanken, damit dort nicht 
wieder Probleme auftauchen. Nicht alle ICs haben Schmitt-Trigger 
Eingänge am Takt.

>- was du natürlich nicht zugeben kannst,

Jaja. Der Kindergarten hat auch heute bis 17:30 geöffnet, dann holt dich 
deine Mutti ab. Bis dahin mußt du noch durchhalten!

von Rainer V. (a_zip)


Lesenswert?

So, nachdem sich hier wieder einmal die "Theoretiker" eingeschossen 
haben und der TO sicher schon lange die Nase voll hat, verabschiede ich 
mich nun auch!
Gruß Rainer

von Falk B. (falk)


Lesenswert?

Rainer V. schrieb:
> So, nachdem sich hier wieder einmal die "Theoretiker" eingeschossen
> haben und der TO sicher schon lange die Nase voll hat, verabschiede ich
> mich nun auch!
> Gruß Rainer

NEIN! Bitte NICHT! Was soll denn nur ohne DICH aus dem Forum werden? Und 
ganz besonders aus DIESER Diskussion? Der OP braucht DICH!

von Rainer V. (a_zip)


Lesenswert?

Trotzdem noch einmal zur Klärung. "Clock Signal splitten" ist als 
Überschrift reichlich daneben. Wenn man ein Clock-Signal auf einer 
Leiterplatte z.B. auf n-Eingänge gibt, dann ist da ja noch lange nichts 
gesplittet! Gesplittet wäre erst, wenn man das Signal n-mal buffert und 
dann jeden der n-Ausgänge genau einem Eingang zuführt. Ist sicher in 
irgendeiner Anwendung auch sinnvoll, aber hier sicher nicht :-)
Gruß Rainer

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.