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
Hallo schon mal gemessen, wie lange es dauert, bis der Oscillator "erwacht" ? Gerhard
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!
Der Pic hat einen Power-ON Timer, der mit den Fuse-bits gesetzt wird. Wenn er eingeschalten ist, dauert es eben halt so lange.
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
mhm ok, danke für die Erklärung. Für mich reicht zum Glück der intRC Schwingkreis, mit dem klappts. lg
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.