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
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
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.
@ 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
Also benutzt man Latches nur als zwischenspeicher? wozu braucht man sie dann genau bei adress- und busleitungen?
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.
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
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.
ich will auch keinen externen ram bentzten... es geht mir nur ums verstaendniss... wie genau das alles ablaeuft
@ 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
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
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.
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?
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
@ 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.