Forum: Mikrocontroller und Digitale Elektronik Latch Was ist das genau.


von nKK (Gast)


Lesenswert?

hi!

Ich bin absoluter anfaenger und lese mich grad in das gebiet der 
microcontroller ein...
zum glueck hab ich dieses forum entdeckt... echt genial wie ihr hier 
alles besprecht..
meine frage lautet aber nun...
was sind latches.. wozu dienen sie genau bzw. was genau machen sie???

ich bedanke mich schonmal im vorraus...

nKK

von mr.chip (Gast)


Lesenswert?

Hallo

Die deutsche Übersetzung von Latch heisst "Auffangregister". Sowas wird 
je nach Kontext etwas anders verstanden: Häufig ist ein Latch ein IC, wo 
man Daten (einige Bits) 'reinschaufeln kann, die dann an seinen Ports 
präsent bleiben. So eine Schaltung kann auch in einem komplexeren IC 
integriert sein und beispielsweise dazu dienen, hereinkommende Daten 
zwischenzuspeichern.

In der grundlegenden Digitaltechnik unterscheidet man ferner die 
Grundbausteine "Flip-Flop" und "Latch". Beide dienen dazu, ein einzelnes 
Byte, das zu einem bestimmten Zeitpunkt am Eingang anliegt, für eine 
gewisse Zeit zu speichern. Ein Latch kann seine Daten während der 
gesamten High-Periode des Taktsignals ändern, ein Flip-Flop nur bei 
steigender oder fallender Taktflanke.

Gruss

Michael

von Falk B. (falk)


Lesenswert?

Latch

MfG
Falk

von ARM-Fan (Gast)


Lesenswert?

Kann mir (Gelegenheits-CPLD-Programmierer) jemand mal den Satz hier aus
dem verlinkten Artikel etwas genauer erklären?

>In Digitalschaltungen in FPGAs oder CPLDs müssen Latches möglichst
>vermieden werden, da sie ungünstigere Eigenschaften bezüglich des
>Zeitverhaltens aufweisen als FlipFlops.

von Falk B. (falk)


Lesenswert?

@ ARM-Fan (Gast)

>Kann mir (Gelegenheits-CPLD-Programmierer) jemand mal den Satz hier aus
>dem verlinkten Artikel etwas genauer erklären?

>>In Digitalschaltungen in FPGAs oder CPLDs müssen Latches möglichst
>>vermieden werden, da sie ungünstigere Eigenschaften bezüglich des
>>Zeitverhaltens aufweisen als FlipFlops.

In Kurzfassung.

Relativ einfach. Stell dir ein normales Schieberegister vor. Mit 
FlipFlops fuktioniert das wunderbar. Bei der aktiven Taktflanke 
übernehmen alle FlipFlops gleichzeitig die Daten ihres "Vordermanns". 
Kurz nach der Taktflanke sind die neuen Daten an den Ausgängen der 
FlipFlops. Die Welt ist in Ordnung.
Mit Latches geht das voll daneben. Wenn enable öffnet, wird der Eingang 
aller Latches auf den Ausgang geschalten. Die Daten "laufen" einmal 
durch das Schieberegister und sind nach ein paar ns im Nirvana 
verschwunden. Dumm gelaufen.

Wenn jetzt jemand ankommt und behauptet, dass man das ja auch mit 
jeweils invertierten Latches machen kann, dann sage ich. Dann kann mans 
auch gleich mit FlipFlops machen, denn die bestehen intern aus zwei 
invertiert angesteuerten Latches. ;-)

MFG
Falk

von Stefan Salewski (Gast)


Lesenswert?


von nKK (Gast)


Lesenswert?

Also benutzt man Latches nur als zwischenspeicher?

wozu braucht man sie dann genau bei adress- und busleitungen?

von Andreas W. (Gast)


Lesenswert?

zum trennen von adress und datenleitung.

der µC sendet zuerst die adresse, dann schaltet er einen port um auf 
empfangen, da gehen aber die adressleitungen "verloren". dies 
kompensiert der Latch, da er sie weiter behält.

von Troll B. (blaubeer)


Lesenswert?

nKK wrote:
> Also benutzt man Latches nur als zwischenspeicher?
>
> wozu braucht man sie dann genau bei adress- und busleitungen?

Um den Zustand eines Busses zu einem exakt definierten Zeitpunkt 
festzuhalten und den Bus für andere Dinge freizugeben. Siehe Aufgabe des 
Latches zum Extrahieren von A7..A0 beim X-MEM-Interface einiger AVRs 
bzw. des 8085-Busses.

Mit Falks Unterscheidung zwischen Latch und FF kann ich mich nicht ganz 
anfreunden, das mag für JK-FFs zutreffen, aber nicht allgemeingültig auf 
alle Arten von FFs. Denn auch D-, RS- und T- FFs sind nunmal Flipflops.
;-)

Mfg, Blaubär 5406

von Andreas W. (Gast)


Lesenswert?

dies wird nur bei externen RAM benötigt, als anfänger nehme lieber einen 
µC mit internen RAM, da ist der aufwand auch nicht so hoch um was zu 
bauen.

von nKK (Gast)


Lesenswert?

ich will auch keinen externen ram bentzten... es geht mir nur ums 
verstaendniss...

wie genau das alles ablaeuft

von Falk B. (falk)


Lesenswert?

@ nKK (Gast)

>Also benutzt man Latches nur als zwischenspeicher?

Man benutzt Latches so gut wie gar nicht, auf jeden Fall nicht in neuen 
Designs in CPLDs und FPGAs.

MFG
Falk

von Troll B. (blaubeer)


Lesenswert?

nKK wrote:
> ich will auch keinen externen ram bentzten... es geht mir nur ums
> verstaendniss...
>
> wie genau das alles ablaeuft

- AD-Bus liefert Adresse (A7...A0)
- ALE aktiviert Latch, Latch übernimmt Adresse 7...0 und legt sie an RAM
- AD-Bus liefert Daten (D7...D0)
- WR oder RD löst Schreib- oder Lesebefehl aus, dabei liefert Latch
  A7...0, AD-Bus die Daten, A-Bus die höherwertigen Adressen.

MfG, Blaubär

von Andreas W. (Gast)


Lesenswert?

bei externen RAM.

es gibt einen 16.Bit Adressbus und einen 8.Bit Datenbus. Also braucht 
man normalerweise 24 pins für externen RAM.
bloß Pins sind knapp.
also nimmt man die unteren 8.bit des adressbus und packt die auf ein 
latch. dann schaltet man den latch so das er die 8.bit sich merkt und 
weiterreicht zum RAM. die so "freien" 8 Pins schaltet man um so das sie 
Daten empfangen können und sagt den RAM "schicke das Byte von der bei 
dir anliegenden adresse". FERTIG.

dies wiederholt man für jedes zu lesende byte.

von mr.chip (Gast)


Lesenswert?

Wo ist denn eigentlich die Abgrenzung zwischen "Latch als 'Gegenstück' 
zum Flipflop" und "Latch als Auffangregister"? Ist es mehr oder weniger 
Zufall, dass beide Latch heissen, oder gibt es da einen technischen 
Zusammenhang? Wenn ein IC Latch heisst, arbeitet es dann auch als Latch, 
d.h. mit Datenerfassung bei Clock = 1?

von Troll B. (blaubeer)


Lesenswert?

mr.chip wrote:
> Wo ist denn eigentlich die Abgrenzung zwischen "Latch als 'Gegenstück'
> zum Flipflop" und "Latch als Auffangregister"? Ist es mehr oder weniger
> Zufall, dass beide Latch heissen, oder gibt es da einen technischen
> Zusammenhang? Wenn ein IC Latch heisst, arbeitet es dann auch als Latch,
> d.h. mit Datenerfassung bei Clock = 1?

Für mich ist Flipflop der Oberbegriff für bistabile Schalungen, zu den 
auch die Latches (Auffangregister) zählen. Mag sein, dass das in diesen 
oder jenem Fachgebiet (wie z.B. CPLD und FPGA, mit denen ich mich nicht 
beschäftige) durch unsaubere Übersetzung anders gehandhabt wird, aber 
allgemein wehre ich mich gegen die Aussage dass ein Flipflop das 
Gegenstück zum Latch ist, auch wenn das im Wiki so vermittelt wird.

MfG, Blaubär

von Falk B. (falk)


Lesenswert?

@ mr.chip (Gast)

>Wo ist denn eigentlich die Abgrenzung zwischen "Latch als 'Gegenstück'
>zum Flipflop" und "Latch als Auffangregister"? Ist es mehr oder weniger

@ Troll Blaubär (blaubeer)

>Für mich ist Flipflop der Oberbegriff für bistabile Schalungen, zu den
>auch die Latches (Auffangregister) zählen. Mag sein, dass das in diesen
>oder jenem Fachgebiet (wie z.B. CPLD und FPGA, mit denen ich mich nicht
>beschäftige) durch unsaubere Übersetzung anders gehandhabt wird, aber

Das ist der Punkt, die Unterscheidung wurde bisweilen recht lasch 
gehandhabt, was natürlich bisweilen fatal ist. Seit die FPGA/CPLDs 
breitbandig auf dem Vormarsch sind wird das wieder sauber getrennt, vor 
allem im englischsprachigen Raum.

>allgemein wehre ich mich gegen die Aussage dass ein Flipflop das
>Gegenstück zum Latch ist, auch wenn das im Wiki so vermittelt wird.

Ob es nun das EXAKTE Gegenteil ist sei dahingestellt. Aber es 
unterscheidet sich deutlich.

MFG
Falk

von Troll B. (blaubeer)


Lesenswert?

Falk, ich unterscheide ja auch zwischen synchronen und asynchronen 
Kippstufen (Flipflop bedeutet ja lediglich bistabiler Multivibrator bzw. 
Kippstufe). Und bei den synchronen unterscheide ich auch zwischen 
taktzustandsgesteuerter und taktflankengesteuerter Datenpbernahme.

Allerdings wehre ich mich dagegen, alles taktzustandsgesteuerte Latch zu 
nennen und alles flankengesteuerte Flipflop.

Ich streite (mangels Insiderwissen) ja nicht, dass man das bei 
programmierbarer Logik so handhabt, wehre mich aber gegen eine 
Verallgemeinerung.

Und wenn Du noch mal den ersten Absatz des ersten Posts liest, wirst Du 
feststellen, dass es in diesem Thread nicht um programmierbare Logik 
geht, sondern um die Frage eines Mikrocontroller-Anfängers, was ein 
Latch (im Zusammenhang mit Mikrocontrollern, vermutlich mit AVRs) ist. 
Und in diesem Kontext fällt mir als erstes das ('8085-kompatible) 
XMEM-Interface einiger AVRs ein, als zweites die 
Lieblingsporterweiterung des Thomas Olly. Und in diesem Zusammenhang ist 
ein Latch lediglich ein Auffangregister, das die Daten (je nach 
Ausführung des Latches) bei H-Pegel, L-Pegel steigender oder fallender 
Flanke übernimmt.

MfG, Blaubär

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.