Wake - up from sleep dauert zu lange

Gast #449448
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
Gast #449499
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!
#449516
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren