Verstehen der Scrolling-Display-Schaltung

Ich habe diesen Umriss einer Schaltung, die entwickelt wurde, um eine Laufnachricht anzuzeigen.

Geben Sie hier die Bildbeschreibung ein

Ich habe einige Probleme zu verstehen, wie es funktionieren soll, also werde ich nur erklären, was ich zu wissen glaube, und von dort aus weitermachen. Ignorieren Sie, wo "Mux later" steht, ich glaube nicht, dass wir diesen Teil des Projekts erledigen müssen (zumindest noch nicht). Die Schaltung soll eine von mir gewählte Meldung anzeigen, die einen Scrolling-Effekt simuliert.

Der DIP-Schalter schaltet einfach zwischen verschiedenen 16-Zeichen-Meldungen um. Ich werde zwei Nachrichten machen, also wird es für mich nur ein Schalter sein, der entweder 0 oder 1 ist. Dieser Schalter ist mit dem EPROM verbunden, was mich verwirrt. Nach meinem Verständnis wird das EPROM verwendet, um die Nachricht auszuwählen (abhängig vom Wert des DIP) und die Ausgabe über die 4 Displays zu multiplexen. Aber wie programmiere ich das EPROM so, dass ich das bewerkstelligen kann?

Der 7-Seg-Decoder ist ein PAL, der dafür ausgelegt ist, einen gegebenen 4-Bit-Eingang zu nehmen und ihn in einen entsprechenden 7-Bit-Ausgang umzuwandeln, der das Zeichen bestimmt, das an einem bestimmten Punkt während des 2-Bit-Zählerzyklus angezeigt wird, der 00, 01, 10, 11 zählt. Das EPROM multiplext diese Nachricht über die 4 Displays in Übereinstimmung mit den Zifferntreibern mit der Rate der "schnellen Uhr", so dass die Displays kontinuierlich beleuchtet erscheinen.

Wie können wir 16 Zeichen mit einem Zähler durchlaufen, der nur 00, 01, 10, 11 zählt? Ich denke, hier kommt die Speicheradresse ins Spiel. Mein Prof sagte, dass der einfachste Weg, dies zu tun, die Verwendung eines Addierers ist (wir haben 74283). Was genau fügen wir hinzu?

Das Bild zeigt einen unabhängigen "langsamen Takt", der dem 2-Bit-Zähler "hinzugefügt" wird. Da wir durch 16 Zeichen scrollen wollen, sollte die "langsame Uhr" ein 4-Bit-Zähler sein? Zum Zeitpunkt 0000 werden also die Bits 1 bis 4 der Nachricht angezeigt. Dann wird zum Zeitpunkt 0001 ein Bit hinzugefügt und somit werden die Bits 2 bis 5 der Nachricht angezeigt. Usw. Ist das richtig? Ich habe das Gefühl, dass dies der richtige Weg ist, aber ich verstehe die Idee nicht wirklich. Wir addieren eine 4-Bit-Zahl zu einer 2-Bit-Zahl, aber es gehen nur 2 Bits zum EPROM. Wenn es nur 2 Bits gibt, die den Ausgang steuern (plus den DIP-Schalter, aber das ist für eine bestimmte Nachricht konstant), gibt es nur 4 eindeutige Ausgänge. Wie können Sie also durch 16 Kombinationen radeln? Sollten es nicht 4 Eingänge sein?

Jeder Beitrag wird sehr geschätzt.

"Aber wie programmiere ich das EPROM so, dass ich das bewerkstelligen kann?" Normalerweise. Deshalb ist der Rest der Elektronik vorhanden.
@IgnacioVazquez-Abrams Es tut mir leid, ich folge nicht. Das habe ich vielleicht schlecht ausgedrückt. Ich bin mir nicht sicher, was ich genau in das EPROM programmieren soll.
Ich verstehe, dass der 7-Seg-Decoder die 16 Zeichen liefert. Das EPROM muss Ausgänge haben, die der angeordneten Reihenfolge der Nachricht entsprechen. Rechts?

Antworten (1)

Sie sollten einen 32x4-Bit-Speicher verwenden. Warum diese Größe? Vier Bits (ein Halbbyte) breit, weil das ausreicht, um eine Ziffer zu speichern. 32 Knabbereien, weil Sie zwei 16-stellige Nachrichten speichern möchten.

Es ist nicht klar, ob Sie tatsächlich versuchen, diese Schaltung zu bauen oder sie nur zu entwerfen. Im ersten Fall werden Sie keine 4-Bit breiten EPROMs finden. Sie brauchen also stattdessen 32x8 und verwenden einfach die unteren Bits 0-3 und ignorieren die Bits 4-7.

Aber auch 32 Byte EPROMs werden Sie nicht finden. Das kleinste, das ich mit einer parallelen 8-Bit-Schnittstelle finden konnte, war tatsächlich ein 8Kx8-EEPROM (T28C64B). Sie verwenden also nur 32 Bytes aus dem 8192, indem Sie fünf statt 13 Adresszeilen verwenden.

32 Nibbles (oder Bytes) implizieren fünf Adressierungsleitungen (2&sup5;=32). Vier der Zeilen sollten aus Ihrem Speicheradressblock stammen, der vom Zähler gespeist wird. Dadurch wird eine von 16 Ziffern ausgewählt, entweder aus der ersten oder zweiten Nachricht. Die fünfte kommt von Ihrem DIP-Schalter, um die Nachricht auszuwählen. Die erste Nachricht wird also in die Bytes 0-15 und die zweite in die Bytes 16-31 programmiert. Der Rest des EEPROM wird ignoriert.

Wenn dies ein echtes Projekt ist, müssen Sie eine separate Schaltung entwerfen, um das EEPROM überhaupt mit den Nachrichten zu programmieren.

Was die Anzeige betrifft, vorausgesetzt, die "Scan-Ziffern" im Diagramm sind tatsächlich vier Aktivierungsleitungen, eine für jede der vier Ziffern, um dann eine Nachricht anzuzeigen, aus der Sie die Nibbles 0,1,2,3 austakten möchten das EEPROM, während Sie Ziffern von rechts nach links auswählen. Dann taktet man die Nibbles 1,2,3,4 aus und wählt erneut die vier Ziffern von rechts nach links aus. Und so weiter.