Forum: Mikrocontroller und Digitale Elektronik Latch Konfig


von Paul (Gast)


Lesenswert?

Hallo,

ich verwende in meiner Schaltung ein Latch, welches entweder komplett 
den datenverkehr sperren soll oder transparent sein soll...

der transparente zustand ist mir klar: OE muss low sein und LE ist 
high...

aber wie stell ich einen Zustand her, so dass erstens nicht durchgeht 
(also OE disable = high) aber auch nichts im internen Latch gespeichert? 
Oder hab ich einen Denkfehler... wenn was gespeichert werden würde, 
würde dass dann beim nächsten transparenten zustand rausgeschickt 
werden, ja oder? Wenn ja, genau das möchte ich verhindern...

www.standardics.nxp.com/products/lvc/pdf/74lvch32373a.pdf

Paul

von Frank (Gast)


Lesenswert?

Ein Latch ist entweder transparent oder gibt den letzten Zustand aus. 
Was du suchst ist ein buffer mit Hi-Z (tristate) Ausgang.

von Michael U. (Gast)


Lesenswert?

Hallo,

naja, wenn es nichts speicehrn soll, reicht ja ein Bustreiber. (74245 
usw. usw.

Wenn Du den 373 nimmst, eben LE auf H und nur mit OE die Ausgänge 
tri-state schalten...

Gruß aus Berlin
Michael

von Andreas K. (a-k)


Lesenswert?

LE low OE high heisst offen und nix wird gelatcht. Aber brauchst du 
überhaupt ein Latch, oder tut's auch ein '244/541?

von Paul (Gast)


Lesenswert?

also wenn was im latch während des transparenten zustands gespeichert 
wird, ist das ok... nur wenn daten über den datenbus von anderen ICs 
kommen, sollen die nicht in diesem Latch gespeichert werden können... 
soll das latch überhaupt nicht interessieren...

Paul

von Andreas K. (a-k)


Lesenswert?

Kannst du das ganze mal in einen grösseren Zusammenhang bringen? Wird 
immer unverständlicher.

von Michael U. (Gast)


Lesenswert?

Hallo,

wenn der 373 auf transparent steht, wird überhaupt nichts gespeichert.
Änderungen am Eingang erscheinen am Ausgang. Wenn /OE H ist, ist der 
Ausgang hochohmig, es kommt also nichts raus. Der Zustand des Latch 
hängt damit garnicht zusammen, den bestimmt nur LE.

Gruß aus Berlin
Michael

von Paul (Gast)


Lesenswert?

an dem Datenbus des µC hängt ein RAM und eben die Outputs...

im ersten schritt kommen daten über den datenbus in den µC (diese daten 
sollen aber nicht an die Outputs gelangen - sind aber die gleichen 
Leitungen)...

im zweiten Schritt werden diese Daten aus dem µC an die Outputs gesendet 
(durch das Latch, welches dann transparent sein soll)...

einen extremfall gibt es... wenn keine neue Daten mehr im RAM sind, 
werden auch keine an den controller übergeben somit erhalten die outputs 
auch keine neue daten.. im latch sollen somit die letzten daten stets 
festgehalten werden, die im transparenten zustand durchgehen (was ja 
auch so funktionieren müsste)...

nur bin ich mir nicht sicher, ob die Bits die vom RAM kommen nicht auch 
dann im Latch drinnenstehen..

Paul

von Paul (Gast)


Lesenswert?

@Michael

d.h. wenn LE low ist, dann kann auch nichts in das Latch 
hineingeschrieben werden, richtig?

Paul

von Andreas K. (a-k)


Lesenswert?

- wenn der Inhalt vom Datenbus geschrieben wird (WR/=0)
- und wenn damit die Latches statt des RAMs gemeint sind (CS/-Latch=0)
- dann LE=1, sonst LE=0.

von Paul (Gast)


Lesenswert?

also wenn die Bits an das Latch gehen sollen LE=1 und OE=0

wenn die Bits vom RAM in den µC kommen (latch nicht angesprochen werden 
soll) -> LE=0

wie schließt man eigentlich das LE-Signal an den µC an (muss ich da noch 
einen Inverter zwischen LE Latch und CS vom µC einbauen?)

Paul

von Andreas K. (a-k)


Lesenswert?

Hab ich doch in Prosa oben formuliert. Musst du jetzt nur noch in ein 
Gatter übersetzen.

von Thomas (kosmos)


Lesenswert?

Ich habe da immer so gemacht (74HC573N) das ich den Wert ans Latch zum 
Speichern übergeben habe und danach seine Ausgänge freischalte, danach 
die Eingänge hochohmig und ich kann den Bus wieder für andere I/O Zwecke 
verwenden. Es ist egal ob was drin gespeichert ist da du ja einfach den 
Ausgang sperren kannst, beim nächsten mal gibtse halt erst frische Daten 
rein und schaltest dann die Ausgänge frei.

von Torben (Gast)


Lesenswert?

und für das LE Signal benötigt man einen Hex-Inverter, damit man vom µC 
aus der Latch per CS enablen kann, oder wie macht man das?

CS ist ja per default bei Low aktiv...

Torben

von Paul (Gast)


Lesenswert?

also so wie ich das verstehe muss man so ein Hex-Inverter verwenden wie 
einen 74LVT04 von NXP

http://www.standardics.nxp.com/products/lvt/pdf/74lvt04.pdf

verwenden, damit man das CS-Signal vom µC an den LE-Input vom Latch 
anschließen kann...

naja etwas oversized (meines erachtens), wenn man nur ein Bit umkippen 
möchte,...

Paul

von Thomas (kosmos)


Lesenswert?

Wozu braucht man nen Inverter? Entweder man gibt entweder gibt man 5V 
auf LE oder zieht ihn gegen Masse.

von Torben (Gast)


Lesenswert?

hallo Thomas wie macht man das?

wenn ich LE über einen Pullup-Widerstand mit VCC verbinde, so dass er 
standardmäßig Low ist (LE) aber wie muss ich dann CE mit LE verbinden...

das mit dem Schalter der LE auf Low hält oder auf VCC zieht in 
Verbindung mit CS hab ich leider noch nicht verstanden wie das 
funktioniert


Torben

von Paul (Gast)


Lesenswert?

Wenn LE mit einem Pulldown-Widerstand an GND angeschlossen ist, dann 
wird dieser standard-mäßig auf low gezogen.

-> wenn jetzt ein low enable Impuls vom CE kommt, wird ja der LE nicht 
auf High gezogen, so dass es passt...

--> mit einem inverter oder einem transistor könnte es funktionieren.. 
aber nur mit pullup-down-widerstand doch nicht, oder?

Paul



von Anne (Gast)


Lesenswert?

>--> mit einem inverter oder einem transistor könnte es funktionieren..
>aber nur mit pullup-down-widerstand doch nicht, oder?

geht nicht; wurde mir so auch hier im Forum erklärt... ein Widerstand 
ist nur ein passives Element und kann dadurch nicht zwei Zustände 
einnehmen.

Anne

von Peter D. (peda)


Lesenswert?

Paul wrote:

> einen extremfall gibt es... wenn keine neue Daten mehr im RAM sind,
> werden auch keine an den controller übergeben somit erhalten die outputs
> auch keine neue daten.. im latch sollen somit die letzten daten stets
> festgehalten werden, die im transparenten zustand durchgehen (was ja
> auch so funktionieren müsste)...

Wenn keine neuen Daten im SRAM sind, warum sollte die CPU dann so blöd 
sein, ihn auszulesen.

Denn nur die CPU kann wissen, ob die Daten neu sind oder nicht.

Der SRAM weiß es jedenfalls nicht, er dünkt sich immer randvoll mit 
Daten, selbst direkt nach dem Einschalten.

Es sind immer Nullen und Einsen drin, einen 3.Zustand "leer" gibt es 
nicht.


Peter

von Thomas (kosmos)


Lesenswert?

man kann einen Pin so konfigurieren das er entweder 5V liefert oder eben 
gegen Masse durschaltet. Wenn man 5V auf LE gibt ist dieser Pin auf High 
und wenn man den LE-Pin gegen Masse schaltet ist dieser garantiert Low. 
Wozu also nen Pull up oder Pull down?

Pull-ups oder Pulldown nutze ich eigentlich nur für freie Pins damit ich 
mir sicher bin das da High oder Low anliegt evtl. noch für die Basis 
oder Gate Beschaltung von Transistoren. Dann wird aber auch ca. 10kOhm 
benutzt damit der µC das auch sicher umschalten kann und nicht so stark 
belastet wird. Ggf nutze ich das noch wenn irgenwo immer das gleiche 
Anliegen muss dann brauch ich dafür nicht extra einen Pin verbraten.


Nochmals der genaue Ablauf.

1. OE auf High, dadurch sind die Latchausgänge deaktiviert (hochohmig) 
es erscheint also nichts unerwünschtes am Ausgang.
2. LE auf High dadurch landen die Daten an den Eingängen zu den 
Ausgängen, welche aber noch deaktiviert sind.
2. Daten an Latcheingänge legen
4. LE kurz auf Low ziehen und wieder loslassen, wenn man die Daten im 
Latch gespeichert haben will. Ist ja der eigentliche Sinn.
5. OE auf Low ziehen und die Daten werden von den Ausgängen ausgegeben
6. OE auf High und die Ausgänge sind wieder hochohmig

Wenn man LE ständig auf High läßt werden die Daten an den Eingängen 
direkt weitergegeben also ohne gespeichert zu werden. OE muss aber Low 
sein damit mans am Ausgang auch sieht. Und wenn man was an den Eingängen 
ändert sieht man das auch gleich an den Ausgängen, aber für diese 
Funktionsweise bräuchte man auch kein Latch.

Habe dir mal eine Schaltugn angehängt wie ich es früher per Hand 
getestet habe. RN1, R1 und R2 jeweils 10 kOhm. RN2 müsste um die 1 kOhm 
als Strombegrenzung für die LEDs sein. Kann man mit nem 
Widerstandsnetzwerk und einer LED-Reihe einigen Dipschalten sehr schön 
auf dem Steckbrett aufbauen und testen bevor dus mit dem µC machen 
willst. RN1 zieht das ganze leicht gegen Masse damit keine Störungen 
eingefangen werden und die Latcheingange was empfangen.

http://people.freenet.de/Thomasoly/Latch.png

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.