Forum: Mikrocontroller und Digitale Elektronik I2C Bus und EEPROM


von Mark (Gast)


Lesenswert?

Hallo Leute
habe im Netz einiges zum EEPROM am I2C Bus gefunden. Gefunden schon, 
leider nicht verstanden. Daher meine (blöden) Fragen.

Wozu brauche ich z.B. einen AT24C16 oder kleiner am Bus?
Wie mache ich das mit dem Speichern?
Könnte mir das jemand näher erklären?
Gibt es was zum lesen dazu in deutsch?
Wie kann ich einen EEPROM beschreiben?

Vielleicht erbarmt sich jemand und sorgt für meine Erleuchtung.

MFG Mark

von Jim M. (turboj)


Lesenswert?

Mark schrieb:
> Wozu brauche ich z.B. einen AT24C16 oder kleiner am Bus?

Ein 8051 hat im Original nur Masken-ROM, und etliche spottbillige µCs 
sind ähnlich.

Oftmals braucht man nur ein paar Handvoll permanent schreibbare Bits zur 
Kalibrierung.

Übrigens sind die häufiger als Du vielleicht vermutest: In jedem Monitor 
und auf jedem RAM Riegel ist so ein 24Cxx (-kompatibler) Chip zwecks 
Identifikation und Settings drauf.

Mark schrieb:
> Gibt es was zum lesen dazu in deutsch?

Vermutlich, aber ich würde Dir dringend einen Englischkurs anraten - 
praktisch alle relevante Doku ist in Englisch (oder Chinesisch).

von Mark (Gast)


Lesenswert?

Sehe ich das richtig, das viele ICs mit AT24C... die gleiche Belegung 
haben und sich nur durch die Speicgergrösse unterscheiden.
Bleibt aber die Frage, wozu brauche ich sie?
Datenspeicherung oder fürs Programm?

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Mark schrieb:
> Bleibt aber die Frage, wozu brauche ich sie?
> Datenspeicherung oder fürs Programm?

 Datenspeicherung.
 Hier ist etwas zum lesen.

: Bearbeitet durch User
von Max D. (max_d)


Lesenswert?

Mark schrieb:
> Wozu brauche ich z.B. einen AT24C16 oder kleiner am Bus?
Daten (primär Konfiguration) über 
Neustarts/Betteriewechsel/Stromausfälle hinweg speichern.
> Wie mache ich das mit dem Speichern?
I²C-Befehle auf Schreibadresse des EEPROM (siehe Datenblatt deines ICs)
> Könnte mir das jemand näher erklären?
Das Datenblatt ist ein guter Anfangspunkt. Spezifischere Fragen dann im 
Forum.
> Gibt es was zum lesen dazu in deutsch?
gidf
> Wie kann ich einen EEPROM beschreiben?
I²C-Befehle auf Schreibadresse des EEPROM (siehe Datenblatt deines ICs)

von A. B. (Gast)


Lesenswert?

Mark schrieb:
> Sehe ich das richtig, das viele ICs mit AT24C... die gleiche Belegung
> haben und sich nur durch die Speicgergrösse unterscheiden.

Ja, das gilt auch für M24... Abgesehen von Speichergröße und Feinheiten 
weitgehend identisch. Dasselbe auch für FRAMs, FM24...

> Bleibt aber die Frage, wozu brauche ich sie?
> Datenspeicherung oder fürs Programm?

Programm: Macht keinen Sinn, zu langsam (I2C ist recht gemächlich), zu 
klein, und mir ist kein Controller bekannt, der externe I2C-Speicher 
direkt im Programm-Adressraum zugänglich macht. Man müsste also stets 
ins RAM umkopieren ... Bei SPI-EEPROMS, SPI-Flash sieht's anders aus.

Wie schon erwähnt wurde: Kalibrierdaten, Einstellungen, Seriennummer, 
IP-Adresse, MAC-Adresse etc. Was im Normalbetrieb gelegentlich geändert 
werden können soll, aber andererseits auch beim Ausschalten nicht 
verschwinden soll.

von Mark (Gast)


Lesenswert?

Wenn ich das bis hier richtig verstanden sind in vielen Geräte Speicher 
enthalten. sie dienen zum speichern von Werten oder Einstellungen. Beim 
I2C Bus kann ich EEROM zum speichern von Daten verwenden. Hat dabei 
jeder Ic eine eigene adresse und jede Speicherstelle auch eine eigene 
Adresse?

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Mark schrieb:
> Wenn ich das bis hier richtig verstanden sind in vielen Geräte Speicher
> enthalten. sie dienen zum speichern von Werten oder Einstellungen. Beim

 Englisch kannst du nicht, ich schicke dir pdf auf deutsch - jetzt
 kannst du auch kein deutsch ?

von Mark (Gast)


Lesenswert?

Deutsch gibt es kein Problem. Sind aber mehr die Grundlagen zum Bus. Mir 
geht es das spezielle was den Bus und den EEPROM betrifft. So eine 
Sachen, wie beschreibe ich den EEPROM über den Bus oder wie speichere 
ich Daten darauf.

von pegel (Gast)


Lesenswert?

Ardu* Fanboy?

Dann siehe hier:

https://www.youtube.com/watch?v=VQr5Uq1emiU

Sonst musst du schon sagen welchen µC du einsetzen willst.

von pegel (Gast)


Lesenswert?

Sehe gerade dabei geht es um den internen EEPROM.
Das andere Video war englisch, hatte ich verwechselt. :(

von pegel (Gast)


Lesenswert?

Auch sehr schön!
Ganz ohne Sprache und sogar ohne µC:

https://www.youtube.com/watch?v=1KkRtoy2aC4

von Mark (Gast)


Lesenswert?

Bin kein Fan von diesem Kastrat. Arbeite mit dem stink normalen C und 
ATm 128 und dem I2C Bus auf 5V.

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

"Bleibt aber die Frage, wozu brauche ich sie?"

Welche Morivation treibt Dich an, dieses Wissen erlangen zu wollen?

MfG

von M. K. (sylaina)


Lesenswert?

Mark schrieb:
> Hat dabei
> jeder Ic eine eigene adresse und jede Speicherstelle auch eine eigene
> Adresse?

Ja, jeder IC muss sogar seine eigenen Adresse haben, oft wird sie bei 
I2C-EEPROMs durch die Pinbelegung definiert. Da gibts in der Regel 3 
Pins über die man die Adresse einstellen kann. Das bedeutet natürlich 
auch, dass man so nur maximal 8 ICs diesen Typs in einem Bus dann 
benutzen kann.

von Mark (Gast)


Lesenswert?

Christian S. schrieb:
> Welche Morivation treibt Dich an, dieses Wissen erlangen zu wollen?

Ist eigentlch sehr einfach. Beim Auslesen einer RFID muss man Daten 
vergleichen. Welcher Code ist erlaubt welcher nicht. In einigen 
Beispielen habe ich was gesehen,das ca. 3 oder so Karten begrenzt ist. 
Wenn ich meh Karten angeben möchte oder Schaltvoränge beim korrekten 
lesen auslösen möchte muss ich das speichern, vergleichen, auswerten und 
anwenden. sicher gibt es noch mehr Anwendungen dazu.

von pegel (Gast)


Lesenswert?

Ich verstehe immer noch nicht ganz, warum du dir nicht einfach einen 
Beispiel Code ansiehst.
Da ist wirklich nicht viel Magie dahinter.

https://www.mikrocontroller.net/articles/AVR_EEPROM_R/W

von Peter S. (Gast)


Lesenswert?

Mark schrieb:
> Hat dabei
> jeder Ic eine eigene adresse und jede Speicherstelle auch eine eigene
> Adresse?

Kommt drauf an. Die meisten EEPROMs haben eine I2C-Adresse. Es gibt aber 
auch EEPROMs, wo jeder Block eine eigene I2C-Adresse hat.

von spess53 (Gast)


Lesenswert?

Hi

>Es gibt aber
>auch EEPROMs, wo jeder Block eine eigene I2C-Adresse hat.

Hast du da einen Kandidaten parat?

MfG Spess

von M. K. (sylaina)


Lesenswert?

spess53 schrieb:
> Hi
>
>>Es gibt aber
>>auch EEPROMs, wo jeder Block eine eigene I2C-Adresse hat.
>
> Hast du da einen Kandidaten parat?
>
> MfG Spess

24LC1025 ist, glaub ich, so ein Kandidat. Der hat zwei Blöcke 
integriert.

von Stefan F. (Gast)


Lesenswert?

Die AVR Mikrocontroller enthalten einen kleinen EEPROM, der für das 
Speichern von einigen RFID Codes genügt.

Die STM32 Controller enthalten einen Flash-Speicher, den man ebenfalls 
für diesen Zweck verwenden kann.

Bei Zugangskontrollen spielt oft die Uhrzeit eine Rolle, so dass man zum 
Beispiel eine RTC verwendet. Diese enthalten häufig einige freie 
batteriegepufferte Speicherzellen, die du benutzen kannst.

Zugangskontrollen werden häufig zentral über einen PC/Server gesteuert. 
In diesem Fall brauchen die Module an den Türen weder Uhren noch 
Speicher.

Bevor du an deinen Mikrocontroller externe Speicher hängst, prüfe ob das 
überhaupt nötig ist. Denn jedes zusätzliche Teil ist eine potentielle 
Fehlerquelle und kostet Einarbeitungszeit.

von spess53 (Gast)


Lesenswert?

Hi

>24LC1025 ist, glaub ich, so ein Kandidat. Der hat zwei Blöcke
>integriert.

Scheint aber eher eine Notlösung, statt eines wirklichen Features zu 
sein:

Datenblatt:

This device has an internal addressing boundary
limitation that is divided into two segments of 512K bits.
Block select bit ‘B0’ to control access to each segment.

MfG Spess

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

spess53 schrieb:
>>24LC1025 ist, glaub ich, so ein Kandidat. Der hat zwei Blöcke
>>integriert.
>
> Scheint aber eher eine Notlösung, statt eines wirklichen Features zu
> sein:

 Alles eine Frage der Herstellungskosten.
 2*512K ist weitaus billiger als ein 1*1024K (immer noch).

: Bearbeitet durch User
von M. K. (sylaina)


Lesenswert?

spess53 schrieb:
> Scheint aber eher eine Notlösung, statt eines wirklichen Features zu
> sein:

Na das ist aber nun doch auch völlig egal, es funktioniert. Wenn man 
diese EEPROM-Größe benötigt... ;)

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
Noch kein Account? Hier anmelden.