Hallo! Ich verwende ein FlipFlop: http://www.onsemi.com/pub_link/Collateral/NL17SZ74-D.PDF Die Pins 1 und 2 (D und CP) liegen auf Masse, als Ausgang wird Pin 5 (Q) verwendet, ~Q wird nicht verwendet und bleibt offen. Am Pin 7 (S) liegt im Betrieb High an, das auslösende Ereignis zieht diesen Pin auf Low. Der Ausgang Q sollte Standardmäßig low sein, wenn das Eregnis eintritt sollte Q auf HIGH gehen. Das R-Signal (Pin 6) wird bei der Initialisierung auf low gesetzt (S ist zu diesem Zeitpunkt auf High), danach wird R gleich auf High gesetzt, um in den Hold-Zustand zu gehen und am Ausgang Low auszugeben. Bei einem auslösenden Ereignis wird S auf Low gezogen, Q geht auf High was wiederum dazu führt, dass S hardwaremäßig wieder auf High gezogen wird. Was muss ich am R-Signal anlegen, um den Ausgang Q wieder auf Low rückzusetzen? Ich versuchte, R auf low und unmittelbar danach wieder auf High zu setzen, das funktioniert aber nicht, Q bleibt High. Kann mir jemand helfen? Danke lg
Werner13 schrieb: > Ich versuchte, R auf low und unmittelbar danach wieder auf > High zu setzen, das funktioniert aber nicht, Q bleibt High. Genau so funktioniert das D-FlipFlop im R/S-Modus. S+R beide H -> Ausgänge unverändert S=H R=L -> Q=L S=L R=H -> Q=H S+R beide L -> nicht erlaubt, weil Q danach undefiniert
Werner13 schrieb: > Kann mir jemand helfen? Mhm, das verlinkte Datenblatt, gleich auf Seite 1: Truth Table
Werner13 schrieb: > Was muss ich am R-Signal anlegen, um den Ausgang Q wieder auf Low > rückzusetzen? Ich versuchte, R auf low und unmittelbar danach wieder auf > High zu setzen, das funktioniert aber nicht, Q bleibt High. Das sollte so funktionieren solange Du tatsächlich den Zustand "00" an "S/RS" verhinderst. Andere Möglichkeit: Prüfen ob das Flipflop überhaupt wechselt (Spannungspegel?). rgds
Gehen wir von dem Zustand aus, in dem R=S=HIGH, Q=Low. Dann wird S kurzzeitig auf Low gesetzt, dadurch wird Q High, unmittelbar danach wird S wieder High, Q bleibt High. Soweit so gut. Danach setze ich R auf Low, um Q rückzusetzen. Passt auch, Q geht auf Low. Aber warum geht Q wieder auf High, wenn ich R wieder auf High setze??? (S bleibt in der zeit durchgehend auf High?) LG
Werner13 schrieb: > Danach setze ich R auf Low, um Q rückzusetzen. Passt auch, Q geht auf > Low. Aber warum geht Q wieder auf High, wenn ich R wieder auf High > setze??? (S bleibt in der zeit durchgehend auf High?) Prüfe die Schaltung, Spannungspegel. Kurzschlüsse? Wie erzeugst Du die Pulse? Pullup an S/R? rgds
Wie ich aus dem Datenblatt sehe, ist das ein ganz normales D-FF mit asynchronem Set und Reset aka RS-FF. Wie bei 7474 oder 4013. Ein Zustand an RS ist verboten. CP ist der Clock-Input, der von D die Daten nach Q übernimmt.
Hardware und Spannungspegel müssten passen... @Wilhelm: ich habe damit sehr wenig Erfahrung... Bedeutet das, dass dieses FF für meine Anwendung nicht geeignet ist bzw. wie kann ich es in diesem Fall rücksetzen?
Werner13 schrieb: > Hardware und Spannungspegel müssten passen... Dann müsste das Flipflop auch gehen. rgds
Wie gesagt: Wenn alle 3 (S,R,Q) auf High sind wird mit Lowschalten von R (CLR) Q auf Low gesetzt. Wenn ich dann R zurück auf High setze, geht Q auch wieder auf High. Ich will aber, dass Q auf Low bleibt...
Werner13 schrieb: > Hardware und Spannungspegel müssten passen... > > @Wilhelm: ich habe damit sehr wenig Erfahrung... Bedeutet das, dass > dieses FF für meine Anwendung nicht geeignet ist bzw. wie kann ich es in > diesem Fall rücksetzen? Was du jetzt genau vor hast, weiß ich nicht. Aber so ein D-FF ist dafür da, ein bit am D-Eingang mit einem Impuls an CP zu speichern, und an Q auszugeben.
Werner13 schrieb: > Wie gesagt: Wenn alle 3 (S,R,Q) auf High sind wird mit Lowschalten von R > (CLR) Q auf Low gesetzt. Wenn ich dann R zurück auf High setze, geht Q > auch wieder auf High. Das macht er nur wenn ein Fehler in der Schaltung ist. Glaub's mir, ich mach jetzt über 20J beruflich Elektronik. rgds
Werner13 schrieb: > Wenn ich dann R zurück auf High setze, geht Q > auch wieder auf High. Ich will aber, dass Q auf Low bleibt... R und S sind immer dominierend. Aus Deiner Beschreibung wird mir aber nicht ganz klar, was Du eigenlich willst. Du solltest mal ein Pegeldiagramm aufmalen, ähnlich wie man es in einigen Daten- blättern findet. Gruss Harald
@Wilhelm: laut rgds müsste es auch so funktionieren (wenn ich also D und CP an Masse lege, dann kann iche s wie ein RS FF verwenden) @rgds: hmmm, ich glaub dir das gern. Aber es ist wirklich komisch, weil alle Pegel passen. Also deiner Meinung nach müsste es so funktionieren wie ich es beschrieben hab?
Werner13 schrieb: > Wie gesagt: Wenn alle 3 (S,R,Q) auf High sind wird mit Lowschalten von R > (CLR) Q auf Low gesetzt. Wenn ich dann R zurück auf High setze, geht Q > auch wieder auf High. Ich will aber, dass Q auf Low bleibt... Das sollte auch so sein. Wenn es das nicht macht ist es entweder kaputt oder an Ihrer Beschaltung stimmt etwas nicht.
@Harald: Pin 1,2 und 4 liegen auf Masse, Pin 8 auf +3,3V, Pin 3 ist offen (~Q benötige ich nicht). Was ich will: Pin 5 (Q) soll Initial auf Low liegen und bei einem auslösenden Ereignis auf 1 gehen. S (Pin 7) liegt Initial auf High, das auslösende Ereignis zieht S auf Low. Durch dieses Ereignhis soll also Q auf High schalten. Wenn nun ein Ereignis ausgelöst wird, dann wird durch das Setzen von Q auch S hardwaremäßig (Rückkoppelschaltung, nicht direkt, sondern mehrere Stufen) auf High gezogen. Es fand also an S nur ein kurzer Low Puls statt, der jedoch ausreicht, um Q auf High zu ziehen. Initialisierungsphase: S ist von Anfang an auf High, R wird auf Low gelegt -> Q low, unmittelbar danach wird R auf High gezogen, um Q auf High zu halten. Dann wird auf auslösende Ereignis gewartet.... (S wird dabei von High auf Low gezogen). Wenn nun ein Ereignis eintritt, wird Q auf High gesetzt, aber wie kann ich es wieder rücksetzen? R auf Low ziehen funktioniert, aber ich muss R doch wieder auf High zurücksetzen, damit ich beim nächsten ereignis wieder rücksetzen kann. Wenn ich aber R nach dem Lowsetzen wieder auf High setze, ist auch Q wieder auf High...
Werner13 schrieb: > @rgds: hmmm, ich glaub dir das gern. Aber es ist wirklich komisch, weil > alle Pegel passen. Also deiner Meinung nach müsste es so funktionieren > wie ich es beschrieben hab? Rücken S' mal mit ihrer Beschaltung raus (Skizze). Ich hab da so den Verdacht, dass CLR und PRS nicht High sonder floating sind wenn sie grad nicht Triggern. Haben Sie Pullups verbaut?
Werner13 schrieb: > @rgds: hmmm, ich glaub dir das gern. Aber es ist wirklich komisch, weil > alle Pegel passen. Also deiner Meinung nach müsste es so funktionieren > wie ich es beschrieben hab? Hallo Werner, nochmal: wie stellst Du die Pegel her? Mit Schaltern, Tastern, ...? Sind die Pegel der "festgelegten" Pins wirklich fest? Wie ist das gelöst? Bitte bedenke dass diese Flipflops wirklich schnell sind, wir reden hier von 2,6ns. Jeder Impuls an S kann zu einem Schalten führen! rgds
Anbei die Schaltung... S wird gesetzt, wenn ein Komparator schaltet... (am Plus Eingang Spannungsteiler). An R hängt direkt ein Pin vom µC. Der Ausgangspin Q schaltet 2 Transistoren und wird noch direkt an einen µC Pin geführt, um einen Interrupt auszulösen.
Mit dem Setzen von Q wird auch die Spannung am negativen Komparatoreingang wieder so klein, dass High an S anliegt...
Werner13 schrieb: > Bei einem auslösenden Ereignis wird S auf > Low gezogen, Q geht auf High was wiederum dazu führt, dass S > hardwaremäßig wieder auf High gezogen wird. und zwar wie? Werner13 schrieb: > Mit dem Setzen von Q wird auch die Spannung am negativen > Komparatoreingang wieder so klein, dass High an S anliegt... Dieses Detail zeigt dein Schaltplan(ausschnitt) nicht. Ich vermute mal, daß wenn du dein Flipflop rücksetzt, die Sperre von S aufgehoben wird und so unmittelbar nach dem loslassen von R das Flipflop gleich wieder zurückkippt. Schau dir den Pegel an S an. XL
Axel Schwenke schrieb: > und zwar wie? Ich habe jetzt leider keinen Zugriff auf die Schaltung, aber es ist so: es wird am Komparator (-) Eingang ein Strom (Spannungsabfall über Shunt) gemessen. Wenn der Strom zu hoch wird, wird die Spannung am (-) Eingang größer als die durch den U-Teiler fix vorgegebene (+) Spannung und der S-Eingang wird auf Low gezogen. Dadurch wird Q gesetzt und dieses Setzen deaktiviert die Stromquelle, sodass der Strom abgeschalten wird und somit der positive Komparatoreingang wieder höher als der negative ist. S wird also nur kurzzeitig auf Low gezogen, wenn der Strom zu hoch wird, danach geht S gleich wieder auf High. Wenn nun einmal der Überstrommechanismus auslöst, ist also S auf High, Q auf High und R auf High (es fließt kein Strom mehr über den Shunt, S bleibt auf High). Wenn ich in diesem Zustand nun mit einem Breakpoint in der Entwicklungsumgebung stoppe und dann mit einem Befehl R auf Low setze, geht auch Q auf Low, soweit so gut. Wenn ich aber danach (egal wiue lang ich zwischen diesen beiden Befehlen warte) mit dem nächsten Befehl R wieder auf High setze, geht Q auch wieder auf High, und das soll nicht sein... Danke für die Hilfe!
Werner13 schrieb: > Wenn ich aber danach (egal > wiue lang ich zwischen diesen beiden Befehlen warte) mit dem nächsten > Befehl R wieder auf High setze, geht Q auch wieder auf High, und das > soll nicht sein... Guten Morgen Werner13, ich sehe Ihr habt gestern noch die Schaltung besprochen. Ich würde Dir dringend empfehlen, die Pegel zu prüfen und auch einen Scopeshot von diesem Ereignis zu machen. Wie gesagt: Das Flipflop muss nach normalem Verhalten beim Rücksetzten durch R auf Low gehen. Die einzige Möglichkeit dass es wieder auf H geht ist: S ist auch auf Low. Da dafür ein kurzer Impuls im Bereich von 10ns reicht ist es denkbar, dass der Komparator - ein sehr schneller Typ mit 40ns Reaktionszeit - auf irgendeine Spitze im Strom/Spannung des Netzteils reagiert. Das dem Komparator nachgeschaltete RC-Glied hilft da auch nicht viel mit einem Tau von 47ns. Also: Scopeshot vom S-Eingang machen, alternativ das RC-Glied länger dimensionieren (mal so auf 47us). rgds
6A66 schrieb: > Scopeshot vom S-Eingang machen. Triggerlevel: ca 2,5V, fallende Flanke, Auflösung <1us.
Hey danke für die Hilfe! Ok soweit ich das verstanden habe, könnte der Fehler darin liegen, dass genau zu dem Zeitpunkt, wo ich das R wieder auf HIGH setze, S auf Low ist. Dadurch geht dann Q wieder auf High, wenn R auf High gezogen wird. Ich komme erst nachmittag dazu, dies zu messen, werde dann gleich das ergebnis posten. Du meinst also, dass ich das S-Signal mit den beschriebenen Triggereinstellungen zu dem Zeitpunkt messen soll, wo ich das R zurück auf 1 setze? Vielen Dank, bis dann..
Werner13 schrieb: > könnte der Fehler darin liegen, dass > genau zu dem Zeitpunkt, Oder entsprechend später, je nachdem wie genau Du "schauen" kannst. Deswegen schau Dir das Signal am Eingang an. Oder noch besser: Trigger auf den Ausgang und schau Dir den Eingang an. rgds
@Werner13: Was mit noch einfällt: wie ist das Leiterplatten-Layout + Stützkondensatoren? Bei den doch recht schnellen Bauteilen kann es auch Ärger geben wegen schlechtem GND und fehlenden oder falsch angeordneten Stützkondensatoren an Flip-Flop und Komparator. Gruß Dietrich
Leider ist es sich heute noch nicht ausgegangen, werd es morgen messen... Zwecks Layout und Schaltung: Also Blockondensatoren sind für die FF- und Komparator- Versorgung schon vorgesehen, weiß jedoch nicht genau, wie weit diese entfernt sind und weiß aktuell auch nicht, wie groß die sind. Wird morgen nachschaun... Andere Frage: Bei dem FF handelt es sich schon um Zustandsgesteuertes FF, oder? Mich verwirrt das "edge triggered" ganz oben im Datenblatt. Flankengesteuert ist es ja nur, wenn es als D-FF verwendet wird, oder? Danke, lG
Werner13 schrieb: > Andere Frage: Bei dem FF handelt es sich schon um Zustandsgesteuertes > FF, oder? Mich verwirrt das "edge triggered" ganz oben im Datenblatt. Flankengetriggert ist nur der Takteingang. Kann man aber durchaus auch zum Vorteil ausnutzen, indem man z.B. D und S fest auf H legt, das Flipflop mit einer steigenden Flanke an C setzt und mit L an R rücksetzt. Dann darf C während des Rücksetzens auch weiterhin H bleiben; auch wenn man R wieder losläßt, kippt das FF dann nicht zurück. R ist dabei dominant. XL
Werner13 schrieb: > Andere Frage: Bei dem FF handelt es sich schon um Zustandsgesteuertes > FF, oder? Mich verwirrt das "edge triggered" ganz oben im Datenblatt. Es ist beides, je nach Beschaltung. > Flankengesteuert ist es ja nur, wenn es als D-FF verwendet wird, oder? Richtig. Du verwendest den Teil aber nicht, sondern nur die RS-Funktion. Also zustandsgesteuert.
Hallo, habe mir nun den Pegel am S Eingang angeschaut. Wie gesagt fürs Rücksetzen setze ich R auf low und unmittelbar danach wieder auf High. Wenn ich R auf Low setzte, passiert noch nichts. Aber in dem Moment, wo ich R wieder High setze und damit Q wieder auf Low ziehen (rücksetzen) will, gibt es tatsächlich kurze Spikes am S Eingang (wird kurzzeitig immer wieder auf LOW gezogen. Das wird ws wirklich der Grund sein. Es kann sein, dass ich es softwaremäßig beheben kann, nämlich dann, wenn ich den Rückkoppelzweig komplett wegschalte während ich das FF rücksetze. Hardwaremäßig könnte ich es mit einer Erhöhung der Zeitkonstante nach dem Komparator, wie bereits vorgeschlagen, versuchen. Was sagt ihr dazu? DANKE, lg
Werner13 schrieb: > Es kann sein, dass ich es softwaremäßig beheben kann, nämlich dann, wenn > ich den Rückkoppelzweig komplett wegschalte während ich das FF > rücksetze. Hardwaremäßig könnte ich es mit einer Erhöhung der > Zeitkonstante nach dem Komparator, wie bereits vorgeschlagen, versuchen. > > Was sagt ihr dazu? Ich kenne den Rest der Schaltung nicht. Ich - HW - präferiere die sichere Variante: Umdimensionierung RC-Glied, gleichzeitig aber auch die SW Variante wenn möglich. Wenn dann später in SW was gemacht wird und das ganze vergessen ist schlägt notfalls immer noch die HW-Variante zu. rgds
Werner13 schrieb: > kurze Spikes am S Eingang (wird kurzzeitig > immer wieder auf LOW gezogen Wie kurzzeitig? rgds
HAllo rgds, es waren ca. 10µs Spikes im Abstand von 100-200µs. Ich habe es softwaremäßig gelöst, es funktioniert jetzt! Das Problem bei der HW-Lösung ist, dass dann auch der Auslösemechanismus langsamer wird, das will ich vermeiden. Nachdem die Rückkopplung definitiv weggeschalten ist, kann hier kein Spike mehr auftreten. Vielen Dank für die Hilfe, hat mir sehr geholfen! Werner
Werner13 schrieb: > 10µs Spikes im Abstand von 100-200µs. Hallo Werner, damit schaltet das Flipflop definitiv :) OK gelöst. rgds PS: rgds steht für "with kind ReGarDS", der Nickname ist 6A66.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.