Hallo zusammen, Ich habe bei einem DS3231 Modul (längliche Bauform mit Batterie) die I²C Adresse auslesen wollen und derer gleich drei gefunden (0x51, 0x59 und 0x68). 0x68 ist der RTC-Baustein bzw. dessen Slave-Adresse - soweit klar (wird ja auch in der Standard-Lib genutzt). 0x51 ist der EEPROM AT24C32 mit A1 + A2 auf low - auch klar. Was ist jetzt 0x59? Sie ändert sich zu 0x58, wenn A0 noch gebrückt wird (hängt also wohl auch mit dem EEPROM zusammen) Vielen Dank Thomas
Du hast vermutlich ein Problem mit der Schaltung! Thomas Scheidt schrieb: > AT24C32 Das hat nur 1 Adresse/ID Default: 0x50 auf DS3231 Boards.
manch ein eeprom meldet sich auf zwei adressen, wobei eine read-only ist
Dip T. schrieb: > manch ein eeprom meldet sich auf zwei adressen, wobei eine read-only ist Könntest du mal die Stelle im AT24C32 Datenblatt benennen? https://ww1.microchip.com/downloads/en/DeviceDoc/doc0336.pdf
So wie ich das jetzt verstehe, habe ich also 8 Bits (1 0 1 0 A2 A1 A0 WP) das erklärt auch den unterschied von 8 0x51 und 0x59.
Thomas Scheidt schrieb: > So wie ich das jetzt verstehe, habe ich also 8 Bits (1 0 1 0 A2 A1 A0 > WP) > > das erklärt auch den unterschied von 8 0x51 und 0x59. Eigentlich nicht. I2C-Adressen werden meist mit 7 Bit angegeben, in dem Fall ist es 101 0 A2 A1 A0, also 0x50 bis 0x57, je nach Ax. Gibt man sie in 8 Bit an, dann wären es zwei, je eine für Read und Write und zwar 1010 A2 A1 A0 R/W; sie würden dann 0xC0 oder 0xC1 lauten, wenn die Adressbits auf Null sind. 0x59 kann imho da nicht vorkommen, wenn schon, dann 0xC9 (und 0xC8), wenn A2 auf HIGH ist.
Thomas Scheidt schrieb: > So wie ich das jetzt verstehe, habe ich also 8 Bits (1 0 1 0 A2 A1 A0 > WP) > > das erklärt auch den unterschied von 8 0x51 und 0x59. Nein, das erklärt nicht den Unterschied. Die Adresse 0x59 kann es laut dem verlinktem Datenblatt nicht geben (1 0 1 0 A2 A1 A0 != 1 0 1 1 0 0 1). Dein WP ist in Wirklichkeit übrigens das R/W Bit, das an die Adresse angehängt wird. Das deutet auf ein Hardwareproblem hin (Busterminierung, oder chinesischer EEPROM Nachbau?), oder deine I2C Scanner Software arbeitet nicht sauber.
Oder eines der Adressbits hängt in der Luft und erzeugt sporadische Wechsel der Adresse.
Richtig, mein Fehler SDA und SCL sind mit 2k gegen 5V und 150R in Serie
Kann man nicht auch noch die Temperatur auslesen?
Gefunden auf Phytec.eu: "The M24C32-D contains an extra Identification page which is 32 byte big. The Identification Page (32 byte) is an additional page which can be written and (later) permanently locked in Read-only mode. To start communication between the bus master and the slave device, the bus master must initiate a Start condition. Following this, the bus master sends the device select code, shown in Table 3 (most significant bit first). Device select code when addressing the memory array 1 0 1 0 A2 A1 A0 (R/W) Device select code when accessing the Identification page 1 0 1 1 A2 A1 A0 (R/W) " k.A. ob Der Atmel da identisch ist...
Thomas Scheidt schrieb: > k.A. ob Der Atmel da identisch ist... Aber ich weiß das! Das Datenblatt ist da klar: Nein! EAF schrieb: > Default: 0x50 auf DS3231 Boards. Das war allerdings ein Irrtum. 0x57 ist korrekt, für die billig China Boards. Bei den RTC1307 Boards, aus dem gleichen Teil der Welt, ist die default Adresse 0x50
EAF schrieb: > EAF schrieb: >> Default: 0x50 auf DS3231 Boards. > Das war allerdings ein Irrtum. > 0x57 ist korrekt, für die billig China Boards. Ja, weil sie an den Adressleitungen externe Pullups drin haben, obwohl beim Atmel-EE interne Pulldowns vorhanden sind. Das mag beim M24C32-D auch anders sein, wobei da auch steht: Imput impedance für LOW: min. 30kΩ (interessant, für HIGH sind es >500kΩ). Bei Batteriebetrieb des ganzen Moduls stört das, wie auch die Power-LED. Ich habe bei meinem Modul beides ausgebaut.
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.