Gibt es solch eine fertige Digitalschaltung? (serial clock to parallel output)

OP #7436292
Lesenswert?

Hallo liebe Forumgemeinde.

Ich habe früher, in meiner Ausbildung, immer gerne mit Logikbausteine gebastelt. (R/S- J/k FlipFlops….) Aber für das, was mir gerade durch den Kopf geht, habe ich noch keinen Logikbaustein gefunden.

Ich wollte hier im Forum fragen ob eventuell jemand von euch hier schon einmal eine ähnliche Schaltung bzw. Logikbaustein gesehen habt.

Ich suche nach einer Möglichkeit, mit einem Clock-Signal 4 Ausgänge zu schalten. Ich habe mal eine primitive Schaltung aufgezeichnet. (Sorry für meine schlimme Schrift aber mein Zeigefinger ist gerade verstaucht)

Ich suche kein Schieberegister, denn so halbiert sich lediglich die Frequenz der Ausgänge. Das meine ich nicht. Ich möchte einfach nacheinander 4 Ausgänge ein/aus schalten.

Und ja, das Ganze könnte ich auch mit einem guten, alten AVR Tiny programmieren, aber das möchte ich nicht.

Kennt von euch hier jemand im Forum solch einen Digital-Chip?

Viele Grüße und ein schönes Wochenende 😊

Angehängte Dateien:
#7436315
Lesenswert?

Marcel K. schrieb:

Kennt von euch hier jemand im Forum solch einen Digital-Chip?

Grob: Schieberegister mit Möglichkeit zum Parallel-Preload oder Zähler mit mit eingebautem 1:N-Decoder und Reset.

Es gibt wahrscheinlich ungefähr ein knappes Dutzend ICs in der 4xxx-Reihe, die diese Anforderungen erfüllen.

Aber für das, was mir gerade durch den Kopf geht, habe ich noch keinen Logikbaustein gefunden.

Nunja. Man muss die Sache nicht einfach nur durch den Kopf durchziehen lassen, sondern auch bearbeiten...

OP #7436325
Lesenswert?

Hallo alle zusammen. Ihr seid so geil...🥰😎😁

Ich wusste das ich mich auf dieses Forum verlassen kann. Man, auf ein Lauflicht bin ich gar nicht gekommen. Stimmt, das ist die gleiche Anwendung.

Nach dem ersten Blick ins Datasheet macht der 4017 genau das, was ich gesucht habe. Meine Anforderung wäre auch gewesen, ggf. die Ausgänge auf 5,6 oder sogar 7 zu erhöhen. Danke auch gleich für die Idee mit dem Reset- Anschluss um die "Zählung" zu begrenzen. Echt Perfekt!

Ihr seit echt spitze. Vielen Dank für eure super, schnelle Lösung.

Merci. 🙏

#7436327
Lesenswert?

Michael M. schrieb:

Falk B. schrieb:

Man klemmt den 5 Ausgang ans asynchrone Reset und gut.

Das sowieso. Aber schau dir das Diagramm nochmal ganz genau an. Die Ausgänge sollen immer nur dann High sein, wenn am Clock-Eingang auch ein High ansteht. Zwischendurch gibt's auch immer ein Low!

Ich vermute der TO hat nur versucht es bildlich darzustellen, ohne das Timing genau so zu meinen wie auf der Skizze. Er wird m.A.n. schon die Funktion des 4017 meinen.

Marcel K. schrieb:

Ich suche nach einer Möglichkeit, mit einem Clock-Signal 4 Ausgänge zu schalten. Ich habe mal eine primitive Schaltung aufgezeichnet. Ich möchte einfach nacheinander 4 Ausgänge ein/aus schalten.

#7436333
Lesenswert?

Marcel K. schrieb:

Nach dem ersten Blick ins Datasheet macht der 4017 genau das, was ich gesucht habe. Meine Anforderung wäre auch gewesen, ggf. die Ausgänge auf 5,6 oder sogar 7 zu erhöhen.

Woher kommt das Clocksignal? Wenn es von einem Taster kommt musst Du an die Entprellung denken. Wobei der Clockeingang beim 4017 Schmitt-Trigger-Charakteristik hat, das macht es etwas einfacher.

OP #7436351
Lesenswert?

Hi Jörg R., danke für Deinen Hinweis...

Also das Clock Signal soll von einem µC kommen. Ich habe eine Tastartur- Matrix mit 5x5 Zeilen/Spalten. Ich hatte die Idee, die Zeilen mit lediglich einem einzigen Pin (clock) anzusteuern. So könnte ich mir ein paar Pins einsparen. Im Moment habe ich 5 Aus- bzw. Eingänge vom µC verwendet.

Mal sehen ob ich mir die Eingänge (Spalten) ggf. auch noch irgendwie einsparen kann (parallel to binary?).

Mal sehen... :)

#7436856
Lesenswert?

Marcel K. schrieb:

Hi Jörg R., danke für Deinen Hinweis...

Also das Clock Signal soll von einem µC kommen. Ich habe eine Tastartur- Matrix mit 5x5 Zeilen/Spalten. Ich hatte die Idee, die Zeilen mit lediglich einem einzigen Pin (clock) anzusteuern. So könnte ich mir ein paar Pins einsparen. Im Moment habe ich 5 Aus- bzw. Eingänge vom µC verwendet.

Mal sehen ob ich mir die Eingänge (Spalten) ggf. auch noch irgendwie einsparen kann (parallel to binary?).

Mal sehen... :)

Das wird nicht zuverlässig funktionieren, da der Controller nicht weiss, wo der Zähler des 4017 steht. Auch wenn du vom Controller regelmässig einen Reset des 4017 machst, ist immer noch nicht zu 100% gewährleistet, dass beide immer synchron sind.

Such mal nach Tastatur Matrix.

OP #7436905
Lesenswert?

Christian H. schrieb:

Das wird nicht zuverlässig funktionieren, da der Controller nicht weiss, wo der Zähler des 4017 steht. Auch wenn du vom Controller regelmässig einen Reset des 4017 machst, ist immer noch nicht zu 100% gewährleistet, dass beide immer synchron sind.

Such mal nach Tastatur Matrix.

Hi Christian H.,

hmmm, da muss ich Dir aber Recht geben. Das könnte zum Problem werden.

Ich könnte vielleicht den 5. Ausgang abprüfen und erst mit dem 6. Ausgang das Ganze zurücksetzen. Dann wäre immer eine Pause im Zyklus. So bräuchte ich einen weiteren Pin am Prozessor.

Wenn ich dann aber noch einen weiteren Pin spendiere, könnte ich z.B. gleich einen BCD-to-Decimal Decoder verwenden (CD4028). Ich muss mir das Ganze also noch mal genauer überlegen.

Aber auf jeden Fall schon mal recht herzlichen Dank für den Hinweis. So einen Fehler findet man beim experimentieren nicht wirklich :)

Marcel (",)

#7436912
Lesenswert?

Man könnte einen Trick verwenden, indem man das IO-Pin auch mal auf Eingang schaltet. Siehe Anhang. Man taktet und schaltet CLK_SYNC auf HIGH. Dann schaltet man das IO-Pin auf Eingang mit internem Pull Up. Kurz warten (ein paar us), dann den Pegel des IO-Pins lesen.

IO-Pin bleibt HIGH -> Q0 aktiv IO-Pin ist LOW -> Q0 inaktiv

Damit kann man ggf. immer wieder synchronisieren.

Angehängte Dateien:
#7436976
Lesenswert?

Jörg R. schrieb:

Wo hat Michael das behauptet?

indirekt durch sein "im Prinzip" mit nachfolgender PW Erläuterung.

Was bitte hat PW hier zu suchen? Ist die Definition Ausgang nur gültig wenn er PW macht?

Michael M. schrieb:

Joachim B. schrieb:

an welcher Stelle ist Pulsweite eine Bedingung für Ausgang?

Laut Dabla an keiner Stelle, aber der TE benötigt diesen Ausgang nicht

Habe ich was anderes behauptet? Egal ob der TE den braucht ist er ein Ausgang!

(Firma: Golden Delicious Computers) #7437070
Lesenswert?

Marcel K. schrieb:

Hi Jörg R., danke für Deinen Hinweis...

Also das Clock Signal soll von einem µC kommen. Ich habe eine Tastartur- Matrix mit 5x5 Zeilen/Spalten. Ich hatte die Idee, die Zeilen mit lediglich einem einzigen Pin (clock) anzusteuern. So könnte ich mir ein paar Pins einsparen. Im Moment habe ich 5 Aus- bzw. Eingänge vom µC verwendet.

Falls Du mit dem µC I2C ansteuern kannst, reichen 2 Leitungen (evtl. plus eine für Interrupt) + ein TCA8418. Der macht auch gleich die Entprellung.

#7437100
Lesenswert?

Marcel K. schrieb:

So kann ich mit drei Leitungen, bis zu 8 Eingänge abfragen.

Nö, damit kannst du den ersten gedrückten von bis zu 8 Eingängen anfragen. Ist z.B. der erste gedrückt, kriegst du von den folgenden nichts mit. Beim HC165 ist das anders, bei Latch werden die Stati aller Eingänge ins Register eingelesen und dann mit SCK und SDA an den uC weitergereicht. Macht auch 3 Leitungen, bei beliebig vielen Eingängen, weil kaskadierbar.

OP #7437517
Lesenswert?

Hallo zusammen,

erst mal vielen Dank für all eure tollen Tipps und Ideen. Das weiß ich sehr zu schätzen.

Mir ist bewusst, dass es auch die Möglichkeit gibt, z.B. einen Bus wie I2C zu nutzen. Das ist von mir aber nicht vorgesehen. Im Moment nutze ich einen Timer um meine 5x5 Matrix anzusteuern. (Zeilen / Pin-Outputs).

Die Idee von „falk“ finde ich eigentlich sehr charmant. Da die Matrixansteuerung allerdings durch den Timer zyklisch angesprungen wird, benötige ich jetzt noch zusätzliche Timer-Slots um den Clock-Pin zusätzlich noch umstellen bzw. den Wert noch einzulesen. Ich denke das ist aber echt ein Versuch wert.

Beim Einlesen der gedrückten Tasten (Spalten / Pin-Inputs) sehe ich schon einen Vorteil z.B. einen "8-line to 3-line Encoder (LS_148)“ zu verwenden. Und ja, mit LS_148 kann man maximal nur eine Taste erkennen. Dies wäre in meinem Fall aber OK so, da ich davon ausgehe, dass keine weiteren Tasten parallel gedrückt werden. Wie z.B. bei einer numerischen Tastatur für die Passworteingabe.

Viele Grüße an alle,

Marcel(",)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren