mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mega16 startet ständig neu?!


Autor: Christoph Söllner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi *,

ich habe hier ein Phänomen, aus dem ich partout nicht
schlau werd. Hab nen mega16; da laufen drei Timer-IRs,
der serielle und das Hauptprogramm.

An der seriellen hängt ein 75176 RS485 Treiber. Wenn
der Daten empfängt und diese an den Mega weiterschickt,
startet die Kiste neu, bei 250kBit sehr oft, wobei ich
vermute, dass das nur beim Framing-Error der Fall ist.

Ziehe ich das UART-Kabel ab, laufen die Timer-ISRs und
das Hauptprogramm einwandfrei.

- Habe mit dem Oszi die Spannungspegel (Vcc, etc) geprüft,
passen, platt wie ne Flunder.
- Habe mit dem Logic-Analyser die Daten geprüft,
passen (btw, eine andere MCU mit einer ähnlichen UART
ISR, wo nur zwei Variablen mehr drinnen sind, läuft ein-
wandfrei).
- Hab die Quarzfrequenz angeschaut, 16.000MHz;
- Hab die Fuses kontrolliert, BOD aus, Quarz auf maximaler
Einschwingzeit. Funktioniert an zwei anderen zumindest ein-
wandfrei.
- Habe die MCU getauscht, nix genützt.

Ich hatte das gleiche Problem schonmal mit der 0421J
Revision, da lief keines meiner Programme fehlerfrei,
habe durch Zufall die 0539J bekommen und da lief die
gleiche Hex-Datei sofort.

Aber jetzt geht dieses eine Programm eben auch nicht
mehr auf der MCU, auf der es schon mal lief. Ich habe
auch nichts geändert, es ist die gleiche Platine.
Auch passiert das, wenn ich alles auf dem STK-500 auf-
baue; es scheint, als wäre das kein elektrisches Pro-
blem.

Hat das Problem schon mal jemand gelöst oder kann es
zumindest bestätigen?
Danke, Christoph

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stell´ das Programm rein! Vermutung: Watchdog läuft über.

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du dir das msusr mal ausgegeben (direkt nach reset)? evtl. kann man
da schon sehen, was die ursache ist (wdt, bod, pullup am reset pin zu
schwach)

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das muss MCUCSR heissen

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CKOPT programmiert?

Autor: Olaf Kerner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst auch auch mal antworten, wenn du ein Thema anfängst!

Autor: Christoph Söllner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen, bitte meine späte Antwort zu entschuldigen, ein Bagger hat
eine Leitung durchgebissen und wir hatten danach bis Feierabend (grade
eben ^^) kein Internet mehr.

- WDT: ist aus, Register auf 0x00, zur Sicherheit
  aber auch mit und ohne #asm("wdr"); probiert.

- Meine Vermutung: FrameError? Falsch. Auch ohne
  Auslesen des STATUS-Registers in der USART ISR
  diese Neustarts.

- CK-Opt ist leer, habe externe Cs dran. Passiert
  reproduzierbar auch im STK-500.

- MCUCSR ausgegeben: Passt einwandfrei.

- Statische Entladungen irgendwo in der Schaltung:
  konnte ich sehr gut ausschliessen, mein Osci auf
  Trigger-Level 6V Impuls und 5ns (!) Sample-Dauer
  hat nie irgendwas aufgezeichnet an Vcc, und allen
  Port-Pins. Habe alle gemessen.

Habe mittlerweile den Fehler gefunden. Und zwar war wohl
bei den MCUs, die ich bekommen habe, aus irgendeinem
Grund der Ausgang PORTB.2 defekt; immer wenn ich den ge-
setzt habe, hat das einen Reset ausgelöst. Vllt. innen
drin einen Kurzen. Weil Vcc konstant 5V geblieben ist,
kann es kein BrownOut gewesen sein, der ist ja auch aus.
Ich weiß es nicht, nur hatte mir ein Arbeitskollege den
Tip gegeben, er hätte das angeblich auch mal gehabt.

Vielen Dank an euch.
Christoph

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hättest Du jetzt PortC.2 gesagt, hätte ich JTAG vermutet, aber so - Du
scheinst aber der einzige mit dem Problem zu sein. Und die Controller
waren neu, ja?

Autor: Christoph Söllner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wo sie der Händler her hat, weiss ich natürlich nicht,
vielleicht waren die auch unsachgemäß gelagert. Will keinen
Rufmord betreiben, darum habt bitte Verständnis dafür, dass
ich den Namen des Händlers nicht nennen kann; es war zumin-
dest nicht beim Reichelt, soviel sei gesagt.
Christoph

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, wir wollten ja auch keine Namen wissen ;-) - wundert man sich nur
ein wenig, wo neue und trotzdem defekte Controller ´rumfliegen.

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.