Schieberegister zur Steuerung der Sieben-Segment-Anzeige ohne Latch?

Ich restauriere eine Model H Skee-Ball-Maschine, und diese alten Modelle haben eine Reihe von fest codierten Einstellungen und eine unzuverlässige Schaltererkennung, also möchte ich die Hauptsteuerschaltung durch etwas Arduino-basiertes ersetzen, aber die anderen Schaltungen behalten, wie z Sieben-Segment-Anzeigeschaltung.

Also habe ich die Schaltpläne analysiert, aber ich bin verwirrt über die Anzeigeschaltung. Das Schema für das Display ist unten, und hier ist der vollständige Satz von Schemata für die gesamte Maschine: http://arcarc.xmission.com/PDF_Misc/SkeeBall%20Model%20H%2002.pdf

Skee-Ball Modell H Anzeigeschemata

Ich habe noch nie mit Schieberegistern gearbeitet, aber ich habe den Eindruck, dass für eine Anzeigeanwendung ein Latch vorhanden sein muss. Dieser Blogbeitrag war für mich sehr hilfreich: http://www.sqlskills.com/blogs/paulselec/post/arduino-cascading-shift-registers-to-drive-7-segment-displays.aspx

Die Anzeigeschaltung verwendet 74C164-Schieberegister. Ich würde einen Link zum Datenblatt posten, aber ich darf nicht mehr als zwei Links, da ich neu bin. Wie auch immer, der 74C164 hat keinen internen Latch, und ich sehe im Schaltplan keine Latch-Schaltung. Der ULN2003A ist nur ein Transistorarray, um die Lichter des Displays mit Strom zu versorgen, soweit ich das beurteilen kann.

Kann mir jemand helfen zu verstehen, wie diese Schaltung funktioniert?

EDIT: Follow-up, lassen Sie mich zeigen, wo mein Hauptpunkt der Verwirrung liegt. Im Datenblatt für den 74C164 zeigt es eine Beispielwellenform. Hier ist das Beispiel:74C164 Beispiel für Wellenform

Es scheint, als ob der Chip das Datensignal nur durchlässt, aber an jedem Ausgang zeitverzögert. Da es nicht einrastet, sehe ich nicht, wie es für die Anzeigeschaltung des Modells H funktionieren kann. Jedes Segment sollte das gleiche Signal bekommen, nur zeitverzögert.

EDIT2: Ist es möglich, dass der Chip, der die Daten sendet, nur ein Taktsignal sendet, während er Daten sendet? Würde das Stoppen der Uhr die Ausgänge effektiv verriegeln?

Wenn die Schieberegister nur neu geladen werden, wenn sich die Anzeige ändert, ist kein zusätzlicher Latch erforderlich - die 74C164s halten die Daten. Je nachdem, wie schnell die Daten durch die 74C164s verschoben werden, kann auf dem Display ein gewisses Flimmern sichtbar sein, wenn die neuen Daten verschoben werden.
Die Beispielwellenform im Datenblatt für den 74C164 impliziert, dass sie die Daten nicht enthält. Ich habe meine Frage bearbeitet, um diese Details bereitzustellen. Hier ist das 74C164-Datenblatt: pdf1.alldatasheet.com/datasheet-pdf/view/53709/FAIRCHILD/…
Ein Seriell-zu-Parallel-Schieberegister würde nicht viel nützen, wenn es die hineingeschobenen Daten nicht speichern würde! Die Wellenform auf dem Datenblatt impliziert, dass sie die eingeschobenen Daten speichert und ausgibt, obwohl sie nicht explizit einen Zeitraum zwischen dem letzten Takt und dem Löschen anzeigt.

Antworten (2)

Es kann ohne Latch arbeiten, da die instabile Zeit, während der die Daten zu allen Treibern verschoben werden, gering ist - Sie würden wahrscheinlich das sehr schnelle Flackern der Anzeigen nicht bemerken. Wenn Sie uns vielleicht die Taktfrequenz mitteilen könnten, würde dies helfen, aber wenn sie mit 1 MHz läuft und es 4 Severn-Seg-Anzeigen gibt, sind das 28 μ S für das Update - gar nicht lange und vielleicht geht die Uhr sogar noch schneller.

Punkt C auf Ihrer ersten Zeichnung enthält die Antwort, aber ich erkenne ihn nicht - wahrscheinlich ein GAL-Gerät.

Ich glaube, Punkt C enthält die Antwort. Ich weiß, dass es sich um einen Chip handelt, der vom Platinenhersteller Deltronics programmiert wurde, aber ich muss ein Oszilloskop in die Hände bekommen, um herumzustochern und zu bestätigen, was die Wellenformen tun.
Es ist mit Logik lösbar, denke ich. Viel Glück Timo. PS Die Uhr läuft nicht ständig - sie läuft 28 Zyklen und stoppt dann, bis sie zum Aktualisieren bereit ist.
Nun, 32 Zyklen, denke ich, weil die Schieberegister 8-Bit sind. Danke!
@TimSloane - es muss nur 28 Zyklen laufen und die letzten vier Bits sind egal, wen es interessiert !! Es ist jedoch interessant, woher nachfolgende Schieberegister ihren Input nehmen - ich bin mir nicht sicher, ob Pin 13 die letzte Stufe oder ein cleverer Zwischenpunkt ist, der etwas Subtiles bewirkt?
Pin 13 ist das älteste Bit, weshalb ich denke, dass es 32 Zyklen sind. 8 Bits müssen pro Chip geladen werden, damit alle Bits richtig entlang der Daisy-Chain propagiert werden. Jedes 8. Bit wird ignoriert, wird aber für die Daisy-Chain benötigt. Ich denke, wenn sie das erste Bit, Pin 3, und Daisy Chain auf Pin 12 verwendet hätten, hätten sie die von Ihnen vorgeschlagene 28-Bit-Methode verwenden können.

Wenn das Display LEDs verwenden würde, würde das Erscheinen von Segmenten beim Durchschieben wahrscheinlich zu sichtbaren Geisterbildern führen, es sei denn, Aktualisierungen wären selten und würden nur auftreten, wenn etwas anderes "ablenkend" vor sich geht. Solche Geisterbilder könnten entweder durch die Verwendung von verriegelten Schieberegistern oder durch Ausblenden der Versorgung der Anzeigen während des Verschiebens beseitigt werden (ein Segment zu haben, das vor und nach einer Aktualisierung währenddessen kurz leer ist, ist weitaus weniger störend als ein Segment, das leuchtet vorher nicht und danach nicht, leuchtet aber kurzzeitig während des Updates).

Es sieht jedoch so aus, als ob Ihr Gerät Glühlampen verwendet. Diese reagieren so viel langsamer als LEDs, dass Anzeigeartefakte durch die Verschiebung kein Problem darstellen, es sei denn, Sie bemühen sich sehr, Daten sehr langsam zu verschieben, oder müssen die Anzeige sehr häufig aktualisieren. Wenn ich die Schaltung selbst mit Glühbirnen entworfen hätte, wäre ich geneigt gewesen, Schalthebel oder eine Austaststeuerung zu verwenden, um ein schnelles Ein- und Ausschalten von Ziffern als grobe Form der Helligkeitssteuerung zu ermöglichen, aber das Spiel ist wahrscheinlich so wie es entworfen wurde Ich musste die Anzeige nie mehr als einmal alle paar Sekunden aktualisieren.