PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR und externer PullUp an RESET (solved)



SprinterSB
13.02.2006, 16:42
Hallo,

in vielen Schaltungen/Schaltbeispielen für AVR findet sich ein externer PullUp-Widerstand von RESET nach VCC.

Wozu soll der gut sein? :-k

Ist der interne PullUp von AVR zu groß? Hat irgend jemand schon mal Probleme gehabt ohne einen externen PullUp? Oder hat der nur psychologische Funktion, weil AVR früher noch keinen internen PullUp hatte oder so...?

x-ryder
13.02.2006, 18:07
ne, der reset vom AVR ist low-active, daher zieht man den auf +5V, damit der nich dauernd nen reset macht, wenn man den nun mit nem taster nach GND versieht, kann man den relativ leicht resetten.

Martin

ogni42
13.02.2006, 18:20
Meistens nutzt man ein RC: 10k nach Vcc und 100n nach GND um Störimpulse auszufiltern

uwegw
13.02.2006, 18:30
Das Thema Reset-Anschluss wird in der AppNote AVR042 ausführlich beschrieben.
Knappe Antwort von dort auf deine Frage:
- interner Pullup vorhanden
- bei stärkeren Störungen von außen kann es vorkommen, dass der interne nicht ausreicht und ein Reset auftritt
- externen Pullup größer als 4,9k machen, sonst könnte es mit dem ISP Problem gegeben

SprinterSB
13.02.2006, 18:41
Ok, dank euch.

Und um die 15 Zeichen voll zu machen: es ist eine Schaltung, in der Jedes Bauteil recht "teuer" ist, auch jede Verbindung. Werd dann evtl. nen C nehmen, falls die Schaltung zu "noisy" ist.

Ratber
14.02.2006, 06:47
Und um die 15 Zeichen voll zu machen: es ist eine Schaltung, in der Jedes Bauteil recht "teuer" ist, auch jede Verbindung. Werd dann evtl. nen C nehmen, falls die Schaltung zu "noisy" ist.


Haste die Schaltung schon Auf EMV-Eigenschaften und Störfestigkeit geprüft ?

Der interne Pullup ist ja ganz Nett und niedlich aber Im Alltag reicht schon ne Mittlere einstreuung um den Reset auszulösen.
Die 5-10K Widerstände haben schon ihren Sinn.

Halt einfach mal nen Handy neben die Schaltung und schau was passiert wenn du ne SMS oder nen Gespräch bekommst.
Der Kondensator den du zugestehen willst bringt dann auch nix wenn er mit Störimpulsen befeuert wird.
Der nutzt nur was bei einzelenen Spikes.

SprinterSB
14.02.2006, 10:49
Das Problem ist, daß ich die Schaltung nicht auf Störfestigkeit prüfen kann. Prüfen könnte ich erst denn, wenn sie fertig ist. Wenn sie fertig ist, kann sie aber nicht mehr geändert werden (wird vergossen).

Das Layout wird nicht in Richtung EMV optimiert, weil das alles frei verdrahtet sein wird (keine Platine).

Ist das der poor-man's EMV-Test? Händi neben die Schaltung? :-) Dann mach ich das mal, also Oszi-loser...

Ratber
14.02.2006, 17:05
Das Problem ist, daß ich die Schaltung nicht auf Störfestigkeit prüfen kann. Prüfen könnte ich erst denn, wenn sie fertig ist. Wenn sie fertig ist, kann sie aber nicht mehr geändert werden (wird vergossen).


Gut,also ne ungeprüfte Schaltung.
Das du hier um 1-2 Cent so nen Aufstand machst und von Geld redest läst darauf schließen das du eine Menge davon herstellen willst.
Aber Geld für 1-2 Prototypen ist nicht da.

Also ich weiß nicht aber ne ungeprüfte Schaltung in massen herzustellen ist Roulette ind Reinkultur denn wenn sich der Reset mit dem internen Pullup als Flop erweist dann haste viel Müll gebaut.

Ich kenn da jemanden der wollte ne Lichterkette/Netz aus vielen kleinen Adressierbaren Tinys mit RGB-LED basteln die alle einzeln über ein eigenes Protokoll adressierbar waren.(Alles über 3 Drähte)
Dabei hat er nur drei Prototypen gebaut die auf dem Tisch liefen und nur kurze Kabel hatten.
Danach hat er erstmal rund 100 Stück draus gemacht und dann aufgebaut.
Es lief fast garnichts denn zum einen hat er sich um die Störfestigkeit einen Dreck geschehrt.
Auf dem "Bus" herschte Gewitter und bei der langen Versorgungszuleitung sah es auf selbiger auch nicht besser aus.



Das Layout wird nicht in Richtung EMV optimiert, weil das alles frei verdrahtet sein wird (keine Platine).

Also nen Igel.
Noch schlimmer.


Ist das der poor-man's EMV-Test? Händi neben die Schaltung?

Ja unter anderem das.
Kannst auch neben nem herkömmlichen Staubsauger testen der geschaltet wird.
Bei Netzbetriebenen Geräten merkt man da schnell wie gut die Siebung ist und in der Schaltung wie gut se auf fremde Magnetfelder reagiert.(Halogentrafo von ner Tischlampe tuts auch)


Was soll es denn werden das es kaum was kosten darf ?

-=[Cassiopeia]=-
01.05.2007, 13:08
HI ich hätte auch noch ne Frage zum Pullup am Resetport. und zwar wird in der atmega grundschlatungn nen 10K Widerstand zwischen reset und Vcc verbaut.
nun schreibt mir atmel aber in der anleitung zum AVR ISP mkII auf seite 26

"The reset line should not have a stronger pull up than 4,7k oh...."
anleitung unter:

http://www.atmel.com/dyn/resources/prod_documents/AVRISPmkII_UG.pdf

tja nun meine frage is der 4,7k zu klein und damit der atmega zu störanfällig?
danke für ne kurze antwort

Ratber
01.05.2007, 13:52
Nein,der Hintergrund ist der das bei einem kleineren Pullup als 4.7K der Programmer den Reset nicht mehr sicher und im vorgegebenen Zeitrahmen nach Masse ziehen kann und damit eine PRogramierung unmöglich wird.

-=[Cassiopeia]=-
01.05.2007, 14:07
super danke für die schnelle antwort.
also kann ich nun nen 10KOhm Widerstand einbauen und sowohl der Programmer als auch der Reset funktioniert?
weil laut anleitung soll der Widerstand ja kleiner als 4,7kOhm sein...?

Ratber
01.05.2007, 14:56
Nein ,das "Stronger" hast du falsch verstanden.
Das bezieht sich auf den Strom der durch den Widerstand fließt.

Also nochmal etwas im Detail:

Der Reset am Controller ist "Low-Active" also wenn man ihn auf "0" also Masse zieht wird der Betrieb eingestellt.
Nach der Rückkehr auf "1" resetet der Controller und fürht einen Kaltstart (Ram wird zurückgesetzt) aus.
Bleibt der Reset eine bestimmte Zeit (Steht auch im Datenblatt) auf "0" gehalten dann geht der Controller in den PRogramiermodus und über den SPI-Port kann das Programm eingespielt werden.

Nach der Programierung wird der Reset wieder "Losgelassen" und ein Reset wird ausgeführt.

Jetzt kommen Pullup und Kondensator ins Spiel !

Der Resetpin hat zwar einen internene Pullup der einem equivalent von 30K entspicht aber jede relativ kleine störung auf der Leitung kann einen kurzen negativen Impuls auslösen der von der Resetlogik erkannt und mit einem Neustart quittiert wird.
Da das nicht im Sinne des Erfinders ist wird der Pullup entsprechend so ausgelegt das größere Energieen nötig sind um einen Reset auszulösen.
Er wird also kleiner (Stronger (Current)).
Man kann ihn einfach auf Vcc legen aber dann ist kein Programieren mehr möglich.
Ergo muß es ein Widrstand sein.
Der Programmer seinerseits hat nur begrenzte Möglichkeiten eine Logische "0" zu erzeugen,sprich der Ausgangstreiber kann nur begrenzt Strom abführen.
Aus dem Grunde darf der Pullup am Reset nicht zu klein werden.
Beim USB MKII werden 4.7K als Minimum (Nicht kleiner) angegeben.(Bei den meisten Programmern übrigens auch)

Damit aber nicht eine steiler Störimpuls doch noch einen Reset auslösen kann wird einfach ein Kondensator nach Masse dazugeschaltet der diese Steilen aber doch relativ Energieschwachen Impulse (Spikes) schlucken soll.
Dieser sollte schon so um die 100nF haben aber darf nicht größer sein als 10µF.(Nur MKII.Andere Programmer bzw. Software = andere Werte)

Sofern deine Resetleitung nicht zu lang wird (Extra Taster,Externer Watchdog ....usw.) kannst du mit den 10K leben aber der Kondensator ist in jedem Falle Pflicht.
100 nF reichen da schon.
Wie ich oben schon sagte,nicht am falschen Ende geizen.
Die paar Cent machen den Kohl auch nicht Fett. ;)

-=[Cassiopeia]=-
01.05.2007, 15:17
WOW! Danke Ratber für die ausführliche Erläuterung!
jetzt ist des alles klar und ich kann schön meinen 10K Ohm Widerstand einbauen.
Also währe "should not have a bigger current than ..." die bessere Formulierung gewesen.

Nochmals danke für die schnelle und gute Antwort.
So jetzt muss ich mir nur noch nen größeres, leicht anzusteuerndes und nicht zu teures grafik lcd bzw oled suchen. dann bin ich glücklich:-) wenn jemand vorschläge hat.bitte gern. Danke

Ratber
01.05.2007, 15:48
Also währe "should not have a bigger current than ..." die bessere Formulierung gewesen.


Da haben die Amis den gleichen Spleen wie mit dem Wort "Milliard".
Scheint zu kompliziert zu sein also sagen die einfach "Billion" weils besser auf der Zunge rollt.
Gib aber die gleichen lustigen Missverständnisse. ;)