Forum: Mikrocontroller und Digitale Elektronik 8bit Latch mit Schmitt-Trigger


von trabi (Gast)


Lesenswert?

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

von Martin B. (statler)


Lesenswert?


von Reinhard Kern (Gast)


Lesenswert?

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

von Kaj (Gast)


Lesenswert?

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

von MCUA (Gast)


Lesenswert?

>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.

von ./. (Gast)


Angehängte Dateien:

Lesenswert?

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 :-).

von Reinhard Kern (Gast)


Lesenswert?

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

von ./. (Gast)


Lesenswert?

> 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.

von MCUA (Gast)


Lesenswert?

>> 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.)

von Klaus 2. (klaus2m5)


Lesenswert?

Latches haben einen transparenten Zustand. Da kann ein Schmitt-Trigger 
durchaus sinnvoll sein. Nur ein Register (z.B. 574) ist edge clocked!

von Wilhelm F. (Gast)


Lesenswert?

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.

von MCUA (Gast)


Lesenswert?

> 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.

von Wilhelm F. (Gast)


Lesenswert?

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).

von MCUA (Gast)


Lesenswert?

>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).

von Wilhelm F. (Gast)


Lesenswert?

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.

von MCUA (Gast)


Lesenswert?

>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.

von Wilhelm F. (Gast)


Lesenswert?

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.

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.