DS1302 Probleme mit Read/Write-Registern

Gast #4334846
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 :)
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
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

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.