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
Ein Latch ist entweder transparent oder gibt den letzten Zustand aus. Was du suchst ist ein buffer mit Hi-Z (tristate) Ausgang.
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
LE low OE high heisst offen und nix wird gelatcht. Aber brauchst du überhaupt ein Latch, oder tut's auch ein '244/541?
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
Kannst du das ganze mal in einen grösseren Zusammenhang bringen? Wird immer unverständlicher.
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
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
@Michael d.h. wenn LE low ist, dann kann auch nichts in das Latch hineingeschrieben werden, richtig? Paul
- 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.
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
Hab ich doch in Prosa oben formuliert. Musst du jetzt nur noch in ein Gatter übersetzen.
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.
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
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
Wozu braucht man nen Inverter? Entweder man gibt entweder gibt man 5V auf LE oder zieht ihn gegen Masse.
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
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
>--> 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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.