"reset" für 74xx574

T

Thomas Pototschnig

Guest
Hallo,

ich hab hier eine Platine, die besteht im Wesentlichen aus einem
Adress- und Datenbus, einem GAL und ein paar 74xx574ern. Das GAL macht
die Adressdekodierung und erzeugt CLK-Impulse (wird aus einem R/#W,
einem #CS und Adressleitungen erzeugt) für die Übernahme der Daten in
einen 574er vom Datenbus. Mein Problem ist jetzt, dass die Ausgänge
der 574er meistens auf HI sind (nach dem Einschalten), aber hin und
wieder auch auf LO. Also nicht wirklich definiert. (HI ist erwünscht).
Es gibt keine Controller, der direkt beim Power-On die GALs resetten
könnte. Stellt euch einfach eine ISA-Karte vor, die so arbeitet :)
Ich hab aber auch keinen Reset den ich verwenden kann.

Der "Sourcecode" des GALs ist verfügbar und kann geändert werden, der
Datenbus ist mit PullUps versehen.

Also nochmal in kurz: Die 574er müssten irgendwie beim Power-On einen
einzigen kurzen Puls kriegen, damit sie die High-Pegel vom Datenbus
übernehmen. Ein 74xx121er Monoflop wäre schon wieder zuviel aufwand.

Hat jemand eine einfach Idee?

Mit einem LM810/MAX810/MCP810 hab ich mich schon etwas gespielt,
vertrau der ganzen Sache aber nicht. (LM809 hab ich auch noch)

Mfg
Thomas Pototschnig
 
Thomas Pototschnig wrote:
Also nochmal in kurz: Die 574er müssten irgendwie beim Power-On einen
einzigen kurzen Puls kriegen, damit sie die High-Pegel vom Datenbus
übernehmen. Ein 74xx121er Monoflop wäre schon wieder zuviel aufwand.
Die einfachste Loesung ist, so der RESET low-active ist, ein
kleiner Elko zwischen RESET und GND und ein Widerstand zwischen
RESET und Vcc. So implementiert gesehen bei diversen
Z80-basierten Rechnern.

Besteht der 574 auf steileren Flanken muesste man irgendwo
eine Schmitttrigger herbekommen.

Damals, zu Zeiten des C64, hat man sowas mit einem 555
bzw 556 und ein paar Kleinteilen aufgebaut.

Gerrit
 
Die einfachste Loesung ist, so der RESET low-active ist, ein
kleiner Elko zwischen RESET und GND und ein Widerstand zwischen
RESET und Vcc. So implementiert gesehen bei diversen
Z80-basierten Rechnern.
So ein Reset wird fast überall verwendet. Ich hab aber das Problem,
dass der 574er eine positive Flanke braucht, damit er die Daten
übernimmt. Weiterhin darf der Pegel nach dem Reset nicht auf High
bleiben. Also scheidet dein Vorschlag leider schon aus. Das Problem
liegt ja daran, dass die Spannung des 574ers (und der Pull-Ups) ja
erstmal die volle Betriebsspannung erreichen müssten, bevor ich einen
Taktpuls auf den clk-pin geben kann.

Meine momentane Lösung ist mit einem LM810. Der Ausgang des LM810
steigt gemütlich mit der Betriebsspannung an und ist ein bestimmter
Pegel erreicht (bei mir 4,63V), dann schaltet er auf LO. Ich hab dann
den Ausgang des LM810 nur einfach zum CLK meines 574er dazuge-oder-t,
aber ich denke nicht, dass das sauber funktioniert weil der Ausgang
gleich der Betriebsspannung ist solange die Schwelle nicht erreicht
ist. Dann wird irgendwann mal die Schwelle erreicht, bei der der 574er
High erkennt und die Daten vom Eingang übernimmt - aber an den
Dateneingängen steigt die Spannung genauso langsam an und ob da jeder
Eingang dann High erkennt, wage ich zu bezweifeln.

Mit dem 555er lässt sich ein Monoflop aufbauen - ist aber für diesen
Zweck wieder zu aufwändig :)

Mfg
Thomas Pototschnig
 
"Thomas Pototschnig" <thomas.pototschnig@gmx.de> schrieb im Newsbeitrag
news:1126617157.829759.20840@z14g2000cwz.googlegroups.com...

Also nochmal in kurz: Die 574er müssten irgendwie beim Power-On einen
einzigen kurzen Puls kriegen
Vielleicht nimst du besser ein Latch mit RESET-Eingang ?
Statt dem 74xx574 z.B. ein 74HCT273 ?
Und dann kommt die bekannte RC-Kombination an den CLR-Eingang

+5V
|
R
+-- CLR
C
|
GND

Denn den output Enable wirst du nicht wirklich brauchen,
onst wuerde dich der Einschaltzustand nicht stoeren.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Vielleicht nimst du besser ein Latch mit RESET-Eingang ?
Statt dem 74xx574 z.B. ein 74HCT273 ?
Und dann kommt die bekannte RC-Kombination an den CLR-Eingang
Die Idee mit dem Latch ist gut. Wenn ich den 573 statt den 574 benutze,
brauch ich das Layout nicht ändern und kann den Resetbaustein LM810
benutzen, weil der 573er dann mit der negativen Flanke speichert. Außerdem
ist es für das restliche Timing des Busses egal, ob ich ein Register oder
ein Latch verwende weil die Daten am Datenbus länger anliegen als #CS und #W
aktiviert sind.

Gute Idee :)
Vielen Dank dafür

Mfg
Thomas Pototschnig
www.oxed.de
 
"Thomas Pototschnig" <thomas.pototschnig@gmx.de> schrieb im Newsbeitrag
news:3ooh94F6oc84U1@individual.net...
Vielleicht nimst du besser ein Latch mit RESET-Eingang ?
Statt dem 74xx574 z.B. ein 74HCT273 ?
Und dann kommt die bekannte RC-Kombination an den CLR-Eingang

Die Idee mit dem Latch ist gut. Wenn ich den 573 statt den 574 benutze, brauch
ich das Layout nicht ändern und kann den Resetbaustein LM810 benutzen, weil
der 573er dann mit der negativen Flanke speichert. Außerdem ist es für das
restliche Timing des Busses egal, ob ich ein Register oder ein Latch verwende
weil die Daten am Datenbus länger anliegen als #CS und #W aktiviert sind.
573 ? 573 hat kein RESET. Muss schon 273 sein.

--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
573 ? 573 hat kein RESET. Muss schon 273 sein.
Ich hab deine Idee nur halb übernommen, weil der CLR mir die Eingänge auf LO
setzt, ich sie aber auf HI bräuchte :)
Die Lösung ist dann mein LM810 Resetbaustein in Verbindung mit dem Latch und
ich bin alle Probleme los.

Mfg
Thomas Pototschnig
www.oxed.de
 
"Thomas Pototschnig" <thomas.pototschnig@gmx.de> schrieb im Newsbeitrag
news:3ooitdF70jp0U1@individual.net...

ich sie aber auf HI bräuchte :)
Oh, hab ich ueberlesen.

Die Lösung ist dann mein LM810 Resetbaustein in Verbindung mit dem Latch und
ich bin alle Probleme los.
?!?!? Wie soll das gehen ?

Wohl eher 74xx876
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Die Lösung ist dann mein LM810 Resetbaustein in Verbindung mit dem Latch
und ich bin alle Probleme los.

?!?!? Wie soll das gehen ?
Wohl eher 74xx876
Den 876er konnte ich auf die Schnelle nicht finden.
Aalso - der LM810 funktioniert so, dass er einen Ausgang hat, an dem ein
Reset erzeugt wird. Der Pin steigt mit der Betriebsspannung. Wenn ein
bestimmter Pegel erreicht ist, z.B. 4,63V hält ein interner Timer (oder
irgendwas anderes) den für eine ganze Weile auf Hi (~350ms) und erst dann
geht der Pin auf LO und bleibt dort. So - jetzt muss ich nichts weiter tun,
als im GAL den Reset mit meinem bestehenden clock-signal für das Register
(jetzt Latch) zu ver-odern. Wird jetzt der Saft eingeschaltet, wird das
Latch die ersten 350ms durch den LM810 auf Load gehalten und übernimmt die
Datenpins, die über PullUps auf high gehalten wurden. Fällt der Reset ab,
wird der Zustand gespeichert, also alle Pins auf HI. Das wichtige hierbei
ist jetzt, dass es mir egal sein kann wie schnell oder wie langsam die
Betriebsspannung an den PullUps oder an der CLK-Leitung steigt, weil die
Zustände an den Datenleitungen durch die Latch-Funktion ja ständig
übernommen und erst beim Abfallen des Resets gespeichert werden. Es kann
also nicht passieren, dass manche Leitungen als Hi, andere als Lo erkannt
werden, so wie es mit dem 574er passieren hätte können.
Die normale Funktion müsste trotz des Latches auch noch gehen, weil es egal
ist, ob ich Daten auf dem Datenbus habe und die dann mit einer positiven
Flanke übernehme, oder ob ich die Daten in ein Latch mit dem Pegel
übernehme, weil die Daten länger valid sind als die Leitungen #CS und #WR
aktiviert sind.

Bitte berichtige mich, wenn ich da immer noch einen Denkfehler drin habe.

Was macht denn der 876er? Vielleicht kann ich den bei zukünftigen Sachen
gebrauchen.

Mfg
Thomas Pototschnig
www.oxed.de
 
"Thomas Pototschnig" <thomas.pototschnig@gmx.de> schrieb im Newsbeitrag
news:3ookhsF6ncldU1@individual.net...

und übernimmt die Datenpins, die über PullUps auf high gehalten wurden
Na wenn das mal klappt.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
und übernimmt die Datenpins, die über PullUps auf high gehalten wurden
Na wenn das mal klappt.
Bestimmt :)
Aber trotzdem ist das mehr gepfusche als eine saubere Lösung.
Bei einem Re-Design werde ich dann schon was ändern ...

Mfg
Thomas Pototschnig
www.oxed.de
 

Welcome to EDABoard.com

Sponsor

Back
Top