Forum: Mikrocontroller und Digitale Elektronik lesen/schreiben von/auf Real-Time Clock


von Carlo (Gast)


Lesenswert?

Hallo zusammen,

kann mir jemand helfen wie ich mit dem PIC16F870 Daten von der Real-Time 
Clock (DS1642 von Dallas) lesen und auch auf den RTC schreiben kann?

Gruss Carlo

von 6632 (Gast)


Lesenswert?

Du hast das Datenblatt des DS1642 angeschaut ?

von Carlo (Gast)


Lesenswert?

ja hab das mal ein wenig angeschaut. doch mein technisches englisch ist 
ziemlich beschränkt und daher verstehe ich es noch nicht so richtig..=)

von Sebastian (Gast)


Lesenswert?

Ganz einfach, wie ein externes SRAM. Uhrzeit und Datum stehen in 
entsprechenden Speicherzellen. Natürlich ist das beim PIC mangels 
externem Daten- und Adressbus mehr Aufwand als bei einem 8051 oder 
AT90S8515. Ob wohl die Portleitungen reichen?

von 6632 (Gast)


Lesenswert?

Ja. Ohne Datenblatt lesen laeuft wenig. Gibt's nicht was anderes, das 
auch lustig ist ? Einen Rosengarten ?

von Sebastian (Gast)


Lesenswert?

Eigentlich empfehlen sich für den PIC16F870 eher serielle RTCs, außer, 
man verwendet Adreßlatches o.ä., um Portleitungen zu sparen. Vom Prinzip 
her aber muß man: Die 8 Datenleitungen an einen Port führen, die Adreß- 
und Steuerleitungen (/WE,/OE) auf zwei andere verteilen. /CE kann immer 
auf Masse liegen. Die Adresse, auf die man zugreifen will (z.B. 7FA für 
die Minuten) an die Adreßleitungen A0-A10 anlegen (das wäre 11111111010, 
gezählt von A10...A0). Zum Lesen: /OE auf Low, /WE auf High, Daten von 
den Leitungen, an denen D7...D0 hängen, in ein internes Register des PIC 
kopieren. Zum Schreiben: Daten an den Port anlegen, an dem D7...D0 
hängen, /OE auf High, /WE auf Low. Nicht vergessen, die Leitungen beide 
im Ruhezustand auf High zu halten.

von Peter D. (peda)


Lesenswert?

Ja, der Chip ist wie ein SRAM, also für MCs ohne Memory-Interface 
äußerst besch-(eiden).

Mann könnte mit 2*74HC595 die Adressen und Steuersignal bereitstellen 
und mit nem 74HC299 Daten lesen und schreiben, um mit nur 4 Pins des MC 
auszukommen.

Besser aber, man nimmt nen seriellen RTC.
Z.B. der DS1904 braucht nur einen Pin.


Peter

von David (Gast)


Lesenswert?

@ Peter Dannegger

Wird das so gemacht? Meine seh den sinn nicht wirklich...

von 6632 (Gast)


Lesenswert?

Natuerlich nicht. Es gibt Standards, wie den DS1302, DS1307, DS1337, 
usw.

von Peter D. (peda)


Lesenswert?

David wrote:
> @ Peter Dannegger
>
> Wird das so gemacht?

Ja.

Wenn man Pins sparen will, nimmt man üblicher Weise Schieberegister zur 
IO-Erweiterung.

Bzw. wenn es funktionsgleiche ICs mit serieller Ansteuerung gibt, nimmt 
man natürlich gleich die.
Ich nehme z.B. ausschließlich serielle ADCs und DACs.


Peter

von Carlo (Gast)


Lesenswert?

danke schon mal für die Antworten!

noch eine Frage, hat vielleicht jemand ein Schaltbild einer Schaltung 
welche auch einen RTC enthaltet?
Ich konnte bisher im Internet leider nichts finden.

Gruss und Danke

von Thilo M. (Gast)


Lesenswert?

Das Teil ist, wie oben schon gesagt, ziemlich Pinfressend.
Allerdings ist es recht einfach zu beschreiben und auszulesen. Im 
Datenblatt steht ja genau, an welcher Adresse was von der Uhr steht, der 
Rest ist SRAM.
Und das Timing ist sauber als Grafik drin, da braucht man nicht viel 
englisch zu können ;)
Wenn du zwei 8-bit-Latches wie den 74574 benutzt, kannst du auch mit dem 
8-bit-Datenbus und zwei zusätzlichen Steuerleitungen auskommen. Das wäre 
praktisch, wenn der Datenbus sowieso existiert. Aber eben zusätzliche 
Hardware.

Ich bevorzuge die seriellen per SPI auch.

von Carlo (Gast)


Lesenswert?

Nochmal Danke für die Antworten und Informationen.
Habe es jetzt auch verstanden, ist eigentlich gar nicht so schwierig!=D

Gruss Carlo

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.