www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wake - up from sleep dauert zu lange


Autor: fuxbux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Laut Datenblatt des PIC18F4620 sollte der µC nur 10µS brauchen um bei 
einem Interrupt aus dem sleep mode aufzuwachen. In meinem Fall weckt der 
Comperator Interrupt den µC auf, um möglichst schnell ein Signal 
abzutasten.
Leider dauert das Aufwachen immer satte 30mS. Woran kann das liegen?

Power Up Timer habe ich deaktiviert, wobei der ja damit eh nichts zu tun 
haben sollte, weil es ja nur ums aufwachen geht.

Gibts vielleicht noch wo einen timer, der das Aufwachen verzögern kann?

Danke und lg

Autor: Franko Phil (sgssn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

schon mal gemessen, wie lange es dauert, bis der Oscillator "erwacht" ?

Gerhard

Autor: fuxbux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja danke, hab ich jetzt gemacht.

Der Osziallator ist sofort da sobald die interruptsbedingung aufgetreten 
ist. Danach dauert es dann 30ms bevor der µC COde ausführt.

Interessanterweise ist diese Verzögerung nur mit dem Externen Quarz 
vorhanden. Bei inRC beträgt sie nur akzeptable 2mS.

Kanns daran liegen, dass etwas an der Oszillatorschaltung nicht stimmt? 
Bin da nämlich kein Experte und hab deswegen einfach die Empfehlungen 
der Datenblätter befolgt. Bis jetzt gabs auch nie ein Problem, Der µC 
arbeitet ohne Probleme mit dem Quarz.

Allerdings sehe ich jetzt am Oszilloskop, wenn ich direkt am 
Oszillatorpin abnehme (ja ich weiß das verfälscht den Oszillator etwas) 
dass der Oszillator sofort mit dem Interrupt auf die 3.3V VSS springt 
und dort oszilliert. 30ms später aber sobald die CPU zu arbeiten 
beginnt, kommt zu den 3.3 V Konstantspannung eine Oberwelle mit einer 
Frequenz von ca 100Hz (der Oszillator arbeitet mit 4Mhz) und einer 
Amplitude von ca. 3V um die 3.3V Ausgangsspannung.

Ist das ein Problem? Wodurch entsteht das?
Danke!

Autor: Francesco Na (franceso-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Pic hat einen Power-ON Timer, der mit den Fuse-bits gesetzt wird.
Wenn er eingeschalten ist, dauert es eben halt so lange.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fuxbux wrote:

> Interessanterweise ist diese Verzögerung nur mit dem Externen Quarz
> vorhanden. Bei inRC beträgt sie nur akzeptable 2mS.

Das ist völlig korrekt.

Ein Quarz hat eine sehr hohe Güte und daher dauert es lange (etwa 
3..30ms), bis er stabil schwingt.

Üblicher Weise hat man deshalb ein Wakeup-Delay von etwa 60ms bei 
Quarzbetrieb, sonst kann es zu Fehlern bei der Befehlsausführung kommen.


Peter

Autor: fuxbux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mhm ok, danke für die Erklärung. Für mich reicht zum Glück der intRC 
Schwingkreis, mit dem klappts.

lg

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.