Kondensator- und ISP-Problem

Geben Sie hier die Bildbeschreibung ein

Wenn ich entferne, C5kann ich ISP verwenden. Bei C5 an Bord schlägt die ISP-Programmierung jedoch fehl ... Der Kondensator dient zum Entprellen der Tasten.

Was ist die schnelle Problemumgehung, um eine Entprellroutine zu haben und ISP zu verwenden? Ich kann das Board nicht ändern, weil es bereits auf der Platine ist, ich kann nur einen Patch machen.

Sie haben nicht erwähnt, welchen Mikrocontroller Sie verwenden. Anhand der Tags kann ich Attiny erkennen, aber Ihre Frage sollte deutlich zeigen, um welche es sich handelt. 1uF scheinen mir zum Entprellen zu groß zu sein. Hast du dir die RC-Konstante angesehen?
Entschuldigung, es istATTiny 45/85
Die Schalteranordnung ist mir etwas seltsam. Was erkennen Sie, eine steigende Flanke oder eine fallende Flanke?

Antworten (3)

Eine einfache Lösung könnte darin bestehen, die Verbindungsstelle von C5 und R1 über einen 10k-Widerstand mit PB2 zu verbinden und den ISP-Anschluss direkt mit PB2 zu verbinden.

Dies ist eine allgemeine Lösung, die Sie verwenden können, wenn Sie ein Signal mit einem stärkeren Signal überschreiben möchten, das nicht vorhanden ist (oder sich im Tri-State befindet), wenn das schwächere Signal gelesen werden muss. Natürlich darf der Vorwiderstand, der dem schwächeren Signal "vor" gesetzt wird, um es zu schwächen, kein Problem verursachen. Im Allgemeinen haben digitale Mikrocontroller-Eingangspins eine sehr hohe Impedanz, sodass ein 10k-Extar nur bei sehr hohen Frequenzen bemerkt wird. (Aber denken Sie daran: Analogeingänge haben möglicherweise eine viel niedrigere Impedanz, sodass dieser Trick in diesem Fall wahrscheinlich nicht funktioniert.)

Dieser Kondensator bricht ISP, weil er die Anstiegs- und Abfallzeiten auf PB2 begrenzt. Der Programmierer kann nur so viel Strom liefern oder senken und diesen Kondensator daher nur so schnell laden / entladen.

Wenn Sie die Platine nicht wechseln können, müssen Sie den Kondensator entfernen und in der Software entprellen.

Machen Sie alternativ R1 größer und C5 viel kleiner. Wenn C5 klein genug ist, dass die Kanten noch scharf genug sind, haben Sie dieses Problem nicht. Auch das Programmieren mit niedrigerer Geschwindigkeit hilft.

Ein bisschen überrascht über die Hardware-Entprellung. Gibt es eine extreme Einschränkung der Software, die das Entprellen dort verhindert? Es kann so einfach sein, die Taste für einige Zeit zu ignorieren, nachdem ihre Aktivierung erkannt wurde.

Sie haben nicht angegeben, welches Mikro Sie verwenden, aber in vielen (den meisten) Fällen wird eine 1uF-Kappe Chaos mit der ISP-Programmieruhr anrichten.

Ich würde die Kappe nicht öffnen und mich für eine Software-Entprellung entscheiden, anstatt sie brutal zu erzwingen.

Wow, schau dir meinen Kommentar an. Das habe ich auch gesagt :D
Ich habe das Popup nicht erhalten, bevor ich mich verpflichtet habe.
Gibt es eine Möglichkeit, das Problem zu lösen, indem der Kondensatorwert verringert oder eine Diode verwendet wird?
@Pablo: Ja. Ich glaube, 10nF könnte ein bisschen helfen, aber Software wäre der richtige Weg für einen Timer.
@Madmanguruman: Ich habe mich nicht über die Antwort beschwert. Ich war nur erstaunt, dass wir genau die gleichen zwei Dinge gesagt haben (fehlende Mikroinformationen und Large-Cap-Wert).
Keine Beleidigung genommen oder impliziert. Normalerweise überprüfe ich, ob mir jemand zuvorgekommen ist, bevor ich antworte, nur diesmal nicht.