Welche Werte von Widerstand und Kondensator werden für die AVR-Reset-Pin-Isolierung verwendet?

15

Hintergrund...

Ich bin ein Neuling in AVR-Anwendungen. Ich habe kürzlich zwei ATTINY13-basierte Schaltkreise (verherrlichte LED-Blinker) gebaut, die auf dem Steckbrett korrekt (unabhängig) funktionierten. Als ich sie auf einem Lötperfboard mit einem gemeinsamen Netzteil kombinierte, ging alles schief. Nach langem Nachforschen stellte sich heraus, dass sie ständig zurückgesetzt wurden.

Ich hatte Pin 1 (Reset) von jedem Mikro unverbunden gelassen. Ich habe nach geeigneten Möglichkeiten gesucht, mit dem Reset-Pin umzugehen, und dabei Folgendes implementiert:

  1. Parallel zum Netzteil wurde ein 100-µF-Elektrolytkondensator hinzugefügt, um eine mögliche Stromaufnahme zu vermeiden. Das Netzteil ist zu "langsam", um damit umzugehen.

  2. Hinzugefügt wurde ein 4,7K Widerstand von VCCbisRESET

  3. Ein 0,1uF Keramikkondensator von GNDbis wurde hinzugefügtRESET

Diese Schritte lösten das Problem vollständig.

Die Frage:

Die Seite, die ich oben verlinkt habe, gibt Ratschläge, wenn ich ISP (In-System-Programmierung) mache, was ich (noch) nicht mache. (Ich programmiere die Mikros separat, ohne dass andere Komponenten daran angeschlossen sind.)

Ich habe verschiedene Werte für Kondensator (10 nF, 0,1 uF usw.) und Widerstand (4,7 K, 10 K usw.) gesehen und bin nicht sicher, welche Faktoren diese Werte ändern. Kann jemand Aufschluss darüber geben, wie die Reset-Pin-Isolierung funktioniert und wie die zu verwendenden Komponentenwerte berechnet werden? Können Sie erläutern, welche Werte verwendet werden sollen, wenn kein systeminterner Programmierheader vorhanden ist?

AVR Reset Pin Isolation Schema

JYelton
quelle

Antworten:

15

Atmel AVR042: Überlegungen zum AVR-Hardware-Design zeigen , dass der Kondensator am Reset-Pin nicht erforderlich ist. Persönlich finde ich es übertrieben. Es gibt keinen Grund für Sie, weiterhin Dutzende von AVR-Schaltkreisen zu bauen, die alle über diesen redundanten Kondensator verfügen.

Wie für den Reset-Pullup-Widerstand:

Die Rücksetzleitung verfügt über einen internen Pull-up-Widerstand. Wenn die Umgebung jedoch verrauscht ist, kann dieser unzureichend sein und das Zurücksetzen kann daher sporadisch erfolgen. Den Wert des Pull-Up-Widerstands für bestimmte Geräte entnehmen Sie bitte dem Datenblatt. Durch Anlegen eines Pull-up-Widerstands an die RESET-Leitung kann der RESET-Anschluss so angeschlossen werden, dass sowohl die Hochspannungsprogrammierung als auch das normale Zurücksetzen auf einen niedrigen Pegel eingegeben werden können. Dieser Pull-Up-Widerstand stellt sicher, dass das Zurücksetzen nicht unbeabsichtigt auf Low geht. Der Pull-up-Widerstand kann theoretisch beliebig groß sein. Wenn der Atmel®AVR® jedoch beispielsweise mit STK500 / AVRISP programmiert werden soll, darf der Pull-up-Widerstand nicht so stark sein, dass der Programmierer RESET nicht durch Ziehen der RESET-Linie auf LOW aktivieren kann. Der empfohlene Pull-Up-Widerstand beträgt 4,7 kΩoder größer, wenn STK500 zur Programmierung verwendet wird. Damit DebugWIRE ordnungsgemäß funktioniert, darf der Pull-up-Wert nicht kleiner als 10 kΩ sein.

Wenn Sie sich professionelle Produkte ansehen, die AVR-Mikros enthalten, wie das Arduino, seine zahlreichen Klone und Dutzende von Entwicklungskits, werden Sie feststellen, dass die meisten einen Widerstand von 4,7 kΩ oder 10 kΩ verwenden.

Speziell für Ihren ATtiny13 gibt das Datenblatt an, dass der Pullup im Idealfall in einem Bereich von [20 kΩ, 80 kΩ] liegen sollte.

Jonny B Gut
quelle
1
20k bis 80k oder 20k geteilt durch 80k? :)
JYelton
Vielen Dank für den Link "Überlegungen zum Hardwaredesign". Mir war dieses Dokument nicht bekannt!
JYelton
Haha, ich habe dieses Zeichen benutzt, weil jeder das Minuszeichen benutzt. Negativer Widerstand würde auch keinen Sinn ergeben :)
Jonny B Good
Ich sehe normalerweise, dass die Tilde (~) "durch", aber auch "ungefähr" bedeutet. Ich denke, es hängt vom Kontext ab. Vielen Dank für den Hinweis, dass das Datenblatt den Reset-Pullup-Widerstand auflistet. Ich hatte nicht bemerkt, dass er diese Informationen enthalten würde. Das Datenblatt, das ich habe, zeigt, dass der Pull-up-Widerstand für den Reset-Pin zwischen 30k und 80k liegt. Zumindest weiß ich jetzt, wo ich suchen muss. Vielen Dank!
JYelton
4
20kΩ80kΩ
7

Ich benutze immer nur einen 10k Pullup-Widerstand gegen Vcc am / Reset-Pin und hatte nie Probleme. Im Allgemeinen ist es auch eine gute Idee, einen 100-nF-Kondensator in der Nähe des Vcc-Pins zwischen Vcc und GND einzubauen, um einen stabilen Chipbetrieb zu gewährleisten. Meiner Meinung nach ist der Kondensator am Reset-Pin nicht erforderlich, das heißt, ich habe noch nie einen in eine von mir entwickelte AVR-Schaltung eingebaut (und ich habe viele entwickelt), und es hat mich nie betrübt.

vicatcu
quelle
Können Sie erklären (oder auf ein gutes Tutorial für Anfänger verweisen), wie diese winzigen Kondensatoren zusätzlich zu oder anstelle eines größeren Elektrolyts, das parallel zur Stromversorgung ist, helfen?
JYelton
1
Es befasst sich mit "Ripple-Frequenzen" und kann ein komplizierteres Thema sein, als es auf den ersten Blick erscheint. Mindestens 100 nF sind jedoch eine anerkannte Faustregel für Bypass-Kondensatoren. Hier ist ein (von vielen) Referenzartikeln, die von Interesse sein könnten: seattlerobotics.org/encoder/jun97/basics.html . Sie können auch bei der Suche nach ‚Bypass‘ oder ‚Entkoppeln‘ verwandte Beiträge auf dieser Website finden
vicatcu
Große Elektrolytkondensatoren handhaben die niedrigen Frequenzen, sind jedoch bei hohen Frequenzen unwirksam. Kleine Keramikkondensatoren (0,1 uF) verarbeiten die hohen Frequenzen, sind jedoch bei niedrigen Frequenzen unwirksam.
Technophile
Verwenden Sie also beide, die Versorgung sollte ohnehin eine große und die kleine vor Ort haben. Induktion und HF können ein Problem sein, aber im Extremfall. Interessant, dass HSVP-Überlegungen keine Diode in Reihe mit diesem Reset-Pin-Widerstand haben.
McKenzm