Forum: Mikrocontroller und Digitale Elektronik 5-20ms Low Impuls generieren klappt nicht


von Markus S. (markussch)


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

von Stefan F. (Gast)


Lesenswert?

Statt vieler Worte wäre hier ein Schaltplan von deinem Versuch 
angemessen.

von Michael B. (laberkopp)


Lesenswert?

Markus S. schrieb:
> über ein i2c Í/O Expander ansteuere

So so, keinen Namen, keine Nummer  offenbar das falsche Teil für den 
Job.

Man müsste auch mal klären ob nun Millisekunden oder Mikrosekunden.

von Motopick (motopick)


Lesenswert?

> unbrauchbar

Gut zusammengefasst.

von Frank K. (fchk)


Lesenswert?


von Markus S. (markussch)


Angehängte Dateien:

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

: Bearbeitet durch User
Beitrag #7475831 wurde von einem Moderator gelöscht.
von Chris K. (kathe)


Lesenswert?

Markus S. schrieb:
> i2c Í/O Expander

Und wie ist der Name des Bauteils ? I/O Expander kennt niemand.
Bilder von der Platine ....
So lange du nicht die Bauteilbezeichnungen nennen willst, sollte der 
Thread schlafen gelegt werden.

von Alexander (alecxs)


Lesenswert?


von Chris K. (kathe)


Lesenswert?

Das Datasheet von https://www.ti.com/lit/ds/symlink/pcf8574.pdf
beinhaltet nichts von deinem Bild "dbaus.JPG"
Also nochmal welcher Hersteller .... .
Bilder vom Aufbau, denn auch die Kabel ... beinflussen das Signal....
Hunger auf Salami... ich nicht mehr.

von Andi Y. (andiy)


Angehängte Dateien:

Lesenswert?

Versuchs mal mit einem Transistor dazwischen. Da der Transistor 
invertiert muss der Puls nun positiv sein, also LOW -> HIGH am P2 pin.
Wenn die Flanke immer noch nicht steil genug ist, nimm ein Inverter IC.

Andy

von Markus S. (markussch)


Lesenswert?

Danke Andi, wenn doch ein IC verwendet werden muss würde dann nicht ein 
Schmitt Trigger bei meinem Schaltplan vor dem nSleep reichen?

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Markus S. schrieb:
> Hallo,

wo sind die I2C pullups?

von Andi Y. (andiy)


Lesenswert?

Markus S. schrieb:
> Danke Andi, wenn doch ein IC verwendet werden muss würde dann nicht ein
> Schmitt Trigger bei meinem Schaltplan vor dem nSleep reichen?

Ja, wenn das IC einen nicht invertierenden Schmitt Trigger enthält.

von Markus S. (markussch)


Lesenswert?

Danke nochmal! Problem ist, es ist WE ich habe Zeit, aber weder Schmitt 
Trigger noch Inverter da... Versuche mal die Transistor variante...

von Rainer W. (rawi)


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

: Bearbeitet durch User
von Andreas H. (signore_rossi)


Lesenswert?

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?

von Ich A. (alopecosa)


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.

: Bearbeitet durch User
von Markus S. (markussch)


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.

von Ich A. (alopecosa)


Lesenswert?

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

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

von Hp M. (nachtmix)


Lesenswert?

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.

von Ich A. (alopecosa)


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

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Joachim B. schrieb:
> Markus S. schrieb:
>> Hallo,
>
> wo sind die I2C pullups?

ich frage trotzdem nochmals, in deinem Schaltbild
Beitrag "5-20µs Low Impuls generieren klappt nicht"
fehlen sie!

Warum sollen wir rätseln ob überhaupt die I2C Verbindung läuft?

von Markus S. (markussch)


Angehängte Dateien:

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!

: Bearbeitet durch User
von Alexander (alecxs)


Lesenswert?

Markus S. schrieb:
> Was ist mit C?

Aber genau darum geht es in einem Forum.

von Stefan F. (Gast)


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.

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.