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
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).
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?
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)
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.
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?
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 ?
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.
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.
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.
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.
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.
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.
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
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).
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... ;)