Forum: Mikrocontroller und Digitale Elektronik Programmierprobleme AVR


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von AVR (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen, ich arbeite mit einem Tiny84A.

Mein Mikrocontroller arbeitet an sich wie erwartet bzw. wie 
Programmiert. Nun teste ich die Grenzen meines Meisterstückes. In meinem 
Fall Drehe ich die Spannung von 24V herunter auf 5V (Der uC wird von 
einem 7805 DCDC-Wandler versorgt). Soweit so gut, in diesem Fall 
arbeitet dieser noch. Gehe ich mit der Spannung jedoch unter 5V, 
funktioniert mein Programm nicht mehr. Auch meine Entwickelte UART 
Kommunikation ist "Geschichte". Ich habe mir nun mein EEPROM und das 
Flash von meinem veralteten AVR Studio 5.0 auslesen lassen und 
festgestellt, dass in den beiden HEX-Dateien lauter "0xFF" steht. Ist 
dies die Default-Einstellung?
Wie kann das sein, dass Obwohl mein Programm nur Pins Toggeln soll 
aufeinmal einen anderen Flash-Code besitzt, nachdem ich die 
Betriebsspannung unter 5V eingestellt habe?

Bin gerade ein wenig ratlos. Wäre für Hilfe sehr dankbar....

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Bewertung
0 lesenswert
nicht lesenswert
Teste Dein Wunderwerk doch mal mit 400V Direktspeisung. Vielleicht 
erklärt das die Frage. Und wieso so ein Controller nicht mit warmer Luft 
und gutem Zureden funktioniert.

Ein Blick in die Datenblätter des AVR und 7805 hinsichtlich der 
minimalen Betriebsspannungen hilft bestimmt auch.

von Oliver S. (oliverso)


Bewertung
0 lesenswert
nicht lesenswert
Was genau erwartest du, und warum?

Der Tiny läuft auch noch mit 1,8V. Dein 7805 „DCDC“ eher nicht, das „AVR 
Studio“ zum auslesen auch nicht, und die Gegenstelle deiner UART auch 
nicht.

Oliver

von AVR (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ok ich muss dazu sagen, dass ich im Anschluss die Spannung wieder auf 
24V eingestellt habe und trotzdem mein Programm überschrieben wurde...

von Bernd N. (_bn_)


Bewertung
0 lesenswert
nicht lesenswert

von spess53 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi

>ok ich muss dazu sagen, dass ich im Anschluss die Spannung wieder auf
>24V eingestellt habe und trotzdem mein Programm überschrieben wurde...

Dann solltest du den Brown-Out-Detektor einstellen.

MfG Spess

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
AVR schrieb im Beitrag #5740814:
> Fall Drehe ich die Spannung von 24V herunter auf 5V (Der uC wird von
> einem 7805 DCDC-Wandler versorgt

Mal in dessen DB geschaut? Der hat so rund 2V Spannungsdrop. Und bei <3V 
muss der olle AVR nicht mehr vernünftig funktionieren, Stichwort: 
Brownout.

Dem Hersteller sind diese Art von Problemen durchaus bekannt, deswegen 
hat der Chip Brownout Detector, den man in den Fuses aktivieren kann.

AVR schrieb im Beitrag #5740814:
> dass in den beiden HEX-Dateien lauter "0xFF" steht. Ist
> dies die Default-Einstellung?

Leeres Flash hat 0xFF. Blinky nutzt nur einen winzigen Teil des Flashs, 
also ist das eigentlich OK das da lauter 0xFF vorhanden sind.

von Oliver S. (oliverso)


Bewertung
0 lesenswert
nicht lesenswert
Jim M. schrieb:
> Leeres Flash hat 0xFF. Blinky nutzt nur einen winzigen Teil des Flashs,
> also ist das eigentlich OK das da lauter 0xFF vorhanden sind.

Na ja, in dem kleinen Teil zu Beginn des Speichers, den das Programm 
belegt, wäre das nicht ok.

Oliver

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Bewertung
0 lesenswert
nicht lesenswert
Einfach mal die Dateien hochladen. So top secrect wird ein 
LED-Blinkprogramm ja nicht sein.

Der EEPROM ist unbeschrieben komplett mit 0xFF gefüllt, das Flash auch.

Falls der Controller mit zu wenig Spannung und ohne brown-out-Reset 
betrieben wird, kann der Speicher korrupiert werden. Aber ob dann alles 
0xFF ist?

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
AVR schrieb im Beitrag #5740814:
> Ich habe mir nun mein EEPROM und das
> Flash von meinem veralteten AVR Studio 5.0 auslesen lassen und
> festgestellt, dass in den beiden HEX-Dateien lauter "0xFF" steht.

Ein Programm darf sich nicht bei Spannungeinbruch von selbst löschen.
Womit hast Du es rein programmiert?
Wenn Du einen Bootloader benutzt, sollte unbedingt das Brownout 
aktiviert sein.

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]
  • [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.