Forum: Mikrocontroller und Digitale Elektronik Schieberegister 4094 auf mehrere Ports


von Michael N. (lwl2012)


Lesenswert?

Hey,

ich wollte mal frage, hat jemand von euch mal Schieberegister auf 
verschiedene Pins vom µC gesetzt? Also eine "Schlange" von 
Schieberegister auf einem Pin, eine zweite "Schlange" auf einen Zweiten 
Pin und eine dritte auf einen Dritten Pin.

Weil ab einer Menge von Registern in kaskadierter Form wird es ja 
schwierig. Von daher wollte ich die 3 Gruppen an Register auf 3 Pins 
aufteilen.

Nun zu meiner Frage, muss man für jede Gruppe einen eigenen Clock und 
Strobe Pin setzen? Oder kann man den Clock und Strobe auch für alle 3 
Gruppen auf einmal nehmen? Ich muss nur dazu sagen, das die Gruppen 
unterschiedlich groß sind.


Meine Vermutung:

Den Strobe kann ich denk ich allgemein nehmen, Clock vielleicht auch, 
müsste dann nur die Registergruppen die kürzer sind, erst verzögert mit 
Daten zu bestücken oder Schiebt der Clock die Bits nicht wieder raus, 
wenn der Clock weiter läuft für die Längere Gruppe?

Die Gruppen bestehen aus 8,4 und 3 Register. An sich würde ich gern die 
Gruppen so erhalten. Sind nach Funktion aufgeteilt.



Michael

PS: Ich hoffe ist verständlich was ich für eine Frage habe und welche 
Ausgangssituation besteht.

von Peter D. (peda)


Lesenswert?

Michael N. schrieb:
> Weil ab einer Menge von Registern in kaskadierter Form wird es ja
> schwierig.

Warum?

Ich würde sagen, das Gegenteil ist der Fall.
Du brauchst zusätzlichen Code für das aufteilen.
Und auch mehr CPU-Zeit, da Du nicht das HW-SPI benutzen kannst.

Ich hab mal 21 SRGs kaskadiert.
Allerdings bevorzuge ich den 74HC595, der kann mehr Ausgangsstrom.

Die Anzahl der SRG bestimmt nur die Größe des Arrays im SRAM (bei Dir 15 
Byte) und den Schleifenzähler zum kopieren des SRAM in die SRGs.
Das SRAM-Array stellt quasi 15 Pseudoports dar.


Peter

von Michael N. (Gast)


Lesenswert?

Gut müsste dann vielleicht gucken wie ichs dann umsetzen kann. Weil ich 
möchte eine Uhr bauen. Aber ich werde das mal testen. Lasse dann erst 
die 60 Sekunden in die ersten 8 schieberegister schieben, dann stunden 
für den Rundlauf und zuletzt minuten und stunden. Aber könnte dann so 
machbar sein.

Werde es die tage testen und dann mal ein Pic rein machen. Also damit 
verständlicher ist was ich vor habe im Detail.


Michael

von Peter D. (peda)


Lesenswert?

Michael N. schrieb:
> Lasse dann erst
> die 60 Sekunden in die ersten 8 schieberegister schieben, dann stunden
> für den Rundlauf und zuletzt minuten und stunden.

Nö.
Du machst das, was Du anzeigen willst, immer in den 15 Bytes SRAM.
Und dann werden alle SRGs in einem Rutsch geupdatet.


Peter

von Michael N. (lwl2012)


Angehängte Dateien:

Lesenswert?

Ja gut, bislang immer erst byte für byte übertragen, weil Angezeigt 
wirds erst sobald der Strobe aktiviert wird. Dann wurden die Signale 
erst zum Ausgang durchgeschalten bei den 4094.

Weil ich lies den µC immer berechnen, welches Bit Muster er jetzt gerade 
zu übertragen hat und so. Aber ich werde es mal Testen. Hier schon mal 
LEDs eingebaut in den Rahmen. Verdrahtung kommt noch.

Michael

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.