DS1302 Probleme mit Read/Write-Registern

Gast #4334846
Lesenswert?

Hallo alle Zusammen,

ich habe heute meine DS1302-Breakoutboards bekommen. Mit einem 
Arduino-Sketch hab ich erstmal ausprobiert, ob die Module auch 
funktionieren. Beim Einarbeiten ins Datenblatt zwecks eigener 
Ansteuerung habe ich aber noch ein paar Probleme. In der Registertabelle 
(Table 3 im Maxim-Datasheet) stehen die Registeradressen. Ich verstehe 
nicht, wie die beiden linken Spalten ("Read" und "Write") gemeint sind. 
Gibt es für das gleiche Register also eine getrennte Read- und 
Writeadresse?

Wäre nett, wenn mir das jemand erläutern könnte :)
#4334924
Lesenswert?

Hallo,

betrachte die Tabelle im Zusammenhang mit Figure 3.

Das Adress-/Commandbyte hat 8 Bit (logisch, ist ja ein Byte).

Die Bits 1-5 bilden die Adresse, Bit 0 entscheidet über Lesen oder 
Schreiben,
Bit 6 über Ram/Uhr Zugriff.

Tabelle 3 ist nur eine Darstellung für alle sinnvollen Kombinationen aus 
Adresse und Funktion, damit nicht alles nach Figure 3 selber zusammen 
gebastelt werden muß.

Will man die Sekunden lesen, muß Bit 7 = 1 sein, Bit 6 = 0 (/CH),
Bit 5-1 sind die eigentliche Registeradresse, also 00000, Bit 0 ist 1 
für Lesen. Macht zusammen also 1 0 00000 1 also 0x80.
Zum Schreiben der Sekunden bleibt Rgisteradresse, Bit 6 für die Funktion 
und Bit 7 mit "immer 1" gleich, Bit 0 muß 0 für Schreiben sein, 1 0 
00000 0 = 0x80.

Ich hoffe, ich habe jetzt richtig nachgeschaut, habe das Datenblatt zum 
ersten Mal angesehen...

Gruß aus Berlin
Michael
#4335063
Lesenswert?

ATundT schrieb:

> Gibt es für das gleiche Register also eine getrennte Read- und
> Writeadresse?

Ja.
Das liegt daran, das die Übertragungsmethode SPI ist.
Bei SPI gibt es kein Schreiben oder Lesen in dem Sinne.
SPI ist ein Byteaustausch. Um dem Baustein mitzuteilen, was er mit dem 
2ten übertragenen Byte machen soll, bzw ob er beim Austausch des 2ten 
Bytes seinen gespeicherten Wert auf den Bus legen soll, wird eben im 
jweils ersten Byte codiert, ob das eine reine Leseoperation oder eine 
Schreiboperation sein soll.

Serial Peripheral Interface

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren