Forum: Mikrocontroller und Digitale Elektronik 24lc32 EEPROM beim startup


von U. B. (ub007)


Lesenswert?

Hallo.

Ich konnte hier nichts finden...
Ich hab ein kleines Problem. Wenn man ein EEPROM am Controller hat 
dürfte das Ansprechen kein Problem sein.
Wenn man aber zwei EEPROMs am selben I2C hängen hat, sieht die Sache 
schon ganz anders aus.
Beim einschalten kann man ja eine Steuersequenz absetzen die dann an den 
EEPROMs aufschlägt. Je nach A0-A2 wird dann das entsprechende EEPROM 
angesprochen. Aber wenn beide EEPROMs noch "jungfreulich" sind - also 
mit noch keiner Adresse beaufschlagt wurden - wie weiß man welcher nun 
jetzt angesprochen wird ? Ein CS pro EEPROM gibts nicht sondern nur über 
die Adress-Leitungen. Man kann zwar die Adresse beim ersten mal 
"schreiben" aber ich weiß dann nicht welcher von beiden angesprochen 
wird (Vermutung beide), oder hab ich etwas falsch verstanden. Wer kann 
helfen ? Wie kann man gezielt die einzelnen EEPROMs ansprechen ?

Gruß

von STK500-Besitzer (Gast)


Lesenswert?

U. B. schrieb:
> Aber wenn beide EEPROMs noch "jungfreulich" sind - also
> mit noch keiner Adresse beaufschlagt wurden - wie weiß man welcher nun
> jetzt angesprochen wird ?

Sobald Spannung anliegt und Strom fließt, "wissen" deine EEPROMs, welche 
Adresse sie haben. So schnell kann dein Controller gar nicht sein.
Und selbst wenn sie es noch nicht wüssten, würden sie gar nicht auf die 
Daten reagieren.

von Joachim B. (jar)


Lesenswert?

U. B. schrieb:
> A0-A2

werden von dir wahlweise auf GND oder VCC gelegt gibt 2^3 = 8 
Möglichkeiten die dann der Ansprechadresse + Basis entsprechen

also ansprechen Basisadresse + 0-7

von Einer K. (Gast)


Lesenswert?

U. B. schrieb:
> oder hab ich etwas falsch verstanden.
Aber sicher!

U. B. schrieb:
> Je nach A0-A2 wird dann das entsprechende EEPROM
> angesprochen.
Richtig!

U. B. schrieb:
> Man kann zwar die Adresse beim ersten mal
> "schreiben" aber ich weiß dann nicht welcher von beiden angesprochen
> wird (Vermutung beide),
Unsinn!

Die Adress Pin A0 bis A2 bestimmen die Adresse.
Diese legt man fest auf die gewünschten Pegel, und gut ist.

Mit "Jungfräulich" hat das nichts zu tun.


-------------

Dieses lesen und das gelesene glauben, denn das ist die Wahrheit:
http://ww1.microchip.com/downloads/en/DeviceDoc/21072G.pdf

von OMG (Gast)


Lesenswert?

U. B. schrieb:
> Ich hab ein kleines Problem.

Ja. Das Problemliegt im Informations-Defizit das du leicht
abbauen kannst ....

U. B. schrieb:
> Wie kann man gezielt die einzelnen EEPROMs ansprechen ?

Indem du das Datenblatt liest und feststellst dass man diesen
EEPROMs verschiedenen Adressen zuweisen kann, und zwar ohne
ihnen jemals eine Adresse per Draht geschickt zu haben.

Gleich auf dem Titelblatt findest du das Pinout mit den Adressen.

von U. B. (ub007)


Lesenswert?

Hallo Gast !

Erstmal Danke für die super schnellen Antworten ! Ich dachte dass ich 
die Adressen vergeben muss, aber die erste Antwort sagt schon fast alles 
! Das erleichtert das ganze erheblich. Das Datenblatt habe ich 
durchgeschaut aber offensichtlich nicht gut genug, sorry. Das klingt 
aber so, dass nach jedem Spannung anlegen die Adressen "neu" vergeben 
werden und die können wahrscheinlich dann auch unterschiedlich sein oder 
bleiben die gleich ?

Vielen Dank an Alle !

Gruß

von Einer K. (Gast)


Lesenswert?

U. B. schrieb:
> Das klingt
> aber so, dass nach jedem Spannung anlegen die Adressen "neu" vergeben
> werden und die können wahrscheinlich dann auch unterschiedlich sein oder
> bleiben die gleich ?

Nein!
Müssen!
Ja!

von U. B. (ub007)


Lesenswert?

Vielen Dank und schönen Abend !

von Axel S. (a-za-z0-9)


Lesenswert?

U. B. schrieb:
> Das klingt
> aber so, dass nach jedem Spannung anlegen die Adressen "neu" vergeben
> werden

Das hat nichts mit "Spannung anlegen" zu tun. Die Adress-Pins jedes 
EEPROMs werden von dir fest an entweder H oder L gelegt. Und damit ist 
die Adresse vergeben. Es ist nicht vorgesehen, die Adress-Pins im 
laufenden Betrieb zu verändern. Wozu auch?

Natürlich darfst du jede Adresse an einem Bus nur einmal vergeben. Und 
du mußt nachher, wenn du die EEPROMs per I²C ansprichst, natürlich 
wissen, welchem EEPROM du welche Adresse gegeben hast.

von Joachim B. (jar)


Lesenswert?

U. B. schrieb:
> Das klingt
> aber so, dass nach jedem Spannung anlegen die Adressen "neu" vergeben
> werden und die können wahrscheinlich dann auch unterschiedlich sein oder
> bleiben die gleich ?

wenn du die Adresspins A0-A2 wo hingelötet hast, nach VCC oder nach GND 
ist das fest, wer soll die ändern?

Lötest du die jedesmal um, natürlich ändert sich dann die Adresse, 
natürlich jedesmal beim Umlöten vor Spannung anlegen!

oder lötest du unter Spannung um?

Manchmal verstehe ich solche Fragen nicht!

von Einer K. (Gast)


Lesenswert?

Joachim B. schrieb:
> Manchmal verstehe ich solche Fragen nicht!

Ich verstehe solche Fragen auch nicht.

Aber ich weiß recht genau, wie sie entstehen.

von Joachim B. (jar)


Lesenswert?

Arduino Fanboy D. schrieb:
> Aber ich weiß recht genau, wie sie entstehen.

verrätst du es mir?

von Christian M. (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Aber ich weiß recht genau, wie sie entstehen.

Ich habe jetzt mal das DB überflogen, aber für mich ist das eindeutig. 
Kannst Du zum Nachvollziehen erklären, wie das entstehen soll?

Arduino Fanboy D. schrieb:
> Ich verstehe solche Fragen auch nicht.

Vielleicht kann man es dann...

Gruss Chregu

von Einer K. (Gast)


Lesenswert?

Joachim B. schrieb:
> Arduino Fanboy D. schrieb:
>> Aber ich weiß recht genau, wie sie entstehen.
>
> verrätst du es mir?

Gerne.

Aus irgend einem Grund, wurde das Datenblatt nicht gelesen, oder nicht 
verstanden.
Das Resultat ist in beiden Fällen das gleiche.

Im Gehirn tun sich große weiße Flecken des Nichtwissens auf.
Der Mensch an sich kann nicht gut mit Nichtwissen umgehen.
Darum werden diese Flecken oft sofort mit Quatsch/Fantasie ausgemalt.

Und dieser Quatsch, oder Fantasiegebilde, werden dir(uns) zur Korrektur 
überreicht.
Da diese Flecken bei dir mit Wissen gefüllt sind, hast du keine Chance 
die Frage zu verstehen. Sie erscheint dir irrational.

Übrigens:
Das ist kein Problem des TO alleine.
JEDER Mensch tut das so.
(und das mit gutem Grund)

Menschen die nicht sofort alle weißen Flecken zwanghaft ausmalen müssen, 
haben es leichter zu lernen. Denn sie müssen sich weniger Müll wieder 
aus dem Hirn raus prügeln.
Und wieder andere können sich nie nicht von ihren Fantasien lösen.

von Einer K. (Gast)


Lesenswert?

Christian M. schrieb:
> Kannst Du zum Nachvollziehen erklären, wie das entstehen soll?

Es soll natürlich auch dir zur Erhellung dienen! ;-)

Ich hoffe, dass jetzt alle Klarheiten beseitigt sind.

von Joachim B. (jar)


Lesenswert?

Arduino Fanboy D. schrieb:
> Menschen die nicht sofort alle weißen Flecken zwanghaft ausmalen müssen,
> haben es leichter zu lernen. Denn sie müssen sich weniger Müll wieder
> aus dem Hirn raus prügeln.

stimmt, ich weiss immer noch nicht warum ich "333 Issos keilerei" lernen 
musste, aber ich weiss da war mal was und kann es zumindest nachlesen!

von Axel S. (a-za-z0-9)


Lesenswert?

Joachim B. schrieb:
> Arduino Fanboy D. schrieb:
>> Aber ich weiß recht genau, wie sie entstehen.
>
> verrätst du es mir?

Meine Theorie: bei einem Speicher (RAM/ROM) mit parallelem Interface muß 
man im Betrieb an den Adressleitungen "wackeln" um auf verschiedene 
Speicherzellen zuzugreifen. Der TE überträgt dieses Wissen nun auf 
Speicher mit seriellem Interface, wohl auch deswegen, weil diese 
Anschlüsse ebenfalls "Adresse" genannt werden.

Allerdings haben sie trotz gleichen Namens eine andere Funktion. Sie 
dienen der Festlegung ("fest" im Sinne von "dauerhaft") einer 
Geräteadresse, nicht der Adressierung des Speichers.

von Joachim B. (jar)


Lesenswert?

da könnte was dran sein, trotzdem hilft Datenblatt lesen,

musste ich auch erst lernen, als ich einen VHS Recorder kaufte der nicht 
mehr auf UHF Kanal 30-40 einstallbar das VideoSignal ausgab und
das in PKW bei Neukauf nicht immer ein Reservereifen dabei ist hat sich 
ja schon mal rumgesprochen.

von Einer K. (Gast)


Lesenswert?

Axel S. schrieb:
> Meine Theorie:

Durchaus stimmig!

Da wurde wohl ein weißer Fleck mit eigentlich korrektem, aber in diesem 
Kontext falschem, Wissen geflutet.

Auch nicht selten....

von Dietrich L. (dietrichl)


Lesenswert?

Arduino Fanboy D. schrieb:
> Gerne.
> ....

Das hast du sehr schön beschrieben, Danke!

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.