5-20ms Low Impuls generieren klappt nicht

OP #7475739
Lesenswert?

Hallo,

ich habe ein IC welches ich über ein i2c Í/O Expander ansteuere, welches ein nSleep Pin (Arbeitsmodus=high) hat. Wenn ich den Pin über den I/O Expander auf Low ziehe ist das IC im Sleepmodus und auf High im Normalmodus, soweit alles gut. Der Sleep Pin hat auch noch eine zweite Funktion und zwar ein internen Reset, wenn der Sleep Pin für 5-20µs auf Low gezogen wird (in den Sleep geht er erst nach min. 40-120µs)

Leider dauert ein Pegelwechsel über den i2c bus min. 100µs und ist somit unbrauchbar. Deshalb habe ich es mit einem RC-Glied versucht und einen 10n Kondensator an einen weiteren Output Pin des Expanders angeschlossen und den Sleep Pin über einen 1K Widerstand an das IC angeschlossen. Die andere Seite vom Kondensator geht auch auf den Sleepeingang des ICs.

Schalte ich jetzt den zweiten Output am Expander auf Low wird ein Impuls generiert, aber leider führt das IC keinen Reset aus.

Die Zeiten passen lt. Oszi und ich habe Widerstände von 560-2,2K probiert, alle ohne Erfolg.

Ich vermute das die langsam ansteigende Flanke das Problem ist und das IC deshalb keinen Reset macht.

Jemand ne Idee wie ich das lösen kann? Am liebsten nur mit wenig passiven Bauteilen...

Zur Info, System arbeitet mit 3.3V

Gruß Markus

OP #7475829
Lesenswert?

Hallo,

ich habe ein IC welches ich über einen i2c Í/O Expander ansteuere, welches ein nSleep Pin hat. Wenn ich den Pin über den I/O Expander (P1) auf Low ziehe, ist das IC im Sleepmodus und auf High im Normalmodus, soweit alles gut. Der Sleep Pin hat noch eine zweite Funktion und zwar ein internen Reset, wenn der Sleep Pin für 5-20µs auf Low gezogen wird (in den Sleep geht er erst nach min. 40-120µs)

Leider dauert ein Pegelwechsel über den i2c Bus min. 100µs und ist somit dafür unbrauchbar. Deshalb habe ich es mit einem RC-Glied versucht und einen 10n Kondensator an P2 des Expanders angeschlossen, siehe vereinfachten Schaltplan.

Schalte ich jetzt P2 am Expander auf Low (P1 bleibt High) wird ein Impuls generiert, aber leider führt das IC danach keinen Reset aus. S. Foto

Die Zeiten passen lt. Oszi und ich habe auch verschiedene Widerstände von 560-2,2K probiert, leider alle ohne Erfolg.

Ich vermute das die zu langsam ansteigende Flanke das Problem ist und das IC deshalb keinen Reset auslöst.

Jemand ne Idee wie ich das lösen kann? Am liebsten mit nur wenig passiven Bauteilen...

Gruß Markus

Angehängte Dateien:
Beitrag #7475831 wurde von einem Moderator gelöscht.
#7475926
Lesenswert?

Markus S. schrieb:

Der Sleep Pin hat noch eine zweite Funktion und zwar ein internen Reset, wenn der Sleep Pin für 5-20µs auf Low gezogen wird (in den Sleep geht er erst nach min. 40-120µs)

Jetzt müsstest du nur noch verraten, wie die Pegelspezifikationen für den Sleep Eingang von deinem (geheimen) IC U2 sind.

µs oder ms wäre auch noch die Frage ...

Gast #7476000
Lesenswert?

Rainer W. schrieb:

Markus S. schrieb:

Der Sleep Pin hat noch eine zweite Funktion und zwar ein internen Reset, wenn der Sleep Pin für 5-20µs auf Low gezogen wird (in den Sleep geht er erst nach min. 40-120µs)

Jetzt müsstest du nur noch verraten, wie die Pegelspezifikationen für den Sleep Eingang von deinem (geheimen) IC U2 sind.

µs oder ms wäre auch noch die Frage ...

Das geheime Bauteil dürfte ein TI DRV8244 sein. Zumindest passt der Wortlaut im DB.

https://www.ti.com/lit/gpn/DRV8244-Q1

Um die Timings von nSleep etc. ginge es bei dem Ding ab Seite 24 im DB.

OP #7476100
Lesenswert?

Andreas H. schrieb:

Hast Du es schon mal mit 100n probiert? Dein Puls könnte dem Oszibild nach zu urteilen schon nach nicht mal 5 us wieder über 1 V sein. Vielleicht wird das dann schon nicht mehr als gültiger low Pegel akzeptiert. Was sagt denn das Datenblatt deines ICs zu den notwendigen Pegeln am nSleep Pin?

Im Datenblatt (DRV8244H Seite 14) steht: Logic High Voltage min. 1.55V, Low Voltage max. 0.7V, Hysteresis 200mV.

Ich habe wie schon geschrieben das Timing mit Widerständen (560-2K2) verändert, so dass schon z.B. bei 0.8V die 5µS überschritten werden. Die Timings (Seite 24) passen, das Problem ist wirklich die zu flache Flanke, da es mit externem Rechteck Testimpuls funktioniert.

Gast #7476193
Lesenswert?

Hp M. schrieb:

Ich A. schrieb:

Und auf DIESE Info musste man nun 15(16) posts lange warten ... Salami ick hör dir trapsen ...

Länger! Hier https://forum.electronicwerkstatt.de/phpBB/viewtopic.php?topic=160966&forum=34 ist sie bis jetzt nicht angekommen.

Ich kanns halt immer nicht verstehen...

Ich ruf doch auch nicht beim ADAC an: "Ich steh irgendwo auf der A7, mein Auto ist weiß, woran kanns liegen das er nicht weiterfahren will."

Ich habe ein Problem und brauche Hilfe. Wenn die Hilfe Geld kostet, kann ich natürlich Salamitaktik fahren wie ich will, kost ja mein Geld, frustrierend wirds für den helfenden dennoch irgendwann.

Aber wenn ich meine Hilfe doch in einem Forum suche (wozu Foren ja auch explizit da sind), kann ich mir doch die Mühe machen ALLE relevanten Informationen gleich im Eröffnungspost zu nennen. Will ich ganz nett sein noch mit der Frage garniert "braucht ihr sonst noch Infos um mir mit meinem Problem zu helfen" ...

Fast genauso schlimm sind dann Sätze im Eröffnungspost die dann übertragen klingen wie: "Meine Lösung ist die beste, ich will nicht das ihr mir (vielleicht doch bessere?) Alternativen nennt" ...

Wenn die Schaltung/Das Projekt SO hochgeheim sind, das es um Himmels Willen keiner erfahren darf, ist ein Forum sowieso der falsche Platz ...

OP #7476719
Lesenswert?

Eigentlich wollte ich ja nicht mehr auf, sagen wir mal vorsichtig, nicht Zielführende Antworten reagieren, aber nun mache ich es doch.

@alopecosa: Und was genau bringt dir die Info um welches IC es sich handelt nun bei dem Problem einen 5-20µS Low Impuls mit steiler anstiegsflanke mit wenig Bauteilen ohne weiteres IC zu generieren? Wofür der Impuls gebraucht wird ist doch völlig egal und hat nix mit der Frage zu tun. Sieht man ja auch daran, das nach dem du die IC Infos hattes Null Komma nix zur eigentlichen Lösung beigetragen hast, außer die ganze Zeit rum zu stänkern und den Thread unnötig voll zumüllen...

Wenn du eine Textaufgabe lösen müsstest die mit "Ein Zug fährt von A nach B..." anfängt, fragst du doch auch nicht (oder vielleicht doch!?): Wo genau befindet sich A und B? Warum fährt der Zug von A nach B? Was passiert mit dem Zug wenn er bei B angekommen ist? Was ist mit C?

Das Problem kann auch bei hunderten anderen ICs bestehen, die einen schnelleren Impuls benötigen, als der i2c Bus von seiner Datenrate her erreichen kann, deshalb habe ich es nicht weiter erwähnt!

Und an Joachim B. wenn die i2c Verbindung nicht laufen würde, könnte ich ja gar keine Pegel am I/O Expander Ausgang ändern, was ich ja aber geschrieben hatte und explizit auch "vereinfachten" Schaltplan. Zu deiner Beruhigung, die Widerstände befinden sich am Master, der ja auch nicht mit auf dem Schaltplan ist...

Mein Dank geht nochmal an Andi Y. (der einfach auf die Frage eine Lösung vorgeschlagen hat, oh Wunder auch ohne das IC zu kennen!) für seinen Tipp mit dem Transistor. Ich habe es heute Nachmittag leicht abgewandelt mit einem BCR108 (weil der schon interne Widerstände hat) und einem 330pF Kondensator an P2 verbaut und es funktioniert wunderbar! s. Bild

Thread kann geschlossen werden!

Angehängte Dateien:
Gast #7476819
Lesenswert?

Markus S. schrieb:

Wenn du eine Textaufgabe lösen müsstest die mit "Ein Zug fährt von A nach B..." anfängt, fragst du doch auch nicht (oder vielleicht doch!?): Wo genau befindet sich A und B?

Der Vergleich hinkt, denn so eine Textaufgabe fragt nach dem Ergebnis eines bereits bestehenden Vorgangs.

In diesem Thread hier soll aber eine Lösung erarbeitet werden. Ein passender Vergleich wäre:

Ein Zug soll von A nach B in 15 Minuten fahren, und zurück in maximal 18 Minuten. Welcher Antrieb ist dazu nötig?

Dann kommt zu Recht die prompt Rückfrage nach den konkreten Orten und dem Gelände dazwischen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren