Forum: Mikrocontroller und Digitale Elektronik Kann ein AVR zufällig seine Programmierung verlieren?


von Ego (Gast)


Lesenswert?

Moin!

Ich hab hier ein auf Lochraster aufgebautes Evertool, welches schon 2 
mal nur durch ein neu flaschen wieder zum Leben erweckt werden konnte.

Ist es eigentlich theoretisch möglich, dass ein AVR z. B. durch einen 
Schaltungsfehler seine Programmierung verliert? Wenn zum Beispiel die 
Versorgungsspannung nicht sauber ist, oder nen Wackelkontakt hat. Oder 
offene ISP Anschlüsse, die zufällige Signale auf der ISP Schnittstelle 
erzeugen?

Viele Grüße,
Ego

von Ben _. (burning_silicon)


Lesenswert?

wenn rein zufällig 230V~ an irgendwelche pins kommt halte ich es für 
möglich, daß der µC seine programmierung verliert...

sonst aber eigentlich nicht. wenn die versorgungsspannung unsauber ist 
läuft er nur nicht richtig. bei offenen ISP anschlüssen die keine 
weitere funktion haben sollte man wie bei allen anderen offenen pins per 
software für einen definierten pegel sorgen. also entweder als 
ausgang->GND definieren oder als eingang mit aktivierten 
pull-up-widerständen.

von Reinhard R. (reirawb)


Lesenswert?

Ich habe schon erlebt, dass sich beim AVR die ersten 1 bis 2 Byte des 
Programmcodes geändert haben und dadurch natürlich das Programm nicht 
mehr anlief. Als Ursache wurde ein zu langes Programmierkabel 
identifiziert, welches beim Zuschalten der Betriebsspannung noch 
steckte.
Den ganzen Vorgang und die Lösung kannst Du hier nachlesen (MaWin hat 
damals den entscheidenden Tipp gegeben):
http://groups.google.de/group/de.sci.electronics/browse_thread/thread/9bcaafab08399b1c/4a77cd7967095274?hl=de&lnk=gst&q=Reinhard+Richter+Hallo+NG#4a77cd7967095274

Quintessenz des Ganzen: Keine Experimente mit gestecktem 
Programmieradapter!

Reinhard

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Ego schrieb:

> Ist es eigentlich theoretisch möglich, dass ein AVR z. B. durch einen
> Schaltungsfehler seine Programmierung verliert? Wenn zum Beispiel die
> Versorgungsspannung nicht sauber ist, oder nen Wackelkontakt hat. Oder
> offene ISP Anschlüsse, die zufällige Signale auf der ISP Schnittstelle
> erzeugen?

Es gibt Berichte dass vor allem beim langsamen Absterben der 
Versorgungsspannung schon mal der Flash Daten verlieren kann, deswegen 
gibt es ja den BOD (brown out detector). Solltest also dieses Fuse und 
den entsprechenden BOD-Level setzen, dann sollte das nicht mehr 
passieren, sonst hast ein anderes Problem.

von Frankl (Gast)


Lesenswert?

Ich habe so etwas schon 2 mal erlebt bei einem Controller an dem die 
MISO und MOSI als Ports benutzt worden.

von Olaf (Gast)


Lesenswert?

Ich kann bestaetigen das es MCS51 Typen von Atmel mit integriertem
Bootloader gibt welche ihren Inhalt verlieren wenn man sie mit zu 
geringer
und wackeliger Spannung betreibt. So halt das der Controller oefters
mal in den Reset geht. Liesst man den dann aus so kann man sehen das 
immer
mal irgendeine Bank des Flashes komplett geloescht wurde.

Das passiert auch wenn man die Resetleitung zu Testzwecken fest auf 
Reset loetet. Es laesst sich also NICHT durch eine vernuenftige 
Resetschaltung mit Spannungueberwachung verhindern.

Jetzt ist das zwar kein AVR, aber vom selben Hersteller. Vielleicht gibt 
es ja Aehnlichkeiten im Flash und dessen Ansteuerung.


Olaf

von Bensch (Gast)


Lesenswert?

> Ich habe so etwas schon 2 mal erlebt bei einem Controller an dem die
MISO und MOSI als Ports benutzt worden.

Wenn man im Reset am Port rumdödelt, ist das natürlich für den uC eine 
Programmiersequenz.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.