Hallo zusammen, ich suche ein Möglichkeit mit einem 8051 eine Art Echtzeituhr aufzubauen. Folgende Funktion soll erfüllt werden: Die Elektronik (Prozessor) soll zum Beispiel alle 2 min aufwachen und Temperaturen messen und sich anschließend wieder schlafenlegen. Während des Schlafes soll die Echtzeituhr aber weiterlaufen und den Prozessor wieder nach 2 min aufwecken. Die Temperaturen sollen in einem EEPROM mit Zeitstempel abgelegt werden. Der Zeitstempel ist der Wert der Echtzeituhr. --- Meine Frage an Euch. Kann sowas mit einem 8051-Derivat gebaut werden?
Sicher. Der IMO beste, wenn nicht der einzige Weg, ist die Verwendung eines dedizierten Real-Time-Clock-ICs (RTC) mit Alarmfunktion, der den µC weckt.
Sorry, das habe ich noch vergessen. Ich habe mir das Datenblatt von einem 89C51CC03 angeschaut. Bei dem Prozessor bleiben die Timer im Sleepmodus stehen. Sehe ich das richtig?
Hallo Detlev, was bedeutet IMO? Und könntest du mir eine RTC empfehlen? Danke für deine Antwort und Hilfe
Du kannst AFAIK ohnehin die Timer im 8051 nicht so langsam takten, dass sie nur alle 2 min einen Interrupt auslösen. Und ein wirklicher, stromsparender Schlaf muss zwangsläufig den Oszillator abschalten, sonst bringt das nicht so viel.
Klaus wrote: > Hallo Detlev, was bedeutet IMO? = In My Opinion = Meiner Meinung nach. > Und könntest du mir eine RTC empfehlen? Nicht aus eigener Erfahrung.
Klaus wrote: > Hallo Detlef, was bedeutet AFAIK? = As Far As I Know = Soweit ich weiß Dieses und noch mehr findet sich auf: http://de.wikipedia.org/wiki/Liste_der_Abk%C3%BCrzungen_%28Netzjargon%29
Hallo Klaus, wenn Du den AT89C51CC03 verwendest und den externen Daten-, Adress- und Steuerbus auch für andere Komponenten benutzt, so kannst Du sehr gut die RTC 72421 von EPSON verwenden, die batterie-gepuffert weiter läuft. Hast Du die Bussysteme nicht im Einsatz, so nimm eine SPI- oder I2C-Bus Uhr und schreib den Treiber selber (=Minimal-Lösung). Gruß Carlos
RTC 4513 von Epson waere noch eine Realtime Clock die kann ueber einen PIN jede Sekunde,Minute , Stunde einen Interrupt ausloesen Angesteuert wird sie ueber ein 3 Draht Interface Gruss Helmi
@ Helmi (Gast) >RTC 4513 von Epson waere noch eine Realtime Clock >die kann ueber einen PIN jede Sekunde,Minute , Stunde einen Interrupt >ausloesen Wozu der Aufwand? Siehe Sleep Mode. Ist zwar auf den AVR gemünzt, der 8051 kann das aber sicher auch. MFG Falk
Bevor man sich nen RTC-IC aussucht, muß man erstmal festlegen, wie lange soll die Batterie einen Netztausfall überbrücken und welche Kapazität hat die Batterie. D.h. wieviel µA darf die RTC maximal ziehen. Peter
Ist es nicht egal, ob der Controller dauernt läuft, die Uhr über nen internen Timer generiert und dabei vielleicht 5mA zieht? Muss der sleep-Modus wirklich angewendet werden? Ich meine, soviel zieht der Controller ja auch nicht.
Der 8051 hat einen PowerDown und einen Idle Modus. Also verwendest du den Idle, da dort im Gegensatz zum PowerDown der Oszillator nicht angehalten wird und die Interrupts bzw. Timer weiter versorgt werden. Desweiteren programmierst du einen Timer so, dass er mit Hilfe von Software-Vorteilern deine 2 Minuten runterzählt. Das bedeutet, der Controller wacht zwar immer wieder auf (wegen den Vorteilern), ist aber hauptsächlich im Idle-Zustand. Wenn die 2 Minuten runter sind, machst du die eigentliche Arbeit, und die Sache startet von vorne. Gruß Ralf
Falls die Beschreibung des Projektes einigermassen vollstaendig ist, einmal alle 2 min aufwachen und eine temperatur messen, dann waeren einige LPC900 Derivate sehr gut geeignet. Man kann z.B. extern einen 32 kHz Quarz anschliessen und bei Bedarf von mehr Performance den internen IRC-Oszillator benuetzen. Je nach Typ ist der zwischen 7.3 und 14.6 MHz schnell. Genauigkeit des ADCs ist entweder 8-bit oder 10-bit, einfach mal reinschauen. Parametrische Suche gibts hier: http://www.standardics.nxp.com/products/lpc900/mcus/ Eine Uebersicht hier: http://www.standardics.nxp.com/literature/other/microcontrollers/pdf/line.card.pdf Robert
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.