Forum: Mikrocontroller und Digitale Elektronik Was ist ein latch?


von Tim HIlden (Gast)


Lesenswert?

moin,

ich stoebere hier so durchs Forum, lese in einer alten Elektorausgabe
und ueberall stosse ich auch den Begriff latch. Gleichmal im
Woerterbuch nachgeschaut was das ist und da steht was von Tuerklinke
und Schloss. Dann mal nach nem Datendlatt von so einem Ding gesucht und
das steht was D-latch mit 3-state und sonstigem Zeug was mir (noch)
nichts sagt. Bin in meinem E-Technik Studium wohl noch nicht so weit
;-).
1. Hat das was mit D-Flip-Flops zu tun?
2. was macht so ein latch? Damit kann man wohl irgendwie externe
Geraete so ansprechen, als ob sie im RAM-bereich des uC liegen wuerden,
oder dahinter. Schafft man es damit echt sein LCD nicht mehr mit "setze
Zeichen auf Ausgang, mache enable hi/low" zu betreiben, sondern einfach
nur noch "schreibe 'H' nach 0x1234"? Wie geht das?

Danke, TIM

von Sebastian (Gast)


Lesenswert?

Ein D-Flipflop ist in der Tat eine Möglichkeit, ein Latch zu
realisieren. Du speicherst mit dem Latch nur Daten zwischen, sonst
macht das nichts. Das wird oft zur Busentkopplung benutzt, oder eben,
um Daten bis zur nächsten fallenden Clockflanke zu halten.

von Matthias (Gast)


Lesenswert?

Hi

ein D-Latch ist ein D-Latch und ein D-Flip-Flop ist ein D-Flip-Flop.
Mit einem D-FF kann man kein D-Latch bauen.

http://www.mikrocontroller.net/wiki/Latch

Matthias

von Christof Krüger (Gast)


Lesenswert?

In deutschem Sprachgebraucht ist ein Latch ein Flip-Flop
(Zustandsgesteuert) und was im englischen Flip-Flop ist, kennt man hier
u.U. als MS-Flip-Flop (Master/Slave, also taktflankengesteuert)

von Tim HIlden (Gast)


Lesenswert?

das wiki-ding hat mir da schon geholfen. Das ist also (nur) sowas wie
ein zwischenspeicher. Aber wie bekomme ich mit sowas einen erweiterten
Rambereich mit dem ich mein LCD ansteuern kann?

von Tim HIlden (Gast)


Lesenswert?

und um den Nutzen nochmal klar zu kriegen: Ich kann mit so einem latch
quasi meine Anzahl an output-pins vervielfachen? ich nehme z.b. 2
latches, beide an den selben 8 ioports meines uC plus zusaetzliche zwei
enable leitungen. Dann mache ich das enable von latch 1 an, setze meine
ioports, das latch speichert die. Dann enable1 wieder low, dafuer
enable2 auf high, wieder gehen die daten vom port in das latch nr 2.
Dann enable 2 wieder auf low und erneut daten an die ioports setzen. So
habe ich jetzt quasi 3mal soviele ioports wie vorher, ohne wirklich alle
an meinem uC angeschlossen zu haben? Sehe ich das richtig?

von Schubi (Gast)


Lesenswert?

Ich denke, Du meinst eher einen Port-Expander.
D.h. Du benötigst noch ein paar freie I/Os für dein Display, oder?

von Schubi (Gast)


Lesenswert?

Ja, das ist korrekt!
Das funktioniert, allerdings bist Du auf eine Richtung festgelegt
(entweder In- oder Output! Jedenfalls bei den Latches die ich kenne).

von Tim HIlden (Gast)


Lesenswert?

naja, das mit der "one-way-only" sache stimmt zwar bei den
gewoehlichen latches, aber es gibt da wohl etwas was sich busdriver
nennt, das kann das wohl auch in 2 richtungen (hab ich zumindest hier
im Forum gelesen).

Ist ja schoen das ich jetzt was schlauer bin, aber die frage die
dahinter steht war, wie man damit jetzt den Speicher des LCD
"virtuell" (ich hasse dieses Wort) hinter, in, auf oder unter dem
Speicher des uC darstellt, um dann einfach in den Ram zu schreiben.

von Stephan Müller (Gast)


Lesenswert?

bidirektional:
74646
:)

die werde ich morgen testen müssen.. da kommt meine bestellung.

von Christof Krüger (Gast)


Lesenswert?

Na da brauchst du eine Logik hinter, die dir aus den Adressleitungen und
Datenleitungen etwas zusammenbastelt, was dein Display versteht. Keine
Ahnung, wie dein Display funktioniert, aber höchstwahrscheinlich wird
da ein 74xx-Baustein nicht reichen, dann eher ein kleiner CPLD.

von Peter D. (peda)


Lesenswert?

Die Analogie mit dem Türschloß haut voll hin:

Ist die Tür offen, können die Bits (0 oder 1) schön durchspazieren, ist
sie zu, dann bleibt die 1 drin, auch wenn vor den Tür (am Eingang des
Latch) schon die 0 steht bzw. umgekehrt.

Daher kommt auch der Ausdruck Transparent-Latch. Je nach Pegel am
Latcheingang ist es durchlässig oder nicht.

Z.B. kann man es verwenden, wenn man ein 16Bit Datenwort von einer
8Bit-CPU benötigt. Die CPU legt das erste Byte an ein Latch und
verriegelt es dann. Mit dem 2. Byte auf dem Datenbus und dem 1. Byte
vom Ausgang des Latches hat man dann ein 16 Bit Wort.

Der 74646 ist kein Latch sonderen ein D-FF, der 74F543 ist aber eins.

Ein Latch hat ein Latch-Enable und ist durchlässig, solange der aktiv
ist.

Ein D-FF hat einen Takteingang und schiebt mit jeder Taktflanke genau
ein Bit durch, ist also nie transparent. Mehrere D-FF in Reihe bilden
daher ein Schieberegister.


Peter

von Stefan1 (Gast)


Lesenswert?

Oder die ganzen Beispiele einfacher ausgedrückt:
Es ist eigentlich nur eine Seriell-Parallel-Wandlung!
Seriell aus dem uC raus, parallel in das z.B. Display rein..

Stefan

von Thomas O. (Gast)


Lesenswert?

Hallo,

auf dem Ausgang liegen also immer die 8 Bits an auch wenn das Ding
nicht auf Enable steht? Oder ist der Ausgang auch down wenn der Latch
disable erhält?

von Christof Krüger (Gast)


Lesenswert?

Also ein ganz gewöhnliches Latch schaltet transparent durch, wenn Enable
aktiviert ist, dann wird einfach die Eingabe DIREKT an die Ausgabe
weitergeleitet. Wird Enable ausgestellt, dann bleibt bis auf weiteres
die Ausgabe "eingefroren". Dann kannst du mit dem Eingang anstellen,
was du müchtest, der Ausgang bleibt beim alten... bis du wieder Enable
aktivierst und das Latch wieder "transparent" wird.

Natürlich gibt es auch Latches mit 3-State-Ausgängen, die hochohmig
werden, wenn der Chip Enable aus ist.

von jens uwe (Gast)


Lesenswert?

Um nochmal auf das Protvervielfachen zurückzukommen -- was ist mit einem
Schiebregister? auch eine beliege anwendung von FFs

von Thomas O. (Gast)


Lesenswert?

Hallo,

ok danke.

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.