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
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
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
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#ParallelterminierungBeitrag "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.
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.
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
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? ;-)
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
> "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
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.
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
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!!!
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
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
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"
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
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!
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
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!
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