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

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.

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.