Forum: Mikrocontroller und Digitale Elektronik Präzise zeitmessung wenn CPU schläft?


von Franz (Gast)


Lesenswert?

Hi!

Die eingebaute RTC meines PIC18F kann ich leider nicht verwenden (Pins
schon belegt)

Trotzdem brauch ich aber ein präzises Timing (auf ms) in meiner
Schaltung auch während die CPU stromsparend im Sleep mode ist.

Kennt jemand eine  RealTimeClock die besser auflöst als auf hundertstel
genau?
Gibts vielleicht noch irgendwelche anderen externen Bausteine wie eine
Art Timer+Oszillator die ich für so was verwenden könnte?

Danke für jeden Tipp!

von Philipp B. (philipp_burch)


Lesenswert?

Hm, hat der Controller keinen Timer den du auch im Sleep-Modus
weiterlaufen lassen kannst? RTCs machen nur dann Sinn, wenn die
Stromversorgung nicht immer vorhanden ist und eine Pufferbatterie
hermuss.

von Peter D. (peda)


Lesenswert?

Wenn Du ms messen willst, dann vergiß den Sleep Mode.

Der Hauptquarz der CPU braucht etwa 5..15ms zum Aufwachen.
Schnell aufwachen kann nur der interne RC-Oszillator, bloß dann hast Du
keine Genauigkeit.

Nimm den Idle-Mode (hat der PIC sowas ?), d.h. die CPU schläft, aber
der Quarz und die Timer laufen weiter.


Peter

von Franz (Gast)


Lesenswert?

Hallo, danke für die Antworten!

@Philipp, Nein leider. Es geht um den PIC18LF4620. Der Timer1 kann zwar
im SleepModus mitlaufen wenn er einen externen Quarz verwendet, aber der
braucht eben genau die beiden Pins die schon belegt sind (und es auch
bleiben müssen).

@Peter, Ja auf die Idee mit dem Idle mode habe ich auch von Anfang an
gesetzt. Damals wusste ich leider nicht, dass der PIC dort 3mA zieht
(bei benötigten 16Mhz) was für die portable Anwendung viel zu viel
ist.

Jetzt habe ich selbst eine mögliche Lösung gefunden und wollte fragen
was ihr davon haltet: Wie wärs wenn ich noch einen weiteren kleinen
Prozessor anbinde, der immer im RunMode ist und per Timer die ms
zählt?
Im Auge hätte ich dazu den PIC12F683. Mit einer 32kHz Clock braucht er
nur lächerliche 18µA die wären kein Problem.
Ein bisschen Sorgen macht mir die Anbindung an den 18F ich müsste da
wohl ein SPI Interface per Software am 12F realisieren, abgesehen davon
dass ich nicht einschätzen kann wie viel Aufwand das ist, weiß ich auch
nicht ob das dann noch vernünftig schnell und sicher die Zeit auf die
"Haupt-CPU" schafft.
Auch kommt es mir ein bisschen wie mit Kanonen auf Spatzen schießen
vor, denn eigentlich will ich ja bloß einen Timer...

Also, bin für Meinungen dankbar.

Lg

von Gerhard Gunzelmann (Gast)


Lesenswert?

Hallo

was spricht gegen RTC mit SPI-Schnittstelle ?

http://para.maxim-ic.com/cache/en/results/28031.html

Gerhard

von Franz (Gast)


Lesenswert?

Ja das wäre die Notlösung, allerdings habe ich noch keine gefunden die
die Zeit besser als auf 10ms genau auflöst.
Ich möchte damit aber eine Laufzeitmessung von Schwingungen im Boden
durchführen. 10ms entspricht einer Ungenauigkeit von etwa einem Meter.
Deswegen je genauer desto besser.

von N. K. (bennjo)


Lesenswert?

Auch wenn ich vielleicht völlig Falsch liege...
aber "Schwingungen im Boden" - wird das was zur "Durchleuchtung"
eines Berges (Vulkans)...und kommts nur auf die relative Zeit zwischen
den (mehreren) Sensoren an? ... Dann lässt sich nämlich GPS als
permanente Sync-Quelle perfekt missbrauchen! Du bekommst quasi Atomzeit
frei Haus...und das für mehrere Einheiten absolut Syncron.

Stromsparen kannst du, indem du die GPS-Ortung erst durchführst wenn du
was gemessen hast. Und dann auf deinen Controller relativ dazu rückwärts
rechnest.

Kann natürlich sein, dass es um was ganz anderes geht - dachte blos
grade - Schwingungen im Boden - dass kenn ich nur vom Vulkan
Vermessen.

Gruß,
Nikias

von Franz (Gast)


Lesenswert?

Hi!
Danke für die Idee!

Nein es geht um eine Erkennung von Stürzen in Wohnungen, ich befürchte
da kann ich auf GPSn icht dauerhaft zählen.

Ich denke ich werde jetzt auf die 2 Prozessor Variante setzen, hat da
noch wer Ideen welches Protokoll (SPI I2c 3-Wire) man dazu am besten
verwenden soll? Alles ausser SPI müsste ich allerdings auf beiden
Prozessoren in Software implementieren.

lg

von Läubi (Gast)


Lesenswert?

Hä bei zwei proz kannste doch gleich ne RTC nehmen.

von Franz (Gast)


Lesenswert?

Naja aber die RTC liefert mir die Zeit ja nur auf 10ms genau, ich
bräuchte es aber genauer.. 10ms entsprechen in etwa 1m Genauigkeit.

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