Forum: Mikrocontroller und Digitale Elektronik Richtiger Flipflop?


von F. M. (frabi)


Lesenswert?

Hallo,

ich habe gerade folgendes Problem;
Ich habe eine kleine Schaltung gegeben, diese hat einen Eingang X, 
welcher sich dann in zwei Wege teilt. Der eine leitet einfach das 
Eingangssignal durch, während der andere das Signal dreimal (und somit 
letztendlich) invertiert. Am Ende werden beide Leitungen in ein xor 
Gatter geführt.


Die theoretische Funktion ist nun ja, dass die Schaltung stets den 
Ausgangswert 1 besitzt. Beim Schalten von 1 auf 0 jedoch entsteht kurz 
der Wert 0.


Ich weiß, dass ich, um dies zu verhindern, einen Flipflop vor das xor 
legen kann.
Wäre der D-Flipflop hier richtig angewendet?
Ich bin mir hauptsächlich nämlich unsicher, ob ich die Funktion von dem 
D-Flipflop auch richtig verstanden habe.
Kann man pauschal sagen, dass der Wert des Eingangs D so lange 
gespeichert wird, bis an C ebenfalls ein Wert anliegt?

Und falls meine Ideen falsch sind, welcher Flipflop wäre besser 
geeignet,
bzw. wie funktioniert dieser?

Ich bedanke mich im Vorraus für jegliche Hilfe.

von HildeK (Gast)


Lesenswert?

F. M. schrieb:
> Die theoretische Funktion ist nun ja, dass die Schaltung stets den
> Ausgangswert 1 besitzt. Beim Schalten von 1 auf 0 jedoch entsteht kurz
> der Wert 0.

Nicht nur beim 1-0-Übergang, sondern auch beim 0-1-Übergang gibt es 
diesen kurzen Puls.

F. M. schrieb:
> Ich weiß, dass ich, um dies zu verhindern, einen Flipflop vor das xor
> legen kann.

Warum willst du das verhindern? Nimm doch einfach kein EXOR. Oder was 
verstehe ich da nicht?

F. M. schrieb:
> Ich bin mir hauptsächlich nämlich unsicher, ob ich die Funktion von dem
> D-Flipflop auch richtig verstanden habe.
> Kann man pauschal sagen, dass der Wert des Eingangs D so lange
> gespeichert wird, bis an C ebenfalls ein Wert anliegt?

Das an D anliegende Signal wird bei der (üblicherweise) positiven 
Flanke des Clk übernommen und erscheint am Q-Ausgang. Was zu anderen 
Zeiten an D passiert, interessiert das FF nicht. (Ich habe mal denn 
engen Bereich von Setup- und Holdzeiten vereinfacht vernachlässigt).

Könntest du mal für ein besseres Verständnis ein Pulsdiagramm zeichnen, 
aus dem hervorgeht, was du hast und was du daraus ableiten willst?

von Flopflip (Gast)


Lesenswert?

> Ich weiß, dass ich, um dies zu verhindern, einen Flipflop vor das xor
> legen kann.

Dann weisst Du etwas flash. Erforsche doch die Ursache, Stichwort 
Gatterlaufzeiten: zum Zeitpunkt t0 wechselt das Eingangssignal z.B. von 
0 nach 1, also auch der eine XOR Eingang.
Zu welchem Zeitpunkt genau wechselt denn der ander, invertierte XOR 
Eingang von 1 nach 0?
Wie müsste denn das Signal am ersten, direkten XOR Eingang verlaufen um 
am Ausgang des XORs eine stabile 1 ohne Impulse zu halten?

Da ist doch kein FF dazu nötig...

Du hast ein Haufen Blech der rostet. Wenn Du nun mehr Blech dazugibst, 
rostet es dann weniger?

von Thomas K. (ek13)


Lesenswert?

F. M. schrieb:
> Hallo,
>
> ich habe gerade folgendes Problem;
> Ich habe eine kleine Schaltung gegeben, diese hat einen Eingang X,
> welcher sich dann in zwei Wege teilt. Der eine leitet einfach das
> Eingangssignal durch, während der andere das Signal dreimal (und somit
> letztendlich) invertiert. Am Ende werden beide Leitungen in ein xor
> Gatter geführt.

Schaltplan???

von foobar (Gast)


Lesenswert?

Die Schaltung klingt wie ein Pulsgenerator, jede Flanke erzeugt einen 
Puls mit der Länge von 3 Gatterlaufzeiten. Was willst du da verhindern? 
Die Schaltung macht doch sonst nichts anderes.

von S. R. (svenska)


Lesenswert?

F. M. schrieb:
> Die theoretische Funktion ist nun ja, dass die Schaltung stets den
> Ausgangswert 1 besitzt.

Du hast den statischen Fall berechnet, d.h. wenn du die Zeit 
vernachlässigst.

> Beim Schalten von 1 auf 0 jedoch entsteht kurz der Wert 0.

Das liegt daran, dass du den dynamischen Fall berücksichtigen musst. 
Ein Gatter hat immer eine positive Verzögerung.

> Ich weiß, dass ich, um dies zu verhindern, einen Flipflop vor das xor
> legen kann.

Das ist richtig, und das Stichwort dazu heißt "einsynchronieren". Dazu 
brauchst du einen Takt, der langsamer ist als die drei Gatterlaufzeiten 
(wenn das Eingangssignal ebenfalls synchron zum Takt ist).

Ein D-Flipflop funktioniert: Es übernimmt die Veränderung nur zur 
richtigen Taktflanke, und da der Takt so langsam gewählt ist, dass dein 
"Puls" definitiv vorbei ist, wenn die folgende Flanke auftritt, geht der 
Puls durch das Flipflop nicht durch.

Das braucht man zur Glitchvermeidung in Hardware (also FPGAs und ASICs).
Frage sowas lieber im FPGA-Forum hier auf der Seite. :-)

von M.A. S. (mse2)


Lesenswert?

F. M. schrieb:
>Richtiger Flipflop?
>... einen Flipflop...
>... welcher Flipflop...

Flipflops sind nicht männlich sondern sächlich:
Das Flipflop..., welches Flipflop...

von F. M. (frabi)


Lesenswert?

HildeK schrieb:
> Könntest du mal für ein besseres Verständnis ein Pulsdiagramm zeichnen,
> aus dem hervorgeht, was du hast und was du daraus ableiten willst?


Ja tatsächlich, das Pulsdiagramm war wirklich ganz hilfreich, danke.

S. R. schrieb:
> Ein D-Flipflop funktioniert: Es übernimmt die Veränderung nur zur
> richtigen Taktflanke, und da der Takt so langsam gewählt ist, dass dein
> "Puls" definitiv vorbei ist, wenn die folgende Flanke auftritt, geht der
> Puls durch das Flipflop nicht durch.

Okay, vielen Dank. Dann fühl ich mich gleich ein bisschen sicherer in 
meinem Vorhaben.

von Joachim B. (jar)


Lesenswert?

S. R. schrieb:
> Ein D-Flipflop funktioniert

hört sich nach der Beschreibung vom TO so an

Die Überschrift "Re: Richtiger Flipflop?" liest sich komisch, was wären 
falsche FlipFlops?
Es gibt ja nun mal verschiedene:
https://de.wikipedia.org/wiki/Flipflop#Flipflop-Typen

oder sollte die Überschrift heissen "suche passendes Flipflop"?

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.