serielles EEPROM

Gast #74652
Lesenswert?

Ob die Adressleitungen beachtet werden oder (leider) auch nicht hängt
vom Hersteller ab: Datenblatt.

Nach meiner Erfahrung werden die Adressen bei STM, Atmel und Rohm
beachtet. Nicht jedoch bei Infineon und Mircochip.
Gast #74654
Lesenswert?

Korrektur: meine Angaben beziehen sich auf die Typen ..02/04/08. Beim
24C16 geht immer nur ein Baustein auf Adresse 1010xxxy (binär).
Dabei werden die 'x'-Bits zur Adressierung der Seite und das folgende
Byte zur Adressierung innerhalb der Seite verwendet: 8 x 256 Byte =
2KB. Die größeren EEPROMs verwenden neben der Basisadresse 0hAx zwei
weitere Bytes als Adresse. Dafür braucht man angepaßte IIC-Routinen.
Gast #74655
Lesenswert?

Stimmt leider, gerade bei diesen 24cxx EEPROMS muß man aufpassen (genau
das Datenblatt von dem nehmen den man hat). Erst wenn sie größer als 2k
Byte sind, geht's wieder besser (dann kommt intern eine 2-Byte
Adresse, die hält dann bis 64k Byte oder 24C512). Die meisten
Hersteller haben eben nur an 8 Pages zu je 256 Byte gedacht. Die
Aufteilung der Pages in Devices war denen dabei egal. z.B. gehen in der
Regel auch nur 2 Stück zu je 1k Byte.
Find ich auch schade.

/Berndt
Gast #74656
Lesenswert?

Achso, 24Cxx sind ja I²C.  Falls Du Hardware-TWI in Deinem AVR
hast (Du hast nicht geschrieben, was für einen Du nimmst), dann
hat die avr-libc Doku (die auch mit dem WinAVR Deiner Wahl mit auf
Deiner Platte installiert wird) Beispielcode für ebendiese
EEPROMs.
Gast #74658
Lesenswert?

Nein, SCL wird nicht nur vom Master gesteuert! Ein Slave darf diese
Leitung auf L halten, wenn er Zeit braucht. Der Master wird also für
eine steigende Taktflanke seinen Ausgangstransistor abschalten (er will
H machen) und erst wenn auch der letzte Slave fertig ist und er seinen
auch abschaltet, kommt die Flanke. Der Master muß also seinen Takt
rücklesen!

Soll jetzt nicht etwa bedeuten, das das immer passiert. Die wenigsten
mir bekannten Bausteine tun das, aber wenn ein Slave aus einem
Mikrocontroller besteht und also evtl. Bearbeitungszeit für einen Takt
braucht, kann er sich die auf diese Weise nehmen.

in der Regel gilt für IIC: die mindest H-Zeit wird vom Master (der darf
nämlich erst ab der tatsächlichen Flanke zählen), die max L-Zeit vom
langsamsten Slave bestimmt.

/Berndt

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