www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Unbenutzte AVR-Pins wie beschalten (EMV)?


Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,

ich habe hier keine klare Antwort zu folgender Frage gefunden.

Wie sollten unbenutzte AVR-pins EMV-gerecht beschaltet werden?

Als Eingang auf GND oder Vcc ziehen ist für den AVR gefährlich, falls 
man bei der Programmierung ein Fehler macht und aus Versehen die Pins 
als Ausgang schaltet. Erst recht in der Entwicklung.

Ich DENKE die unbenutzen Pins "in der Luft" stehen lassen und als 
Ausgang schalten und Pin mit cbi auf low setzen, ist die Antwort.

Gefühlsmäßig würde ich sagen, das sbi keinen EMV-Vorteil gegen cbi 
bringt.


Aber denken ist nicht wissen, was meint ihr?

FR

Autor: Chris H. (wuselwutz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir (also ich) meinen: oft genug diskutiert worden. Pins in der Luft 
hängen lassen und auf Eingang mit aktiviertem Pull Up konfigurieren.

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, und was ist daran sinnvoller als Ausgang und cbi?

FR

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, eine begründete aussage habe ich hier nicht gefunden.

in der Luft hängen lassen ist klar, aber warum Eingang mit Pullup und 
nicht Ausgang.

FR

Autor: Udo. R. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abzwicken :-)

Autor: Doh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Chris H. (wuselwutz):
Ist das Ironie?
Ein Eingang kann sich trotz pull-up eher was einfangen als ein Ausgang.
Gefühlt würde ich sagen als Ausgang schalten ist sinnvoller.

Ein definierter Pegel ist auf jeden Fall sinnvoll. Hab mal bei einem 
Controller nach dem Grund für den relativ hohen Stromverbrauch gesucht 
und da hat das Pegeldefinieren bei ungenutzen Pins fast 20% eingespart.
Muss aber dazusagen, dass er vorher auch nur ca. 50mA gebraucht hat. 
Aber immerhin!

Autor: Udo. R. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Ernst, war doch grad vor kurzem Thema hier. Was sagt denn das Design 
Guide von Atmel bzw. das Datasheet?
Ist Stromverbrauch ein Thema, wie braucht der Port weniger Strom, etc pp

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Abzwicken :-)
"Antenne" abzwicken beteutet nicht Antenne weg!
Hätte gern einen Beitrag der über kaputtmachen hinaus geht :-)

@Doh
Ja, mit dem definierten Pegel erscheint mir auch sinnvoll.
Und ich denke besser auf GND statt Vcc, oder?


FR

Autor: Doh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt sagt:
Unconnected Pins
If some pins are unused, it is recommended to ensure that these pins have a defined level. Even
though most of the digital inputs are disabled in the deep sleep modes as described above, floating
inputs should be avoided to reduce current consumption in all other modes where the digital
inputs are enabled (Reset, Active mode and Idle mode). The simplest method to ensure a
defined level of an unused pin, is to enable the internal pull-up. In this case, the pull-up will be
disabled during reset. If low power consumption during reset is important, it is recommended to
use an external pull-up or pull-down. Connecting unused pins directly to VCC or GND is not recommended,
since this may cause excessive currents if the pin is accidentally configured as an
output.

Ok, Pull-up aktivieren bedeutet dann wohl, man soll den PIN auf Eingang 
schalten, sonst gibt es ja keinen definierten Pegel. Wird der Pull-up 
nach nem Reset automatisch wieder aktiviert?
Als Ausgang ist dann vermutlich der Stromverbrauch höher.
Ich hatte halt gedacht, ein Eingang kann sich eher irgendwelche 
Störungen eifangen als ein Ausgang...

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok. Danke,

habs jetzt auch (erst) im Datasheet gefunden.

Aaaaber, warum ist laut Atmel er einfachste Weg einen definierten Level 
zu erreichen den internen Pullup (also Eingang) zu schalten statt einen 
Pegel an Ausgang festzulegen der ja auch noch viel niederohmiger ist.
Wie gesagt: Der Pin ist nicht angeschlossen.

Mit: "Atmel wirds schon wissen" ist mir nicht weitergeholfen.

FR

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ein als Ausgang geschalteter Pin verbraucht mehr Strom. Ein offener 
Eingang schadet zwar nicht, verbraucht aber noch mehr Strom.

MfG Spess

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Eingang mit PullUp ist sicherer, da bei einem versehentlichen
Anschluß von einer Spannung oder Gnd kein Kurzschluß passiert.

Mit 20-50 kOhm ist der PullUp stark genug für einen stabilen Pegel.

Bei "starker Einstrahlung" gibt es noch die internen Dioden
als Schutz.

Und wenn die Software bei einem "freien Pin" auf ein Low, High
oder eine Flanke reagiert ist es ein Softwarefehler und
kein EMV-Problem!

avr

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ein als Ausgang geschalteter Pin verbraucht mehr Strom.
Räzel, auch wenn der Pin nicht angeschlossen ist? Warum ist das so?

>Ein offener Eingang schadet zwar nicht, verbraucht aber noch mehr Strom.
Was genau meinst Du mit "offen"? Ohne internen Pullup und nicht 
angaschlossen?

FR

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI

>Was genau meinst Du mit "offen"? Ohne internen Pullup und nicht
>angaschlossen?

Ja.

MfG Spess

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ein als Ausgang geschalteter Pin verbraucht mehr Strom.
Also wenn ich das richtig verstehe, dann verbraucht ein Eingang mit 
Pullup weniger Strom als ein "offener" Ausgang.
Aber warum ist das so? Der Ausgang ist doch offen.

FR

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bei "starker Einstrahlung" gibt es noch die internen Dioden
>als Schutz.
Aber die schützen doch nicht vor ungewollter Pegeländerung.
Ich hatte mal einen unerklärliche und nicht reproduzierbaren halben 
Reset.
Ich vermute es lag an einem EMV-Problem. Ich weiss es leider nicht.


>Und wenn die Software bei einem "freien Pin" auf ein Low, High
>oder eine Flanke reagiert ist es ein Softwarefehler und
>kein EMV-Problem!
Das sehe ich 100%ig ein.
Aber der Prozessor kann doch, unabhängig von der Software, wegen einem 
EMV-Problem ausser Tritt gebracht werden?!?

FR

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Aber warum ist das so? Der Ausgang ist doch offen.

Ich zitiere aus einem anderen Thread:

Autor:  A. K. (prx)

CMOS Gates sind nur dann stromlos, wenn entweder high oder low,
mittendrin sind beide Transistoren mehr oder weniger eingeschaltet,
folglich fliesst Strom durch beide. In diesem Fall betrifft es das erste
CMOS-Gate von der Eingangsbeschaltung.

Wenn du diesen Pfad in der Abbildung der Innenschaltung eines I/O-Ports
im Datasheet vom 644 studierst, dann wirst du ein Transmission-Gate
finden und dahinter einen Transistor, der das Signal auf Masse zieht. Im
Deep Sleep ist das Transmission Gate ab- und der Transistor
eingeschaltet, um das folgende CMOS-Gate (den Schmitt-Trigger) auf Masse
zu bringen ohne den Pin zu beeinflussen.

MfG Spess

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Transmission-Gate und so muss ich erst noch raffen.(kann ne 
Weile dauern)

Also mit zB. cbi Ausgang auf low zieht mehr Strom, obwohl der Pegel 
nicht mittendrin ist? Er ist doch definiert.

FR

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Also mit zB. cbi Ausgang auf low zieht mehr Strom, obwohl der Pegel
>nicht mittendrin ist? Er ist doch definiert.

Aber Ausgang. Da sind andere Teile des Ports aktiviert.

MfG Spess

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Vergiss meinen letzten Beitrag. Man sollte nicht gleichzeitig fernsehen.

MfG Spess

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also verstehe ich das richtig, dass der nicht angeschlossene, definierte 
Ausgang doch NICHT mehr Strom zieht?

FR

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Also mit zB. cbi Ausgang auf low zieht mehr Strom, obwohl der Pegel
>nicht mittendrin ist? Er ist doch definiert.

Neuer Anlauf:

Das kann dir wahrscheinlich nur ein Entwickler von Atmel erklären. Deckt 
sich aber mit meinen Messergebnissen.

MfG Spess

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fun Rice schrieb:

> Das mit dem Transmission-Gate und so muss ich erst noch raffen.(kann ne
> Weile dauern)

Ein Transmission-Gate ist sowas ähnliches wie ein elektronisches Relais, 
findet sich ansonsten auch in den CMOS Analogschaltern, die gerne als 
ADC-Multiplexer verwendet werden.

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, Danke erst mal an Euch für die Antworten!

Dann neme ich es an Tatsache an, dass der Ausgang mehr strom zieht.

Aaaaber, unabhängig vom Strom ist ein Ausgang viel niederohmiger und 
würde doch eine durch EM induzierte Spannug viel stätker belasen und 
bestenfalls eliminieren?!?


FR

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn deine EMV-Störungen so massiv sind, dass sie die mit internen 
Pullups versehenen Eingänge soweit ziehen, dass es schon signifikant auf 
den Stromverbrauch geht, dann würde ich mir eher Gedanken über die 
Stabilität des Gesamtsystem machen als um diesen Effekt.

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, ich habe nur ein mal diesen Effekt festgestellt. Und EMV-Störungen 
sind für mich unsichtbar, nur die Folgen nicht.

Ist es EMV-resistenter wenn ich Ausgänge benutze?
Ja oder nein?

FR

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum hälst du dich nicht ganz einfach mit guten Gewissen an die 
Herstellerangabe und schaltest den internen Pullup ein?

Autor: M. S. (bugles)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ein Eingang kann sich trotz pull-up eher was einfangen als ein Ausgang.
>Gefühlt würde ich sagen als Ausgang schalten ist sinnvoller.

Selbst wenn, was soll er sich einfangen wenn du den Port nicht 
verwendest? Also kennt wer einen Fall indem selbst ein Port ohne Pullup 
jemals irgendwie den Programmablauf oder so beeinflusst hat. Würde mich 
mal wirklich interessieren.

Ich benutze die Pullups fast nie und hatte niemals Probleme.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ist es EMV-resistenter wenn ich Ausgänge benutze?
>Ja oder nein?

Egal. Auch ein offener Eingang ohne Pull-Up verursacht weder 
Funktionsstörungen noch Beschädigung.

MfG Spess

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warum hälst du dich nicht ganz einfach mit guten Gewissen an die
>Herstellerangabe und schaltest den internen Pullup ein?
Weil ich den Grund für diese Empfehlung nicht verstehe.
Wenn der Grung nur die Stromerparnis ist würde ich das gegen erhöhte 
EMV-resistenz opfern.

Aber die ernste Aussage " Ja, definierte Ausgänge sind EMV-Resistenter"
steht scheinbat nirgens. Erscheint mit aber elektro-physikalich logisch!

FR

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na ist doch klar, wenn man den Pin auf Ausgang schaltet und am Ausgang 
aus versehen was angeschlossen war, was ebenfalls ein Ausgang war, dann 
raucht es aus der Kiste. Deswegen ist ein Pull Up viel ungefährlicher.

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hi

>>Ist es EMV-resistenter wenn ich Ausgänge benutze?
>>Ja oder nein?

>Egal. Auch ein offener Eingang ohne Pull-Up verursacht weder
>Funktionsstörungen noch Beschädigung.

Ne ne nicht egal, ich meine die ganze Zeit EMV-Störungen von aussen!!!

FR

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Na ist doch klar, wenn man den Pin auf Ausgang schaltet und am Ausgang
>aus versehen was angeschlossen war, was ebenfalls ein Ausgang war, dann
>raucht es aus der Kiste. Deswegen ist ein Pull Up viel ungefährlicher.

Ne ne, wie oben beschrieben ist der unbenutzte Pin nicht angeschlossen.

FR

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es geht um die Frage:

Ist es EMV-resistenter wenn ich Ausgänge benutze?
Ja oder nein?
(Von aussen in Richtung AVR betrachtet.)


FR

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ne ne nicht egal, ich meine die ganze Zeit EMV-Störungen von aussen!!!

Warum rutscht eigentlich manchen schon beim Wort 'EMV' das Herz in die 
Hose?

Also wir haben Geräte, da werkelt ein ATMega128 ca. 15cm (unabgeschirmt) 
entfernt von einer 5kW PWM-Verstärker-Endstufe. Da fliessen Ströme bis 
150A bei 80KHz und Oberwellen bis in den MHz-Bereich . Ein Radio würde 
an dieser Stelle nichts mehr empfangen. Die ATMegas, mit offenen IOs, 
also Pins im jungfräulichen Zustand nach dem Reset, versehen klaglos 
ihren Dienst. Ich habe in mehr als 12 Jahren mit AVRs noch nie 
unbenutzte Pins irgendwie beachtet oder behandelt. Und bin damit gut 
gefahren.

Und wenn du den Auszug aus dem Datenblatt liest, wirst du feststellen, 
das Atmel auch nur etwas 'empfiehlt'.

MfG Spess

Autor: peterguy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei uns (Automotive) war das Thema unbenutzte Pins grade auch ein Thema. 
Wir haben alle freien Pins jetzt als Output LOW konfiguriert. Seit dem 
ist der Ruhestromverbrauch um 30% gesunken.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ist es EMV-resistenter wenn ich Ausgänge benutze?
>Ja oder nein?
>(Von aussen in Richtung AVR betrachtet.)

Sch...egal.

MfG Spess

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Und wenn du den Auszug aus dem Datenblatt liest, wirst du feststellen,
> das Atmel auch nur etwas 'empfiehlt'.

Ja und das auch nur wenn man minimalsten Stromverbrauch haben möchte.

Autor: Bernd O. (bitshifter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fun Rice schrieb:
> Ok. Danke,
>
> habs jetzt auch (erst) im Datasheet gefunden.
>
> Aaaaber, warum ist laut Atmel er einfachste Weg einen definierten Level
> zu erreichen den internen Pullup (also Eingang) zu schalten statt einen
> Pegel an Ausgang festzulegen der ja auch noch viel niederohmiger ist.
> Wie gesagt: Der Pin ist nicht angeschlossen.
>
> Mit: "Atmel wirds schon wissen" ist mir nicht weitergeholfen.
Die Sache ist doch relativ klar:
Atmel sagt, dass ein definierter Pegel nötig ist und empfiehlt, das über 
einen Eingang mit aktiviertem Pull-Up zu regeln. Weiterhin empfehlen sie 
den unbenutzten Pin nicht hart auf einen definierten Pegel zu ziehen, da 
das im Falle eines SW-Fehlers (auf Ausgang definiert) zu hohen Strömen 
führt.

Was Atmel damit implizit sagen will:
"Auch ein Ausgang stellt einen definierten Pegel sicher, aber wir 
empfehlen das nicht, da wir keinen Stress mit ausgefallenen Endstufen 
haben wollen, nur weil einige Deppen da draußen die unbenutzten Pins auf 
VCC oder GND legen und ihre grottenschlechte Software den Pin dann doch 
ab und zu als Ausgang konfiguriert."

Fazit:
Wenn Du tatsächlich massive EMV-Probleme hast und wenn Du Dir sicher 
bist, dass Du Deine SW im Griff hast und die Pins nicht doch mal als 
Ausgang definierst, dann spricht nichts dagegen, die Pins auf GND oder 
VCC zu legen. Bezüglich EMV wirst Du damit sicherlich besser fahren als 
mit einem offenen Pin und internen Pull-Ups.

Wenn eine absolut niedrige Stromaufnahme nötig ist, dann ist es ja kein 
großer Auftrag, einfach die paar theoretisch möglichen Varianten:
- offener Eingang ohne Pull-Up (sicherlich schlecht - aber interessant 
das mal zu messen)
- offener Eingang mit Pull-Up
- Eingang mit Pull-Up hart an VCC
- Eingang ohne Pull-Up hart an VCC
- Eingang ohne Pull-Up hart an GND
- Ausgang Low offen
- Ausgang High offen
- Ausgang Low an Gnd
- Ausgang High an VCC
durchzumessen. Dazu brauchst Du nur einen Widerstand, den Du zwischen 
Versorgungsspannung und VCC-Pin schaltest. Parallel zum Widerstand kommt 
eine kleine Si-Diode, die sicherstellt, dass am Widerstand nicht mehr 
als 0,7 V abfallen. Wenn der AVR in dem Zustand ist, in dem Du den Strom 
messen willst, kannst Du einfach den Spannungsabfall am Widerstand 
messen und daraus den Strom errechnen. Dazu reicht ein preiswertes 
Multimeter im 200mV-Bereich, da Du den Widerstand quasi beliebig groß 
machen kannst - gegenüber mehreren MOhm Eingangswiderstand des 
Multimeters sollte er immer noch klein sein - für eine vergleichende 
Messung wäre selbst das egal.

Gruß,
Bernd

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Bei uns (Automotive) war das Thema unbenutzte Pins grade auch ein Thema.
>Wir haben alle freien Pins jetzt als Output LOW konfiguriert. Seit dem
>ist der Ruhestromverbrauch um 30% gesunken.

Evtl. könntet ihr mit 'Pull-Up noch mehr sparen. Nach meinen Messungen 
ist da der Stromverbrauch noch geringer.

>IJa und das auch nur wenn man minimalsten Stromverbrauch haben möchte.

Richtig.

MfG Spess

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Atmel sagt, dass ein definierter Pegel nötig ist und empfiehlt, das über
>einen Eingang mit aktiviertem Pull-Up zu regeln.

Nein. Atmel empfiehlt für bestimmte Bedingungen eine definierten Pegel

>Wenn Du tatsächlich massive EMV-Probleme

Ich glaube nicht, das er damit Probleme hat. Es ist möglicherweise nur 
die Angst vor etwas, was man gehört, aber nicht verstanden hat.
Man könnte  'verstanden' auch mit 'einschätzen' ersetzen.

MfG Spess

Autor: Udo. R. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh Gott, das ist ja wieder ein Thread wie mit einem Kind das bei jedem 
Versuch einer Begründung einfach wieder "Warum" fragt. Erinnert an LEDs 
ohne Vorwiderstand.
Entweder du machst was Atmel empfiehlt, oder Du weisst es besser und 
konfigurierst die Pins auf Ausgang.
und wenn Du wirklich so große Bedenken wegen EMV und Störungen hast, 
dann knips wirklich die unbenutzten Pins ab, dann ist nämlich ein großer 
Teil der 'Antenne' weg!
Manchmal hilft (in abgewandelter Form aus Last Samurai) "Weniger 
Bedenken, mehr basteln" :-)

Autor: Bernd O. (bitshifter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Udo. R. S. schrieb:
> Entweder du machst was Atmel empfiehlt, oder Du weisst es besser und
> konfigurierst die Pins auf Ausgang.
Hallo Udo,

sein Problem ist ja, dass Atmel eben nicht sagt, ob Eingang mit Pull-Up 
besser ist oder Ausgang oder Eingang hart auf GND bzw. VCC legen. Sie 
empfehlen Eingang mit Pull-Up, weil hart auf GND bzw. VCC bei SW-Fehlern 
Probleme macht. Was besser ist, wenn man die SW-Fehler ausklammern kann 
sagen sie nicht.

Da das Thema jetzt aber wirklich von allen Seiten beleuchtet wurde, wäre 
jetzt tatsächlich wie Du schreibst Basteln angesagt.

Noch etwas zum Thema EMV:
"Antennen" abknipsen ist sicherlich besser als Antennen dranlassen, aber 
wie sieht es bei abknipsen vs. auf GND legen aus - was ist hier besser?

Gruß,
Bernd

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erst mal für die Antworten.

Aber leider gehen viele in die falsche Richtung.
Wenn ich es besser wissen würde, dann würde ich nicht fragen!

Ich versuch mich jetzt unmissverständlich auszudrücken.

Ich will kein Strom sparen!
Ich will die unbenutzen Pins NICHT an GND oder VCC anschließen.
Ich will nix am AVR abknippsen. (Wer macht denn AVRs kaputt?)

Bern O. hat u.a. den Kern der Frage verstanden.
>Was Atmel damit implizit sagen will:
>"Auch ein Ausgang stellt einen definierten Pegel sicher, aber wir
>empfehlen das nicht, da wir keinen Stress mit ausgefallenen Endstufen
>haben wollen, nur weil einige Deppen da draußen die unbenutzten Pins auf
>VCC oder GND legen und ihre grottenschlechte Software den Pin dann doch
>ab und zu als Ausgang konfiguriert."

Jetzt vorbereitend zu meiner Frage:

Angenommen eine "EM-Welle" schafft es über einen Eingangspin mit 
internen Pull-Up eine Spannung zu induzieren, die zB. ein Bit im 
Programmcounter gerade eben kippen lässt.( und sagt mir jetzt nicht, 
Mikrokontroller halten jede EMV-Situation stand).


Bitte antwortet doch nur mal auf die Frage, ohne irgedwelche 
Unterstellungen.

************************************************************************
Würde die gleiche EM-Welle das bei einem Ausgang, der nicht 
angeschlossen ist und zwangsläufig niederohmig ist, schaffen?
************************************************************************


FR

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fun Rice schrieb:

> Angenommen eine "EM-Welle" schafft es über einen Eingangspin mit
> internen Pull-Up eine Spannung zu induzieren, die zB. ein Bit im
> Programmcounter gerade eben kippen lässt.( und sagt mir jetzt nicht,
> Mikrokontroller halten jede EMV-Situation stand).

Mit einem EMP kriegst du fast alles erlegt.

Dagegen hilft rein optische Datenverarbeitung, der klassische Weg über 
Papier und Bleistift - oder die Röhrentechnik die bei manchen Militärs 
deshalb vielleicht noch verwendet wird.

Herkömmliche Elektronik hat gegen dein Schreckensszenario keine Chance. 
Denn dann ist nicht der Pin das Problem, sondern die Störinduktion 
direkt auf dem Chip und auf den Bonddrähten der übrigen Leitungen.

Ob Pullup oder Ausgang=0 ist in dem Zusammenhang dann völlig egal, denn 
eine Störung deiner Grössenordnung kommt auch über Reset, VCC/GND, die 
Schutzdioden, die benutzten Ein/Ausgänge rein. Abhilfe: Auf sämtliche 
Ein- und Ausgänge verzichten und Reset per Fuse wegdefinieren.

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, dann ist es So wie spess53 schreib:
>Sch...egal.

FR

Autor: Doh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab gerade noch mal verglichen, mit den ungenutzten Pins als Ausgang und 
off (nirgendwo angeschlossen) habe ich ca. 36,4mA.
Mit den Pins als Eingang mit aktivierten pull ups habe ich ca. 36,6mA.

Autor: Udo. R. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du so eine EMP-Flutwelle hast, dann meine Gegenfrage:
Was machen denn dann deine anderen gewollt auf Eingang programmierten 
Eingänge, deren Registerwerte auch noch softwareseitig abgefragt werden?
Meinst Du die sind dann richtiger als ein impuls auf einen unbenutzten 
Eingang der eh nicht abgefragt wird sofern Dein Programm stimmt.
Du grübelst hier über ein Sandkorn, während Du am Strand sitzt.

Kopfschüttel!

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doh schrieb:
> Hab gerade noch mal verglichen, mit den ungenutzten Pins als Ausgang und
> off (nirgendwo angeschlossen) habe ich ca. 36,4mA.
> Mit den Pins als Eingang mit aktivierten pull ups habe ich ca. 36,6mA.

Du "hast" 36,4mA? Wat?

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn Du so eine EMP-Flutwelle hast, dann meine Gegenfrage:
>Was machen denn dann deine anderen gewollt auf Eingang programmierten
>Eingänge, deren Registerwerte auch noch softwareseitig abgefragt werden?
>Meinst Du die sind dann richtiger als ein impuls auf einen unbenutzten
>Eingang der eh nicht abgefragt wird sofern Dein Programm stimmt.
>Du grübelst hier über ein Sandkorn, während Du am Strand sitzt.

1. Ich habe diese EMP-Flutwelle nicht.
2. Meine Eingänge sind logischer Weise an anderen Ausgängen 
angeschlossen. Somit ist der ganze Strang niederohmig.
3. Geht es hierum:

Angenommen eine "EM-Welle" schafft es über einen Eingangspin mit
internen Pull-Up eine Spannung zu induzieren, die zB. nur ein Bit im
Programmcounter GERADE eben kippen lässt.

************************************************************************
Würde die gleiche EM-Welle das bei einem Ausgang, der nicht
angeschlossen ist und zwangsläufig niederohmig ist, schaffen?
************************************************************************


FR

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fun Rice schrieb:

> Angenommen eine "EM-Welle" schafft es über einen Eingangspin mit
> internen Pull-Up eine Spannung zu induzieren, die zB. nur ein Bit im
> Programmcounter GERADE eben kippen lässt.

Genau das ist der springende Punkt.
Damit die das GERADE eben schafft, muss sie schon sehr stark sein.

Autor: Doh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe ich ... Stromverbrauch gemessen.

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, aber wenn der EMP es über den hochohmigen Eingang schafft, dann 
würde für mein Verständniss die gleiche induzierte Spannung durch den 
niederohmigen Ausgang viel stärker belastet, so dass sich kaum eine 
Induktionsspannung aufbauen kann.

Hmm, andererseits hätten wir beim Ausgang durch die niederohmige Last 
einen höheren "Induktionsstrom" zur Folge, oder?

FR

Autor: Volker Zabe (vza)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fun Rice schrieb:
> 1. Ich habe diese EMP-Flutwelle nicht.
> 2. Meine Eingänge sind logischer Weise an anderen Ausgängen
> angeschlossen. Somit ist der ganze Strang niederohmig.
> 3. Geht es hierum:
>
> Angenommen eine "EM-Welle" schafft es über einen Eingangspin mit
> internen Pull-Up eine Spannung zu induzieren, die zB. nur ein Bit im
> Programmcounter GERADE eben kippen lässt.


zu 2.
Das schützt nur vor kapazitiv gekoppelten Störungen. Für induktiv 
eingekoppelten Störungen ist das die beste Antenne.
Da musst du schohn Ein-/und Ausgang mit deinem Wellenwiderstand 
abschliessen.

Bevor die EMV-Welle dein Programmcounter ändert, ändert sie erstmal 
deine Eingangsregister.
Ist die EMV-Welle so gross das sie den Programm counter ändert, ist es 
völlig egal ob deine ungenutzten pins ein -/oder Ausgang sind.

Du suchst Probleme wo gar keine sind!!!

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, und da sind wir bei der Theorie von EMV angelangt, die du dir 
vielleicht mal zulegen könntest, damit nicht immer im Dunkeln gestochert 
wird:
Es gibt Einkopplungen über das Magnetfeld (induzierte Spannungen) und 
über das E-Feld (eingekoppelte Ströme)... meistens treten beide auf, 
E-Feld kann man abschirmen, Magnetfeld nicht (können aber durch 
Gegenfelder aufgehoben werden)

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat zwar nichts mit dem AVR zu tun, aber mit Datenblättern & Co.
Ich habe diesen POL Wandler eingesetzt: ATA006A0X
Und da steht im DB:
When not using positive logic On/off pin, leave the pin unconnected or tie to VIN.
Also habe ich das einfach mal getan und den Pin offengelassen, hat ja 
einen Pullup dran...

Und dann das böse Erwachen in der Koppelzange: der Schaltregler schaltet 
ab und zu OFF. Erst mit einem niederohmigen Pullup oder direkt an VIN 
war Ruhe. Allerdings war das wie gesagt mit einem Pin, der eine Funktion 
hat. Ein nicht verwendeter Eingangspin sollte mit dem Pullup zufrieden 
sein...

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du suchst Probleme wo gar keine sind!!!
Hmm.

>So, und da sind wir bei der Theorie von EMV angelangt, die du dir
>vielleicht mal zulegen könntest, damit nicht immer im Dunkeln gestochert
>wird:

Weil ich nicht Fit in EMV bin Frage ich ja.
Die Antwort kann doch nicht sein: "Mach dich selber schlau" im 
übertragenen Sinn.

Wozu brauchen wir dann ein Forum?

Wiso kann man ein Magnetfeld nicht abschirmen?

FR

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gegen EMV würde ich den Pin als Ausgang schalten und zwar auf den Pegel 
der am weitesten entfernt ist von der Schaltschwelle.
Bei AVR ist die Schaltschwelle meist näher am Masse-Pegel (20-60% von 
VDD). Also würde ich hier VDD (also High-Pegel) einstellen.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anja schrieb:
> Hallo,
>
> gegen EMV würde ich den Pin als Ausgang schalten und zwar auf den Pegel
> der am weitesten entfernt ist von der Schaltschwelle.
> Bei AVR ist die Schaltschwelle meist näher am Masse-Pegel (20-60% von
> VDD). Also würde ich hier VDD (also High-Pegel) einstellen.

Super, jetzt war er so gerade halbwegs überzeugt davon wie man's richtig 
macht.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hat man es denn in der guten alten Zeit bei CMOS gemacht ? :-) 
offener Eingang pfui bah also auf einen definierten Pegel legen. Das war 
üblicherweise GND hätte aber auch VCC sein dürfen, Ausgänge dann in die 
Luft.

Was anderes sagt Atmel auch nicht... unbenutzte Pins auf ein definiertes 
Potential und das ist auch ein Eingang mit Pull up... so what ?

Datenblatt von Atmel paßt schon. Wenn dir der Pullup nicht genehm ist 
dann löt halt einen zusätzlichen von außen dran.

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

>Datenblatt von Atmel paßt schon. Wenn dir der Pullup nicht genehm ist
>dann löt halt einen zusätzlichen von außen dran.

Falls ich Dich noch nicht überzeugt habe: man kann das ganze auch 
mathematisch berechnen/abschätzen:

Die meisten (kritischen) EMV-Störungen (Burst/ESD) spielen sich im 
Bereich 1-5ns Flankensteilheit ab. Als korrespondierende Frequenz ergibt 
sich 1/(PI * Flankensteilheit) also ca 60-300 MHz.

Ein IC-Pin hat je nach Bauform ca 0.5 - 2pF (mit Durchkontaktierung) 
Streukapazität gegen Umgebung.

Mal grob überschlägig mit 1pF und 100 MHz gerechnet ergibt sich als 
Impedanz für die Streukapazität des Pins:
Xc = 1 / (j  2  PI  100MHz  1pF) = 1,6 KOhm.

Also damit Dein Pull-up gegenüber der Streukapazität wirksam ist muß er 
wesentlich (Faktor 10) kleiner sein als 1,6 K. (Vorausgesetzt die 
Leiterbahn zum Pull-up und der Pull-up selbst fügen keine weitere 
Streukapazität hinzu).

Die Internen Pull-ups haben so ca 20-50KOhm. (Reicht leider nicht)
Siehe Seite 287:
http://www.atmel.com/dyn/resources/prod_documents/...

Der PIN als Ausgang geschaltet hat ca 25 Ohm (<1600 Ohm) als Pull-Up
(siehe Seite 310 Figure 175)

Wenn ich den Pin extern an Masse/VCC anschließe baue ich mir eine 
Rahmenantenne. (Aber da soll jetzt mal ein anderer anfangen zu rechnen).

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Können wir uns daruaf einigen das der externe Pull up auch 0 Ohm haben 
darf :-) ansonsten kann ich deiner Berechnung nicht widersprechen... 
deshalb sage ich ja zusätzlicher Pullup. Bei verwendung des internen 
kannst du ja mal berechnen wie groß die Störung sein muß damit es 
Auswirkungen hat.

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich muss sagen, dass mich das Posting von Anja überzeugt hat.
Vielen Dank für die ausführliche Erklärung :-))

Dann war meine erste Annahme, bis auf den Low-Pegel,(zufällig) richtig.

Denn ich schrieb:
>Ich DENKE die unbenutzen Pins "in der Luft" stehen lassen und als
>Ausgang schalten und Pin mit cbi auf low setzen, ist die Antwort.

Einen externen Widerstand einlöten kommt für mich nicht in Frage.
Welcher Hersteller würde auch nur einen Widerstand mehr einbauen, wenn 
er ihm keinen Vorteil bringt und das Problem in der 
Hardware-Initialisierung lösen kann.

Auf Vcc oder GND brücken fällt wegen dem 
"Tippfehler-im-Programm-Problem" weg.


FR

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Also ich muss sagen, dass mich das Posting von Anja überzeugt hat.
>Vielen Dank für die ausführliche Erklärung :-))

Warum fragst du eigentlich hier, wenn du sowieso nur deine Meinung 
bestätigt haben wolltest?


>Einen externen Widerstand einlöten kommt für mich nicht in Frage.
>Welcher Hersteller würde auch nur einen Widerstand mehr einbauen, wenn
>er ihm keinen Vorteil bringt und das Problem in der
>Hardware-Initialisierung lösen kann.

Damit hast du aber das gleich Problem wie bei:

>Auf Vcc oder GND brücken fällt wegen dem
>"Tippfehler-im-Programm-Problem" weg.

Lässt sich auch per Tippfehler ausschalten. Da solltest du wenigstens 
konsequent sein.
Von mir aus, mach was du willst. Ich lasse meine Pins auch in Zukunft 
offen.

MfG Spess

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@spess53

Hä, Deine Antworten sind für mich unplausibel.
Oder bist Du wieder am fernsehen?
Bist Du beleidigt?
Ich meine es echt nicht böse. Ich schätze Deine Meinung.

FR

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

dieser Thread ist mal wieder ein Bespiel für dieses Forum: tausend Leute 
meinen, Ihre eigene Meinung unverrückbar darstellen zu müssen, obwohl 
jemand eine konkrete (theoretische) Frage stellt. Warum dauert es so 
lange, bis jemand wie Anja sich findet, der das kurz und eindeutig 
beantwortet?
Sorry, ich konnte mich selbst wegen mangelnder Ahnung zu dem Thema nicht 
(auch noch) einmischen.

Gruss, Ingo.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So fundiert Anjas Erklärung auch sein mag: Darin wird nur beschrieben, 
dass eine EMV-Störung einen Pegelwechsel an einem mit einem internen 
Pullup versehenen Eingang sehr viel wahrscheinlicher bewirken kann als 
an einem als Ausgang definierten Pin.

Nur hat ein ab und zu bis selten auftrender Pegelwechel an einem 
unbenutzen Eingang absolut keine Auswirkung auf das laufende Programm, 
auch der Stromverbrauch ist aufgrund der beschriebenen Zeitverhältnisse 
nicht messbar betroffen.

Die zuletzt gestellte Frage, inwieweit EMV-Störungen eine Auswirkung auf 
das laufenden Programm haben können und inwieweit das mit unbenutzten 
Pins zu tun haben kann, wird davon überhaupt nicht tangiert.

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

> Nur hat ein ab und zu bis selten auftrender Pegelwechel an einem
> unbenutzen Eingang absolut keine Auswirkung auf das laufende Programm,
> auch der Stromverbrauch ist Aaufgrund der beschriebenen Zeitverhältnisse
> nicht messbar betroffen.

meine Erfahrungen sprechen dagegen:
Ein Beispiel:
An einem PIC12F675 habe ich eine RS232-Schnittstelle als Billig-Version 
realisiert. (100kOhm Serienwiderstand am Empfänger-Eingang des PIC).
Normalerweise hätte ich vermutet daß die Eingangsschutzdioden das +/-12V 
Signal zusammen mit dem Serienwiderstand so begrenzen daß es keine 
Auswirkung hat. (12V / 100 kOhm = 120uA was weit unter den üblicherweise 
in den Datenblättern angegebenen 500 - 1000uA ist was die Schutzdioden 
dauerhaft vertragen).

An einem Analog-Eingang des PIC hatte ich einen 33K NTC und einen 
Pull-up 27k angeschlossen. Ich erhielt jedoch unplausible (springende) 
Temperaturwerte. Ein schnell mal parallelgeschalteter 100nF-Kondensator 
brachte keine Verbesserung. Erst mit einem 10uF-Kondensator war das 
Temperatursignal stabil. Mit dem Oszi habe ich Spannungseinbrüche auf 
dem NTC-Eingang gemessen die zum RS232 Signal (-12V) korreliert waren.
Da ich den NTC-Eingang zusätzlich zum Flashen gebraucht habe, habe ich 
eine Schottky-Diode an die RS232-Schnittstelle gehängt die die negativen 
Spannungen auf -0.3V begrenzt. Seither ist das Temperatursignal auch 
ohne Kondensator stabil.

So ein negativer Puls könnte auch durch EMV an einem unbenutzten Eingang 
denselben Effekt bewirken. Was jetzt die Ursache ist konnte ich leider 
nicht nachvollziehen.
Von früheren dynamischen RAMs bzw. den ersten "Single-Supply" 
Prozessoren ist bekannt daß diese über Ladungspumpen negative Spannungen 
im Substrat erzeugt haben damit die Schaltung schneller arbeitet (höher 
getaktet werden kann). Möglicherweise haben wir auch bei modernen 
Prozessoren ähnliche Tricks, die sich jedoch durch entsprechende 
negative Pulse aus dem Tritt bringen lassen.

Das schlimme ist: Wenn Du erst mal Störungen im System hast ist der Weg 
der Störung (Übersprechen über Bonddrähte, Substrat usw.) für den 
Anwender meist nicht mehr nachvollziehbar. -> es lohnt sich vorher etwas 
Zeit zu investieren als später bei den EMV-Tests festzustellen daß 
irgendwas nicht funktioniert.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das erinnert mich an was, das wäre möglich. Für NXPs 74HC Chips ist in 
der Family Doc offiziell dokumentiert, dass aufgrund parasitärer 
Strukturen der durch eine Schutzdiode fliessende Pin an einem Nachbarpin 
zu einem geringen Teil wieder rauskommen kann. Wenn dieser Pin ziemlich 
hochohmig angeschlossen ist, dann kann das Folgen haben.

Das ist auch der Grund, weshalb ich von der recht populären Methode, die 
Schutzdioden in den Normalbetrieb einer Schaltung mit einzubeziehen, 
meist abrate. Solche parasitären Effekte sind meist nicht dokumentiert.

Inwieweit andere Chiptech als NXPs 74HC davon betroffen ist und wenn ja 
wie stark weiss ich nicht.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tippfehler: ... der durch eine Schutzdiode fliessende Strom ...

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Berechnung mit den Streukapazitäten hat einen kleinen 
Schönheitsfehler: Die Streukapazitäten gehen überwiegend gegen eine 
Feste Spannung, i.A. GND. Damit helfen die Streukapazitäten zusätzlich 
den Pegel stabil zu halten.

Für die Entwicklungsphase würde ich beim Pullup bleiben. Für die 
entgültige Schaltung kann es sinnvoll sein Pins als Ausgang und low zu 
setzen und dann auch extern an GND anzuschließen. Damit hat man dann 
eine zusätzliche GND anbindung. Besonders bei Chips wie dem 2313 kann da 
günstig sein, weil da die GND und VCC Pins weit auseinander liegen.
Der Unterschied wird aber nicht groß sein.

Autor: Fun Rice (funnyrice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, Danke nochmal für Eure Antworten.
Für die entgültige Schaltung (PCB) werde ich dann Ausgänge auf low 
setzen aber nicht an GND anschließen, um sie für Weiterentwichlungen 
flexibler und einfacher nutzen zu können.

FR

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.