Hallo Forum, ich habe hier einen ATmega256RFR2. Er wird aus einem Akku versorgt (mit Wandler dazwischen) und kann normalerweise nicht davon getrennt werden. Der Controller schien mir als kaputt. Spannung (3.3V) war da, aber der Quarz lief nicht und auch sonst kam keine Reaktion vom ihm. Der Akku war voll, obwohl er länger nicht geladen wurde. Deshalb gehe ich davon aus, dass er keinen oder nur ganz wenig Strom verbraucht hatte. Spannung am Reset-Pin gemessen war 3.27V. Reset auf GND ziehen erbrachte keinen Erfolg. Mit JTAG oder ISP drauf zu kommen war nicht möglich. Erst nachdem ich den Akku getrennt hatte und eine weile abgelassen hatte, kam der Controller wieder. Dann konnte ich ihn auch mit JTAG/ISP auslesen. Der Flash und der EEPROM sehen ganz normal aus, keine Bit-Fehler. Was kann das sein? Wie kann sich der Controller so verklemmen das nicht mal ein Reset hilft?
Hast du das nicht schon selber geschrieben: "aber der Quarz lief nicht" Das könnte doch das Problem sein oder? Wenn du Spannung weg nimmst und wieder ran machst schwingt der Quarz wieder und es geht. Also eher ein Problem mit dem Quarz.
Aber mit einem Reset muss ich da wieder rauskommen! Zumal der Watchdog ja auch an ist. Der Läuft ja nicht mit dem Quarz.
Ist er denn auf externen Quarz als CPU-Takt gefuset? Ansonsten läuft der Quarz ja nur, wenn der Transceiver aktiv ist. Im Sleep funktioniert auch kein JTAG, aber dann sollte natürlich ein externer Reset funktionieren. Hast du den Brownout-Reset aktiv (ist ab Werk auf 1,8 V eingeschaltet)? Die ATmega*RF* haben übrigens auch einen Reset-Ausgang, an dem man erkennen kann, ob der Controller gerade im Reset ist. Kann bei solchen Fällen eventuell hilfreich sein, da mal draufzugucken.
Rangi Jones schrieb: > Aber mit einem Reset muss ich da wieder rauskommen! Zumal der Watchdog > ja auch an ist. Der Läuft ja nicht mit dem Quarz. Ich meinte wenn der Quarz gar nicht richtig schwingt. Dann kommst doch auch mit Reset nicht raus.
ev. durch starke Beschleunigungen (Runterfallen) der Quarz mechanisch veklemmt... sowas kann sich durch einen elektrischen Impuls auch wieder lösen. Der Quarz bleibt dann aber eine Defektquelle.
Das mit dem Quarz halte ich jetzt auch für eine mögliche Ursache. Der Reset löst dann scheinbar keinen Reset am Clock-System aus. Fuses habe ich auf : CKSEL=Transceiver clock, SUT=Slowly rising power, BOD-Level=2.3V Wobei das Brownout fast keine Wirkung hat, da die Schutzschaltung vom Akku bei 2.5V ausschaltet und dann ist recht schnell die Spannung weg. Am Quarz sind 10pF. Die Wege auf der LP bis zum Quarz sind max 7mm. Ich warte jetzt ob ich mal wieder den Zustand erreiche. Dann schau ich mir mal das Reset-Out an.
Rangi Jones schrieb: > Der Reset löst dann scheinbar keinen Reset am Clock-System aus. Ja, der Reset selbst ist zwar glaub' ich statisch, aber wenn du dann keinen Takt hast (weil der Quarz nicht schwingt, und du den als Takt für den Controller ausgewählt hast), dann kann er natürlich nicht loslaufen. Falls du PE7 frei hast, könntest du die CKOUT-Fuse setzen und dort im Falle eines Falles den internen Takt beobachten. Ist besser, als an den Quarzanschlüssen mit einem Tastkopf rumzufummeln, denn das riskiert natürlich immer eine Intervention in den Status Quo (in beiden Richtungen, also sowohl ein potenziellen Abwürgen eines an sich noch laufenden Quarzes als auch das „Anschubsen“ eines hängen gebliebenen Oszillators).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.