ICSP-Schaltung: Vpp (13 V) und Vdd (5 V) am MCLR-Pin des Pic-Mikrocontrollers

Ist es beim Anschließen von ICSP sicher, Vpp an MCLR anzuschließen, während die +5 V von ICSP durch einen Pulldown-Widerstand und Vdd des Mikrocontrollers auch an den MCLR-Pin gehen?

Ich würde vermuten, dass dies unsicher ist, da Sie am MCLR-Pin vorübergehend 5 V und 13 V von zwei verschiedenen Spannungsquellen erhalten würden.

Wie kann man eine ICSP-Schaltung richtig entwerfen?

Wenn Sie diese MCLR-Option nicht mit einer Taste oder einer anderen Reset-Schaltung verwenden (z. B. ein anderer Mikrocontroller oder Oszillator, der möglicherweise Ihren Mikrocontroller zurücksetzt), müssen Sie diesen Pin nicht als Reset konfigurieren. Konfigurieren Sie ihn als Eingangspin, indem Sie MCLR im Konfigurationswort deaktivieren. Dadurch wird es immer hochgezogen, und Sie können Ihr Vpp ohne Sorgen verbinden.

Antworten (2)

Aus dem In-Circuit Serial Programming Guide von Microchip :

Geben Sie hier die Bildbeschreibung ein

Also die Diode sorgt v D D an den MCLR-Pin, wenn der ICSP-Anschluss nicht angeschlossen ist oder wann v P P ist nicht dabei. Dies muss eine Schottky-Diode sein.


Widerstand in der Vdd-Leitung.
RM hinzugefügt - Steven kann nach Wunsch bearbeiten:

Der Grund ist nicht 100% sicher, aber beachten Sie, dass es sich um einen Widerstand oder eine direkte Verbindung handelt.
Auf Seite 2-2 des Datenblattes steht:

  • Schnittstelle zum Programmiergerät
    Die Kabellänge zwischen dem Programmiergerät und der Schaltung ist auch ein wichtiger Faktor für ICSP. Wenn das Kabel zwischen dem Programmer und der Schaltung zu lang ist, kann es zu Signalreflexionen kommen. Diese Reflexionen können kurzzeitig bis zur doppelten Spannung am Ende des Kabels verursachen, die vom Programmiergerät gesendet wurde. Diese Spannung kann ein Latch-up verursachen. In diesem Fall muss am Ende der Signalleitung ein Abschlusswiderstand verwendet werden.
Ich verstehe, was ist der Grund dafür, dass der Widerstand von Vdd zum zweiten Pin des ICSP-Anschlusses kommt? Würden Sie nicht einfach Vdd mit Vdd verbinden? Und was macht der Kondensator? Wäre es sicher, dies ohne diese beiden Komponenten zu tun?
@Shubham - Nur raten: Vdd auf der Platine und vom Stecker können sich geringfügig unterscheiden, und das Anschließen ohne Widerstand würde einen hohen Kurzschlussstrom verursachen. Der Widerstand verhindert dies.
@stevenvh - Siehe meine Ergänzung zu deiner Antwort. Bearbeiten Sie wie/falls gewünscht.

Ja, es ist völlig normal, einen Widerstand an MCLR gegen Vdd zu haben, aber auch MCLR (diesmal in seiner Vpp-Rolle) während des Programmierens auf die Programmierspannung anzuheben. Normalerweise verwende ich dafür 20 kΩ. Es ist ein guter Kompromiss zwischen einer Impedanz, die niedrig genug ist, um kein Rauschen aufzunehmen, aber hoch genug, dass die meisten Programmierer da draußen kein Problem haben werden, die Leitung auf den Vpp-Pegel zu bringen. Beachten Sie, dass bei einigen PICs bis zu 13 V anliegen können.

Sie müssen auch den Strom berücksichtigen, der auf die 5-V-Versorgungsschiene geleitet wird. Bei 13 V für Vpp, 5 V Versorgung und 20 kΩ Pullup-Widerstand gehen 400 µA auf die 5 V-Schiene. Wenn der Rest der Schaltung mindestens so viel zieht, gibt es kein Problem. Das Netzteil liefert gerade mal 400 µA weniger. Wenn es sich nur um den PIC handelt, müssen Sie möglicherweise die 5-V-Versorgung klemmen, einen höheren Pullup-Widerstand verwenden oder eine Diode mit dem Widerstand in Reihe schalten. In der Praxis sind 400 µA meistens klein genug, dass andere Teile den Strom aufnehmen, und die meisten neueren PICs verwenden sowieso eine niedrigere Programmierspannung.

Weitere Hintergrundinformationen und eine allgemeine Entmystifizierung des Designs für die In-Circuit-Programmierung finden Sie in meiner Beschreibung unter http://www.embedinc.com/picprg/icsp.htm .