www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [SAM7] Power-Up Reset im laufenden Betrieb


Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum!

Ich beobachte zur Zeit ein merkwürdiges Phänomen.

An ander Codestelle, die eigentlich nur einmal beim starten des µC 
ausgeführt wird, lese ich das Reset Controller Status Register aus. Der 
Wert darin ist ncoh dem einschalten korrekt ein Power-up Reset.
Jetzt seh ich aber, dass ab und an auch im laufenden Betrieb ein solcher 
reset ausgelesen wird (ich lasse mir den ausgelesenen Wert über die 
Serielle Schnittstelle herausgeben). Der Watchdog ist aktiviert.

Wie kann soetwas passieren?

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sam schrieb:
> An ander Codestelle, die eigentlich nur einmal beim starten des µC
> ausgeführt wird, lese ich das Reset Controller Status Register aus.
...
> Jetzt seh ich aber, dass ab und an auch im laufenden Betrieb ein solcher
> reset ausgelesen wird ...

Das Register setzt Du nach dem Auslesen auch auf Null?
Btw: Wenn die Codestelle nur beim Starten ausgeführt wird: Wie kannst Du 
dann im Betrieb etwas auslesen? Die Funktion muß dann ja aufgerufen 
werden, was üblicherweise der Programmierer tut.

Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

nein, ich setze das Register nach dem Auslesen nicht auf Null. Laut 
Datenblatt ist es Read-Only. Aber der Wert 0 bedeutet ja Power-Up reset.

Und wie der Code im laufenden Betrieb ausgeführt werden kann frage ich 
mich auch.

Ich bin da einwenig ratlos :(

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Und wie der Code im laufenden Betrieb ausgeführt werden kann frage ich
>mich auch.

Bauchlandung des uC wegen Spannungseinbruch?

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
> Bauchlandung des uC wegen Spannungseinbruch?

Das würde ich dann auch tippen, sofern es nicht ein Brown-Out-Reset-Flag 
gibt. Wenn ja: Hast Du ...

Erstmal richtig gefragt: Um welchen Controller genau handelt es sich 
denn überhaupt?

Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

oh, stimmt, habe ich ganz vergessen zu schreiben. Es ist ein 
AT91SAM7X256. Der sollte einen Brown-Out-Reset eigentlich erkennen 
können.

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du den Brownoutreset enabled? Wenn ja, müßte, sofern es einer war, 
ja im Feld RSTTYP des RSTC_SR eine 101 stehen.
Wenn Du den Brownout nicht enabled hat (was Du aber eigentlich immer tun 
solltest), lese auch mal BODSTS im RSTC_SR mit aus. Wegen
"• BODSTS bit: This bit indicates a brownout detection when the brownout 
reset is disabled
(bod_rst_en = 0). It triggers an interrupt if the bit BODIEN in the 
RSTC_MR register enables
the interrupt. Reading the RSTC_SR register resets the BODSTS bit and 
clears the interrupt."

Aber in einem Zug, also nicht z.B. mit zwei if-Abfragen
if (RSTC_SR & RSTTYP) {...}
if (RSTC_SR & BODSTS) {...}
da die erste Abfrage das Register schon löscht. Also z.B. das Register 
in einer Variablen speichern und dann die ganzen Tests machen. Am 
einfachsten ist aber, den Brownout zu enablen.

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.