Forum: Mikrocontroller und Digitale Elektronik Hilfe gesucht! D-Flip-Flop will nicht.


von Maik S. (Firma: Elektro-Automatik) (mstaberock)


Lesenswert?

Hallo!

Habe folgende Schaltung, die in TINA einwandfrei funktioniert:
http://www.imgimg.de/bild_tina0311e616jpg.jpg.html

Beim Simulieren ist der Anfangszustand von Q low. So wie gewünscht.

In der realen Schaltung ist er high.

In der Simulation, wenn ich den Taster betätige, wechselt Q den Pegel 
und hält ihn, so wie gewünscht. Die zwei R's und das C sind zum 
Entprellen.

In der realen Schaltung toggelt Q nicht, es nimmt nur solange den 
Zustand 0 an, wie ich den Taster drücke.

IC ist ein 74LVC74, also 3.3V System.

Keine Ahnung, was hier los ist. Es verhält sich völlig unlogisch.

Danke schon mal für Hinweise. Vielleicht seh ich den Wald nur vor Bäumen 
nicht.

von Maik F. (sabuty) Benutzerseite


Lesenswert?

Schaltplan?
TINA Screenshot?

von Maik S. (Firma: Elektro-Automatik) (mstaberock)


Lesenswert?

Siehe oben. Ich wollte das Bild nachträglich einfügen, weil ich 
übersehen habe, daß man hier Bilder anhängen kann. Aber das ging nicht. 
Hatte zwischendurch den Link entfernt.

von Peter D. (peda)


Lesenswert?

Maik Staberock schrieb:
> und hält ihn, so wie gewünscht. Die zwei R's und das C sind zum
> Entprellen.

Nö, das mögen Logik-ICs nicht.
Schaunmermal ins Datenblatt: max rise-/falltime = 10ns/V !!!

http://focus.ti.com/lit/ds/symlink/sn74lvc74a.pdf

Und bei CMOS müssen immer alle Eingänge beschaltet werden, auch die des 
2.FF !!!


Peter

von Maik S. (Firma: Elektro-Automatik) (mstaberock)


Lesenswert?

Das mit den Eingängen wäre ein Ding. Die sind tatsächlich unbeschaltet 
bei mir. Aber wenn es doch zwei getrennte FFs sind, wieso sollte sich 
das auswirken? Ts, Logik-ICs! Nichts ist da logisch...

Das mit der "max. transition for fall/rise" ist wohl eher andersrum zu 
sehen. Daß die Spannung nicht schneller (kürzer) als 10ns/V ansteigen 
darf, weil es das IC sonst nicht mitkriegt. Trägheit usw.

von Maik F. (sabuty) Benutzerseite


Lesenswert?

Maik Staberock schrieb:
> Das mit der "max. transition for fall/rise" ist wohl eher andersrum zu
> sehen. Daß die Spannung nicht schneller (kürzer) als 10ns/V ansteigen
> darf, weil es das IC sonst nicht mitkriegt. Trägheit usw.

Und wie genau erklärst du dann die Verwendung des Wortes "maximal" in 
diesem Kontext?

von Maik S. (Firma: Elektro-Automatik) (mstaberock)


Lesenswert?

Daß der Anstieg oder Abfall max. 10ns/V betragen darf, anderenfalls 
reagiert das IC nicht darauf. Es wäre zu träge.

von Michael U. (amiga)


Lesenswert?

Hallo,

Maik Staberock schrieb:
> Hallo!
>
> Habe folgende Schaltung, die in TINA einwandfrei funktioniert:
> http://www.imgimg.de/bild_tina0311e616jpg.jpg.html
>
> Beim Simulieren ist der Anfangszustand von Q low. So wie gewünscht.
>
> In der realen Schaltung ist er high.
Warum auch nicht? Preset und Clear leigen fest auf H, es ist also der 
inneren Lust und Laune des FF überlassen, welchen Zustand es einnimmt.
PullUp Widerstand an Clear, Kondensator gegen GND und Du hast die 
minimale Reset-Logik, die den gewünschten Zustand erzwingt.

> In der Simulation, wenn ich den Taster betätige, wechselt Q den Pegel
> und hält ihn, so wie gewünscht. Die zwei R's und das C sind zum
> Entprellen.
>
> In der realen Schaltung toggelt Q nicht, es nimmt nur solange den
> Zustand 0 an, wie ich den Taster drücke.
Die Werte der "Entprellgeschichte" sind stark von Taster und Daten der 
Logikfamilie abhängig. Je schneller die ist, umso schlechter klappt 
sowas nach meiner Erfahrung.

Bei wurde das dann meist ein RS-FF davor und ein Umschalttaster, das 
geht wenigstens immer stabil...

Gruß aus Berlin
Michael

von Peter D. (peda)


Lesenswert?

Maik Staberock schrieb:
> Das mit der "max. transition for fall/rise" ist wohl eher andersrum zu
> sehen. Daß die Spannung nicht schneller (kürzer) als 10ns/V ansteigen
> darf, weil es das IC sonst nicht mitkriegt. Trägheit usw.

Dann schaunmernochmal:
Maximale Frequenz ist 150MHz, das egibt bei 3,3ns Pulsbreite 0ns/V als 
minimum rise/fall.

Logik-Chips sind so ausgelegt, daß sie von ihresgleichen angesteuert 
werden und da sind 10ns ne Ewigkeit.

Für schnarchlahme Signale gibts extra Schmitt-Trigger (74LVC14).


Peter

von Peter D. (peda)


Lesenswert?

Maik Staberock schrieb:
> Das mit den Eingängen wäre ein Ding. Die sind tatsächlich unbeschaltet
> bei mir. Aber wenn es doch zwei getrennte FFs sind, wieso sollte sich
> das auswirken? Ts, Logik-ICs! Nichts ist da logisch...

Siehe S.3, Fußnote:
(1) All unused inputs of the device must be held at VCC or GND to ensure 
proper device operation. Refer to the TI application report,
Implications of Slow or Floating CMOS Inputs, literature number SCBA004.


Peter

von Maik S. (Firma: Elektro-Automatik) (mstaberock)


Lesenswert?

Danke bis dahin. Ich hatte das zweite FF zuerst in der Schaltung drin 
und belegt, dann aber später wieder entfernt und "vergessen". Die Pins 
liegen offen. Mal schauen, ob es das war.

@ Michael:

Sicher? Es muß doch auch ohne S(P) und R(C) einen definierten 
Anfangszustand für ein D-Flip-Flop geben. Der wäre eigentlich Q=0, da 
D=0 und noch nichts geclockt. Der Taster soll mit dem FF zusammen einen 
Schalter ergeben und dieser soll natürlich nach Zuschalten der Spannung 
offen, also 0 sein.
Eventuell muß ich doch S verwenden.

von Maik S. (Firma: Elektro-Automatik) (mstaberock)


Lesenswert?

Nein, funktioniert auch nicht besser wenn alle Eingänge beschaltet sind. 
Es hält den einfach Zustand nicht. Unterm Oszi abgeguckt, prellt nix am 
CLK.
Ich weiß nicht, was ich da noch machen soll. Die Logiktabelle ist 
eindeutig

Input          Output
nSD nRD nCP nD nQn+1 nQn+1
H   H ­  up  L  L     H
H   H ­  up  H  H     L

von Peter D. (peda)


Lesenswert?

Maik Staberock schrieb:
> Nein, funktioniert auch nicht besser wenn alle Eingänge beschaltet sind.

Solange Du die max 10ns/V nicht einhältst, wundert mich das garnicht.

Wenn man schon super schnelle 150MHz ICs nimmt, muß man auch 
entsprechend steile Signale bereitstellen.


Peter

von Michael U. (amiga)


Lesenswert?

Hallo,

Maik Staberock schrieb:
> @ Michael:
>
> Sicher? Es muß doch auch ohne S(P) und R(C) einen definierten
> Anfangszustand für ein D-Flip-Flop geben. Der wäre eigentlich Q=0, da
> D=0 und noch nichts geclockt. Der Taster soll mit dem FF zusammen einen
> Schalter ergeben und dieser soll natürlich nach Zuschalten der Spannung
> offen, also 0 sein.
> Eventuell muß ich doch S verwenden.

Das FF ist flankengetriggert. Mit der L/H-Flanke übernimmt es den 
Zustand von D an Q.

Welchen Zustand außer einem zufälligen sollte sich also nach PowerOn 
einstellen?
Das ist Eingeschaft jedes üblichen FF, wenn nicht durch spezielle 
Maßnahmen (intern oder extern) für einen gewollte Zustand gesorgt wird.
Bei den 74xx74 muß Du Dich selbst drum kümmern.

Es gibt zwar bei praktischen Bauteilen eine exemplarabhängige 
Vorzugslage, die sich bei PowerOn sehr oft bis immer einstellt, die 
beruht aber einfach auf Fertigungstoleranzen und kann beim nächsten 
Exemplar anders ausfallen.

Sehr schön kann man das bei statischen Rams sehen: wenn man ein Exemplar 
nach PowerOn ausliest, bekommt man immer das gleiche Muster mit wenigen 
Abweichungen. Aber bei jedem Ramexemplar ein anderes. :-)

Gruß aus Berlin
Michael

von Maik S. (mstaberock2)


Lesenswert?

Jo, danke nochmal für die vielen Hinweise.
Ich will mal zusammenfassen:

a) wird gesagt, der Anstieg am CLK dürfte max. 10ns/V dauern, also etwa 
30ns. Das würde bedeuten, ich müßte vor dem FF noch einen Treiber 
schalten, wenn das 74LVC74 von NXP nicht Schmitt-Trigger-Eingänge für 
genau den Zweck des etwas langsameren Schaltens, also mittels Taster, 
hätte.

b) die RC-Kombination am CLK, für's Entprellen, zwar die Zeit für den 
Anstieg auf wesentlich mehr als 30ns erhöht, es aber ohne den C 
genausowenig geht.

c) die Wahl eines CMOS-ICs für 3,3V, also LVC, nicht unbedingt die beste 
Wahl sein könnte, aber eigentlich gängig ist und auf diversen Webseiten 
mit eben dieser Schaltung für einen Taster mit Schaltfunktion und 
IC-Typen wie SN7474 oder CD4013 doch eigentlich das gleiche realisiert 
wurde und wohl auch funktionierte.

d) Wenn der Zustand des FF nach dem Power-Up willkürlich wäre, dann 
dürfte Q nicht immer 1 sein, ist er bei mir aber.

e) der Zustand nach dem Power-Up ja vielleicht noch egal wäre, wenn es 
danach ordentlich togglen würde. Aber es reagiert eher wie ein 
UND-Gatter. Und ja, auf Gehäuse steht wirklich 74LVC74 drauf. Nicht daß 
jemand meint, ich hätte aus Versehen ein UND-Gatter verbaut. ;o)

f) die Toggle-Funktion des FF bei Verwendung von R/S außer Kraft gesetzt 
würde, wenngleich ich dann mit R einen definierten Anfangszustand für Q 
hätte.

Lösung: keine
Fehler: kein erkennbarer

Es gibt noch einen 74LV74, der langsamer ist. Aber ob der besser 
funktioniert? Alternativ gäbe es noch das T-Flip-Flop 
(http://www.elektronik-kompendium.de/sites/dig/0210033.htm).

von Helmut L. (helmi1)


Lesenswert?

1. Schalte einen Schmitttrigger (74xx14) vor dem Clock damit die 
Flankensteilheit eingehalten wird.


2. Hast du zwischen VCC und GND auch einen Abblockkondensator ?
Ohne den funktioniert das ganze nicht .

Gruss Helmi

von Roger S. (edge)


Lesenswert?

Maik S. schrieb:
> c) die Wahl eines CMOS-ICs für 3,3V, also LVC, nicht unbedingt die beste
> Wahl sein könnte, aber eigentlich gängig ist und auf diversen Webseiten
> mit eben dieser Schaltung für einen Taster mit Schaltfunktion und
> IC-Typen wie SN7474 oder CD4013 doch eigentlich das gleiche realisiert
> wurde und wohl auch funktionierte.

Wenns nur um 3,3V geht reicht hier ein 74HC74.

> Lösung: keine
> Fehler: kein erkennbarer

An deinem Aufbau stimmt was nicht, du muesstes den kompletten Schaltplan 
posten. Am besten gleich ein Bild vom Aufbau dazu.

> Es gibt noch einen 74LV74, der langsamer ist. Aber ob der besser
> funktioniert?

Wozu brauchst du ueberhaupt schnelle Logik wenns nur um einen 
toggle-switch geht?

Vielleicht haettest du mehr Erfolg wenn du das mit einem Acht-/oder 
Sechs-Pin uC loesen wuerdest. SCNR

Cheers, Roger

von Maik S. (mstaberock2)


Lesenswert?

Helmut Lenzen schrieb:
> 1. Schalte einen Schmitttrigger (74xx14) vor dem Clock damit die
> Flankensteilheit eingehalten wird.
>
>
> 2. Hast du zwischen VCC und GND auch einen Abblockkondensator ?
> Ohne den funktioniert das ganze nicht .
>
> Gruss Helmi

1. Ja, werde ich wohl tun müssen oder auf T-Flipflop wechseln. Die 
Flankensteilheit habe ich mit dem Taster und ohne C ja eigentlich. Nur 
den undefinierten Zustand nach dem Einschalten eben auch.

2. Aber sicher!

von Maik S. (mstaberock2)


Angehängte Dateien:

Lesenswert?

Roger Steiner schrieb:
> Wozu brauchst du ueberhaupt schnelle Logik wenns nur um einen
> toggle-switch geht?

Nur? Es gibt nur schnelle Logik als D-Flipflop oder für 3,3V. Das anders 
aufzubauen wäre zu aufwendig.

> Vielleicht haettest du mehr Erfolg wenn du das mit einem Acht-/oder
> Sechs-Pin uC loesen wuerdest.

Kein Zeit für. Muß morgen fertig sein. Eventuell löse ich das mit dem 
T-Flipflop, das ich für den Prototypen auf ne Hilfsplatine löte.

Hmm, das Bild ist rechts blöd abgeschnitten. Dort sind zwei Transistoren 
noch dran.

von Roger S. (edge)


Lesenswert?

Maik S. schrieb:
> Nur? Es gibt nur schnelle Logik als D-Flipflop oder für 3,3V. Das anders
> aufzubauen wäre zu aufwendig.

wie gesagt, ein 74HC74 reicht hier dicke.

Cheers, Roger

von Maik S. (Firma: Elektro-Automatik) (mstaberock)


Lesenswert?

Roger Steiner schrieb:
> wie gesagt, ein 74HC74 reicht hier dicke.
>
> Cheers, Roger

Ich verstehe nicht ganz. Ein HC-Typ sollte doch noch schneller als ein 
LVC-Typ sein. Ich bräuchte eher einen langsameren. Daher muß wohl ein 
Schmitt-Trigger davor oder das Ganze ersetzt durch JK-FF, bei dem wohl 
der Anfangszustand nicht zufällig ist.

von Peter D. (peda)


Lesenswert?

Maik Staberock schrieb:
> Ein HC-Typ sollte doch noch schneller als ein
> LVC-Typ sein.

Datenblätter sind wohl nicht Dein Ding?

74HC ist etwa 10-mal langsamer.
Und die CD4000-er sind etwa 100-mal langsamer.
Die sollten sogar auf nem Steckbrett funktionieren.

Trotzdem ist ein 74HC14 als Trigger ne gute Idee (für max 6 Tasten).


Peter

von Roger S. (edge)


Lesenswert?

Maik Staberock schrieb:
> verstehe nicht ganz. Ein HC-Typ sollte doch noch schneller als ein
> LVC-Typ sein.

Nein, ist er nicht. Dazu kommt dass die Ausganstreiber beim HC um 
einiges schwaecher sind. Dein Aufbau ist weiterhin unbekannt, aber ich 
schaetze das kommt dem entgegen.

> Ich bräuchte eher einen langsameren.

Wie schon von anderen Angedeutet ist deine Tastenentprellung nonsense.

> Daher muß wohl ein Schmitt-Trigger davor.

Genau.

Cheers, Roger

von Helmut L. (helmi1)


Lesenswert?

@ Maik S. (mstaberock2)

100nF gegen  GND am Clock Eingang geht gar nicht. Also weg damit.

>oder das Ganze ersetzt durch JK-FF, bei dem wohl
>der Anfangszustand nicht zufällig ist.

Auch JK-FF brauchen eine mindest Flankensteilheit. Auch ist der 
Einschaltzustand beliebig. Du brauchst noch eine Resetschaltung.

Fang endlich mal an Datenblaetter zu lesen.

von Maik S. (Firma: Elektro-Automatik) (mstaberock)


Lesenswert?

@Helmut:
Ich hatte bereits oben erwähnt, daß es ohne die 100nF am Clock 
genausowenig funktioniert.

Bezüglich des unbestimmten Zustandes hatte ich mich hierauf verlassen:
http://www.elektronik-kompendium.de/sites/dig/0210032.htm

@Roger:
Es ging um die Flankensteilheit bzw. Anstiegszeit, die das IC erwartet. 
Die ist bei HC bei typ. 6ns, was bei 3,3V in etwa 2ns/V entspräche und 
beim LVC liegt die zwischen 0 und 10ns/V, also etwa gleich. Aber lange 
Rede kurzer Sinn, ich sehe ein, daß es ohne ein Vor-IC, daß die 
Flankensteilheit schafft, nicht geht. Da simuliert TINA wohl zu gut.

Die Verwirrung legt sich trotzdem nicht, denn hier 
http://www.ds-electronics.de/index.php?option=com_content&task=view&id=26 
ist die gleiche Schaltung wie ich sie habe und die hat doch sicher auch 
mal funktioniert. Soll das nur am LVC-Typ liegen?

von Helmut L. (helmi1)


Lesenswert?

>@Helmut:
>Ich hatte bereits oben erwähnt, daß es ohne die 100nF am Clock
>genausowenig funktioniert.

Und ich hatte dir gestern schon gesagt das da ein Schmitttrigger vor 
muss.

>Die Verwirrung legt sich trotzdem nicht, denn hier
>http://www.ds-electronics.de/index.php?option=com_...
>ist die gleiche Schaltung wie ich sie habe und die hat doch sicher auch
>mal funktioniert. Soll das nur am LVC-Typ liegen?

Diese Schaltung ist ebenso Murks. Auch da wird die Flankensteilheit 
nicht eingehalten. Das Internet ist halt gross und damit auch die Anzahl 
der Schaltungen.

von Roger S. (edge)


Lesenswert?

Maik Staberock schrieb:
> @Helmut:
> Ich hatte bereits oben erwähnt, daß es ohne die 100nF am Clock
> genausowenig funktioniert.

Ein prellender Taster ist auch keine Taktquelle.

> Bezüglich des unbestimmten Zustandes hatte ich mich hierauf verlassen:
> http://www.elektronik-kompendium.de/sites/dig/0210032.htm

Beziehst du dich auf den Zustand nach power-up der Schaltung?
Hat damit nichts zu tun.

> @Roger:
> Es ging um die Flankensteilheit bzw. Anstiegszeit, die das IC erwartet.
> Die ist bei HC bei typ. 6ns., was bei 3,3V in etwa 2ns/V entspräche und
> beim LVC liegt die zwischen 0 und 10ns/V, also etwa gleich.

Du vergleichst maximal Wert von der einten Logik Familie mit dem 
typischen einer Anderen. Max. Anstiegszeit von HC Logik ist ueber 500ns.

> Die Verwirrung legt sich trotzdem nicht, denn hier
> http://www.ds-electronics.de/index.php?option=com_content&task=view&id=26
> ist die gleiche Schaltung wie ich sie habe und die hat doch sicher auch
> mal funktioniert. Soll das nur am LVC-Typ liegen?

Ja, die Schaltung dort benutzt einen alten TTL Typ, das ist nochmal 
langsamer. Ein-/Ausgaenge von TTL unterscheiden sich deutlich von den 
CMOS Varianten.

Cheers, Roger

von Michael U. (amiga)


Lesenswert?

Hallo,

Roger Steiner schrieb:
> Maik Staberock schrieb:
>> @Helmut:
>> Die Verwirrung legt sich trotzdem nicht, denn hier
>> http://www.ds-electronics.de/index.php?option=com_content&task=view&id=26
>> ist die gleiche Schaltung wie ich sie habe und die hat doch sicher auch
>> mal funktioniert. Soll das nur am LVC-Typ liegen?
>
> Ja, die Schaltung dort benutzt einen alten TTL Typ, das ist nochmal
> langsamer. Ein-/Ausgaenge von TTL unterscheiden sich deutlich von den
> CMOS Varianten.

Diese Schaltung dort dürfte praktisch garnicht funktionieren.
Ein echter 7474 Standard-TTL erkennt mit 10k am Eingang nämlich kein L.
Da waren wenige 100 Ohm nötig.

Gruß aus Berlin
Michael

von Maik S. (Firma: Elektro-Automatik) (mstaberock)


Lesenswert?

Mit einem Schmitt-Trigger davor (74HC14) funktioniert es nun. Da der 
HC14 auch invertiert, ist der Anfangszustand des FF auch der Richtige. 
Endlich!

Vielen Dank nochmal, Männers!

Bin zwar staatlich geprüfter Techniker, aber mache beruflich wenig mit 
Schaltungstechnik und am wenigsten mit Logik-ICs. Deren Eigenschaften 
können einen schon nerven. Finde es einfach zuviel Aufwand, wenn man nur 
eine kleine Schaltung realisieren will, vorher ganze Datenblätter zu 
wälzen, nur weil das kleine Teil nicht so arbeitet, wie man es erwartet.

von Helmut L. (helmi1)


Lesenswert?

>Finde es einfach zuviel Aufwand, wenn man nur
>eine kleine Schaltung realisieren will, vorher ganze Datenblätter zu
>wälzen, nur weil das kleine Teil nicht so arbeitet, wie man es erwartet.

Das kleine Teil arbeitet so wie im Datenblatt beschrieben und nicht so 
wie du es dir gerade wuenschts. So ist das nun mal im Leben. Und soviel 
Seiten hat das Datenblatt nun auch wieder nicht.

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.