mikrocontroller.net

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


Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

was spricht gegen RTC mit SPI-Schnittstelle ?

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

Gerhard

Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: N. K. (bennjo)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hä bei zwei proz kannste doch gleich ne RTC nehmen.

Autor: Franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.