Moin,
ich suche einen 8bit Latch mit Schmittrigger-Eingängen der
Datenleitungen.
Beim 74xx573 Blick ich da gerade nicht ganz durch. Die meisten
Datenblättern erwähnen keinen ST, fürchte also er hat keinen. (Ein
exotisches Datenblatt pries hingegen ST-Eingänge in er ACT(?)-Version).
Gibt'seine Pin-kompatible, beschaffbare 74_573-Alternative mit
ST-Eingängen?
Ob invetierend oder nicht ist im Grunde egal, notfalls genügt auch
Buffer oder Verzicht auf TriState. Mit all diesen Features wäre es mir
natürlich am liebsten weil universellsten.
Geschwindigkeit ist weitestgehend unkritisch, Betrieb an 5V.
Irgendwelche Tipps? (Oder hat der 573 vielleicht doch ST-Eingänge??)
Schönen Dank vorab,
Trabi
trabi schrieb:> ich suche einen 8bit Latch mit Schmittrigger-Eingängen der> Datenleitungen.
Für ein Latch sind ST-Eingänge überflüssig, das übernimmt den Zustand
bei der Clk-Flanke - das Problem mit langsamen Eingangsflanken stellt
sich also garnicht.
Gruss Reinhard
trabi schrieb:> fürchte also er hat keinen
Da fürchtest du richtig.
Wo bei sich mir die Sinnhaftigkeit von ST-Eingängen bei einem Latch
nicht ganz erschließt. DU sagst dem Latch doch wann es die Daten
übernehmen soll, ob die Daten zum Zeitpunkt der Übernahme 10ms oder 10
minuten anliegen ist ja deine Entscheidung. Und für die Gültigkeit der
Daten bist du ja auch selber verantwortlich.
Vielleicht erklärst du mal, was die ST-Eingänge für einen super Vorteil
bringen sollen, bzw. was du vorhast?
Grüße
>Für ein Latch sind ST-Eingänge überflüssig, das übernimmt den Zustand>bei der Clk-Flanke - das Problem mit langsamen Eingangsflanken stellt>sich also garnicht.
Kann man so nicht sagen.
Wenn die Daten auch zum Clk-Zeitpunkt (noch) verrauscht bzw nicht genau
definiert sind, ist auch da SchmTrg sinnvoll.
(Viele PLDs haben SchmTrg(-Möglichkeit) an (allen) Eingängen.
Die HCT-Serie hat gerne Schmitt-Triggen an den Eingaengen.
Die haben aber gern nur 0,1 V Hysterese und werden von den
Datenblaettern auch gerne totgeschwiegen.
Im Anhang mal die Uebertragungsfunktion des D-Eingangs von einem
74HCT164.
Im Zweifel einfach mal nachmessen :-).
MCUA schrieb:> Wenn die Daten auch zum Clk-Zeitpunkt (noch) verrauscht bzw nicht genau> definiert sind
Das ist schlicht ein Denkfehler. Zu einem Zeitpunkt X hat das
Eingangssignal immer einen genau definierten Wert. Dass der einen Moment
später durch Rauschen etwas anders sein kann ist irrelevant. Die
Abtastung eines Signals, das ständig um den Umschaltpunkt schwankt, ist
sowieso nicht sinnvoll, das ist nur einfach ungültig, und daran ändert
auch ST-Verhalten nichts. Und wenn der Clk genau zum Zeitpunkt kommt, zu
dem das Signal den Zustand wechselt, ist das ein grober Designfehler.
Gruss Reinhard
> Das ist schlicht ein Denkfehler. Zu einem Zeitpunkt X hat das> Eingangssignal immer einen genau definierten Wert.
Richtig.
> Die Abtastung eines Signals, das ständig um den Umschaltpunkt schwankt,> ist sowieso nicht sinnvoll, das ist nur einfach ungültig, und daran ändert> auch ST-Verhalten nichts.
Was fuer jemanden sinnvoll ist, entscheidet der schon selber.
Und wenn ihn dabei die Hysterese eines Schmitt-Trigger unterstuetzt,
dann waehlt er das Bauelement danach passend aus.
Bei mir eben z.B. ein 74HCT164 statt eines 74HC164.
Mindestens der Stromverbrauch der Schaltung wird es ihm danken.
Wenn das in Deine scheinbar kleine Welt nicht passt, ist das Dein
Problem.
>> Wenn die Daten auch zum Clk-Zeitpunkt (noch) verrauscht bzw nicht genau>> definiert sind>Das ist schlicht ein Denkfehler. Zu einem Zeitpunkt X hat das>Eingangssignal immer einen genau definierten Wert.
Das ist schlicht ein Denkfehler.
Es kann sein, (Annahme, dass um Clk-Zeitpunkt herum Werte stabil sein
sollten) dass zum Clk-Zeitpunkt die Werte stabil aniegen bzw im defini-
Bereich liegen, es MUSS aber nicht!
Für diesen Fall ist SchmTrg sinnvoll.
(zugegeben, vom Design her sollten zu dem betr Zeitpunkt die Signale
-eigentlich- nicht im unerlaubten Bereich sein. Aber wenn doch ist
SchmTrg sinnvoll.)
Klaus 2m5 schrieb:> Latches haben einen transparenten Zustand.
Eben, nämlich wenn das Signal "Latch Enable" nicht aktiv ist. In diesem
Falle können sich die Inputs und Outputs im Pegel durchaus voneinander
unterscheiden, je nach dem ob die Inputs in der Nähe einer
Schaltschwelle bzw. verbotenen Bereiches liegen oder nicht. Sie sind ja
nicht direkt starr durch geschaltet, wie ein Relaiskontakt, sondern
laufen über Gatter, und wenn das nur reine Puffer sind. Spätestens die
Tristate-Schaltung im Ausgang ist wie eine Pufferung. Ich müßte es aber
auch mal testen, bzw. nach der internen Gatterschaltung eines solchen
Latches wie im 573 suchen.
Meistens hat man aber da mit Schmitt-Trigger nichts am Hut, z.B. wenn so
ein 74573 als Adreßmultiplexer an einem µC hängt. Da sind die Pegel ja
z.B. durch die TTL-Spezifikation definiert, und Schalten während eines
Pegelwechsels gibt es da auch nicht. Es sei denn, man gestaltet den Bus
schon mächtig schrottig, mit allen Designfehlern, die nur möglich sind.
Bei TTL bspw. gibt es ja bereits einen Störspannungsabstand.
> Nur ein Register (z.B. 574) ist edge clocked!
Ein Latch genaugenommen auch!
Es speichert (nach (beim FF nicht vorhandenen) Transparent-Zustand ) den
Wert just ab der Flanke, nicht vorher, nicht später.
Und wenn das Signal grade während dieses Zeitpunkts vom Pegel her nicht
eindeutig ist (warum auch immer) macht SchmTrg Sinn.
(davon abgesehen haben die meisten uCs u PLDs das ohnehin am Eingang)
Davon abgesehen würd für so ein Bussystem eh kein Latch nehmen, weil im
Transp-Zustand ja (wenn float) falsche Werte übertragen werden.
>Da sind die Pegel ja z.B. durch die TTL-Spezifikation definiert,
Ja, am IC-Out, aber nicht unbedingt am Ende der (langen) Leitung, und
damit am IC-Eingang.
MCUA schrieb:> Davon abgesehen würd für so ein Bussystem eh kein Latch nehmen, weil im> Transp-Zustand ja (wenn float) falsche Werte übertragen werden.
Ein 8051 hat immer einen Adreßmultiplexer vom Typ 573 am externen Bus,
8085 und 8048 auch. Das macht da keinerlei Probleme.
An anderen Systemen, z.B. µC von Zilog, sah ich wiederum den Typ 574 als
Busmultiplexer. Am 8051 funktioniert der 574 nicht, man müßte da "Latch
Enable" bzw. "Clock" invertieren.
1992 designte ich ein Board mit einem Standard-8051, weil die I/O nicht
reichten. Erweiterte I/O über den Bus. Das funktioniert wiederum sowohl
mit 74573 Latch als auch mit 74574 D-FF, sogar ohne die Software zu
ändern. Diese beiden Bausteine sind ja vom Pinning her identisch. Zur
Datenübernahme gibt es da einen kurzen Impuls an Latch Enable (74573)
bzw. Clock (74574).
>Ein 8051 hat immer einen Adreßmultiplexer vom Typ 573 am externen Bus,>8085 und 8048 auch. Das macht da keinerlei Probleme.
Dass es bei diesen CPUs ein Latch sein soll, habe ich nicht bestritten,
auch für AVR solls ein Latch sein. (ein '573, '574 ist aber kein
Multiplexer)
Jedoch bei diesen Schaltungen (insbes beim AVR) muss das Latch zieml
dicht an die CPU, und schon gar nicht weit entfernt auf Bus sein, wegen
Timing, weil es die BusSign ja selbst liefert. (Hier wird die
Transp-Zeit mit ausgenutzt, weil während dieser Zeit schon die Sign auf
den Bus geleitet werden)
:
> Davon abgesehen würd für so ein Bussystem eh kein Latch nehmen, weil im> Transp-Zustand ja (wenn float) falsche Werte übertragen werden.
Annahme für universellen Bus, dass das FF auf den Bus-Modulen sitzt und
nicht direkt neben CPU (um dort die BusSign selbst zu liefern).
MCUA schrieb:>>Ein 8051 hat immer einen Adreßmultiplexer vom Typ 573 am externen Bus,>>8085 und 8048 auch. Das macht da keinerlei Probleme.> Dass es bei diesen CPUs ein Latch sein soll, habe ich nicht bestritten,> auch für AVR solls ein Latch sein. (ein '573, '574 ist aber kein> Multiplexer)
Die Schaltung z.B. am gemischten Adreß-/Datenbus nennt sich aber sehr
wohl Multiplexer, wenn auch konkret Busmultiplexer.
> Jedoch bei diesen Schaltungen (insbes beim AVR) muss das Latch zieml> dicht an die CPU, und schon gar nicht weit entfernt auf Bus sein, wegen> Timing, weil es die BusSign ja selbst liefert. (Hier wird die> Transp-Zeit mit ausgenutzt, weil während dieser Zeit schon die Sign auf> den Bus geleitet werden)
Das kommt ganz auf die Taktfrequenz an. Bei einem 8085 mit nur 1MHz
Quarz oder noch weniger darf der Bus schon räumlich etwas ausgedehnter
sein, und bleibt unkritisch. Sogar so unkritisch, daß ich einen 8085 mal
mit einem groben Drahtverhau aufbaute. Ein 8048-Derivat steckt zur Zeit
auch noch mit ziemlich langen Drähten auf einem Steckbrett, geschätzter
Drahtverbrauch für alle externen Speicherbausteine ungefähr 20 Meter.
Der läuft mit einem Taktteiler wie z.B. 4040 mal mit 1MHz und mal mit
250kHz.
An einem Board mit dem SAB80C517A mit 18MHz habe ich einen Bus zu den
externen Speicherbausteinen, der bis zum letzten Baustein ca. 15cm lang
ist. Das hat niemals irgend ein Problem gemacht, und die Busfrequenz ist
auch nur 1/6 des Quarzes. Allerdings muß man das in der Auswahl der
Bausteine sorgfältig handhaben.
Wenn ich den µC im Slow-Down-Mode betreibe, also mit durch 8 geteiltem
Takt, der Bustakt ist da schon um 48 geteilt, was für einige meiner
Anwendungen auch reicht, dann entstehen erst recht keine Probleme.
Auch bei Transparenz des Latches gelangen die Signale wegen der internen
Gatterlaufzeiten nur verzögert an die Outputs. Zu diesem Zweck hat ein
µC aber ein Timing-Diagramm, wonach man die richtigen schnellen
passenden Bausteine zusammen mit dem Busmultiplexer aus sucht.
>Die Schaltung z.B. am gemischten Adreß-/Datenbus nennt sich aber sehr>wohl Multiplexer, wenn auch konkret Busmultiplexer.
Naja. Ein '573 or '574 zB multiplext überhaupt nichts, das macht ggfs
die CPU.
>Das kommt ganz auf die Taktfrequenz an. Bei einem 8085 mit nur 1MHz>Quarz oder noch weniger darf der Bus schon räumlich etwas ausgedehnter>sein, und bleibt unkritisch.
Ja, der gesamte Bus, vielleicht.
Aber das (ALE)Timing kann trotzdem (bsp AVR) knapp werden.
Zudem gibt es aber auch keinen Grund das ALE-Latch nicht dicht an die
CPU zu setzen.
MCUA schrieb:> Zudem gibt es aber auch keinen Grund das ALE-Latch nicht dicht an die> CPU zu setzen.
Auf einer seriösen Platine macht man das selbstverständlich auch so.
Allerdings hat man auf dem Steckbrett leider immer etwas längere Drähte
dran, als Leiterbahnen auf einer Platine sind. Ich möchte ja da mit den
Fingern dran hantieren, nicht mit einer langen Spitzzange, und überhaupt
noch was im Kabelwust sehen. Was mich erstaunt, ist, daß ich bisher auf
dem Steckbrett keine Ausfälle bzw. Störungen hatte. Na ja, wegen der
absichtlich niedrigen Frequenzen wohl.