Forum: Mikrocontroller und Digitale Elektronik PIC aufwachdauer Sleep mode


von Bogro (Gast)


Lesenswert?

Hallo,
brauche dringend Hilfe

ich habe einen TSOP 1736 angeschlossen am RB0/int Pin eines PIC 16f871. 
Ziel ist, den PIC aus dem sleep mode aufzuwecken (GIE=0) und dann ein 
RC-5 Fernbedienungssignal einzulesen. Das einlesen ohne sleep mode 
funktioniert auch einwandfrei. Lasse ich den PIC von einem periodischen 
(ca 1,5ms Periodendauer) 36kHz Test Signal aufwecken, beträgt die 
Aufwachdauer ca. 250us bei 4MHz. Das ist auch das, was im Datenblatt 
angegeben wird (1024 Takte).
Versuche ich das ganze nun mit einer echten Fernbedinung, braucht der 
PIC plötzlich mehrere Millisekunden zum aufwachen, obwohl sich an der 
Flanke eigentlich nichts ändert. Auch habe ich wie vorgesehen ein 
Siebglied in die Stromversorgung des TSOP gebaut.

Hat jemand eine Erklärung für mich???

von holger (Gast)


Lesenswert?

>Lasse ich den PIC von einem periodischen
>(ca 1,5ms Periodendauer) 36kHz Test Signal aufwecken

Deine Fernbedienung sendet aber nicht dauernd.
Der TSOP braucht ein bißchen bis er sich aus dem
Kaltzustand mit den ersten IR Impulsen eingepegelt
hat und bringt das Ausgangssignal erst ein bißchen
später raus. Dazu kommt die Aufwachzeit vom PIC.
Vermutlich wird nur der erste RC5 Code nicht korrekt
dekodiert. Die Wiederholrate der Fernbedienug liegt
bei 100ms (?). Den zweiten RC5 Code kann der PIC
dann dekodieren. Das ist dann deine Reaktionszeit.

Ansonsten ist der Code in Zeile 13 einfach falsch ;)

von Bogro (Gast)


Lesenswert?

Danke für die schnelle Antwort.
Was ich noch dazu sagen sollte ist, dass ich ein Tesprogramm laufen 
habe. Der PIC wacht auf, setzt einen Pin auf high, wartet kurz, setzt 
ihn wieder auf low und schläft dann.
Nur so konnte ich die Zeiten zwischen der Flanke des TSOP und dem 
Erwachen des PIC auf dem Oszi messen. Es liegt also nicht am TSOP.
Das Testignal erzeuge ich mit einem provisorischem "Generator".

von holger (Gast)


Lesenswert?

>Das Testignal erzeuge ich mit einem provisorischem "Generator".

Was machst du denn mit diesem Generator ?
Schiesst der mit einer IR LED auf den TSOP ?
Macht der nach dem 1.5ms Puls auch eine 100ms Pause ?

Man sollte schon für ungefähr gleiche Verhältnisse sorgen.

Der Oscillator Startup Timer zählt natürlich erst wenn
der Oscillator vom PIC sich einigermaßen eingeschwungen hat.
Das könnte auch etwas dauern. Je nach Lastkapazität am Quarz.

von Bogro (Gast)


Lesenswert?

Hi Holger,

danke für die Antwort.


>Schiesst der mit einer IR LED auf den TSOP ?

Ja genau.

>Macht der nach dem 1.5ms Puls auch eine 100ms Pause ?

Nein, die Pause ist gut 1ms.
Es könnte also daran liegen, dass der PIC "weiterschwingt" und 
dementsprechend schneller wieder aufwacht, das wäre eine Antwort.
Kann man diese enorm lange Aufwachzeit irgendwie verkürzen?

von holger (Gast)


Lesenswert?

>Kann man diese enorm lange Aufwachzeit irgendwie verkürzen?

Wenn du die Kondensatoren am Quarz kleiner machst
schwingt der Osci laut Datenblatt schneller wieder
an. Wie viel schneller steht dort leider nicht.

Was ist eine "enorm" lange Zeit für dich ?
Und wieso ist das ein Problem ? Warte einfach
auf den zweiten RC5 Code bevor du schlafen gehst und gut ;)

von Bogro (Gast)


Lesenswert?

>Was ist eine "enorm" lange Zeit für dich ?

10-20ms sind schon eine lange Zeit, finde ich. Bin halt ungeduldig.

>Und wieso ist das ein Problem ? Warte einfach
>auf den zweiten RC5 Code bevor du schlafen gehst und gut ;)

Tja, da wird wohl nichts anderes übrigbleiben.
Aber Du hast natürlich recht, so tragisch ist das nicht, wird am Ende eh 
keiner merken.
Vielen Dank für die Hilfe.

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
Noch kein Account? Hier anmelden.