Forum: Mikrocontroller und Digitale Elektronik Serielles EEPRM


von Manuel (Gast)


Lesenswert?

habe folgendes problem,
habe ein serielles EEPROM M93C86-MN6.
Dieses wird direkt von einem C167 angesteuert. Die Verbindungen zwischen 
C167 und SEEPROM wurden sehr kurz gehalten <3cm, Störschutzkondensator 
vorhanden.
Mein problem, sobald die schlaltung für LÄNGERE zeit stromlos ist, 
erhalte ich teils falsche Werte beim lesen. Während das ganze 
eingeschlatet ist, kann man X-100 mal Werte lesen und schreien, 
keinerlei probleme. Wenn ich die Schlaltung nur ein paar minuten 
stromlos mache hab ich auch überhaupt keine probleme. Nur wenn die 
Schaltung über nacht Stromlos ist, werden einzelne werte falsch 
gelsesen.
Habe das ganze mit verschiedenen EEPROMs und verschiedener Hardware 
getestet, immer mit gleichem ergebnis...

Jemand ne idee worans liegen könnte?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

In dem Datenblatt wird viel Wert auf das richtige Power-Up gelegt. Ein 
Punkt ist die Beschaltung des S(elect)-Anschlusses mit einem Pull-Down 
zu Vss. Durch das Deselect während Power-Up soll sichergestellt werden, 
dass beim Einschalten keine Daten verändert werden.

Hast du schon probiert nach dem Power-Up eine Wartepause einzulegen 
bevor du auf das EEPROM zugreifst? Es könnte ja sein, dass das EEPROM 
etwas länger braucht, um startklar zu werden als der µC. Und wenn bei 
langem Power-off die Kondensatoren leer sind, würde sich dies umso 
wahrscheinlicher zeigen.

Hast du eigentlich ein (Speicher-)Oszilloskop zur Verfügung, mit dem du 
das Power-Up verfolgen kannst? Ich würde hier die Vcc Leitung und die S 
Leitung überwachen.

Ohne Oszilloskop könnte man vielleicht was mit einem R/S-Flipflop (z.B. 
aus NAND-Gattern aufgebaut) und einer LED eine Alarmschaltung für Spikes 
auf der S Lietung basteln.

von Manuel (Gast)


Lesenswert?

Ja habe gelesen dass das EEPROM beim power up nicht enabled sein darf, 
habe keinen pull-down...
Wirklich erklären kann ichs mir damit jedoch nicht, meine wenn ich die 
Schlatung nur kurz stromlos mache, gibts keine probleme und die Spannung 
geht dan jeweils auf 0V (naja peanuts darüber)... werd erst mal deinen 
tip mit der verzögerung testen, vielen dank

von Manuel (Gast)


Lesenswert?

Hab das ganze nochmals angeschaut, wenn ich nachdem ich spannung auf die 
schaltung gebe, 20sekundne warte, bekomm ich teils immer noch lesefehler 
:-(

ein pull-down widerstand, was wird das standart für einer genommen? 10k?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Vielleicht hilft dir auch die AN1119, die speziell auf das richtige 
Power-Up und Power-Down eingeht:
http://www.ortodoxism.ro/datasheets/SGSThomsonMicroelectronics/mXyxzys.pdf

Darin wird genau auf das Zusammenspiel von C, D und S Signal 
eingegangen. Und es wird für den Pull-down Widerstand R diese Bedingung 
angegeben:

R > (min.) Vih(EEPROM) / (max.) Ioh(MCU)

Im FAMILY PRELIMINARY USER MANUAL (ST10 FAMILY) des C167 ist angegeben, 
dass man mit Pull-down-Widerständen kleiner 15 KOhm aufpassen soll.
http://www.ife.tugraz.at/datashts/Sgs-Thomson/2333.pdf

Ich komme bei den Zahlenspielen auf
R > 2V / 100 µA > 20 KOhm

Die 100µA Ioh sind aus obigem PDF bei Voh 0.9*Vcc. Es gibt allerdings 
eine Anmerkung, dass die Ausgangstreiber des µC einen höheren Strom 
bereitstellen können. Es ist möglicherweise auch Portabhängig. Das 
Datenblatt mit den DC Specifications habe ich auf die Schnelle nicht 
gefunden, der C166 hat z.B. Ioh um 250 µA (=> 8 KOhm).

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Wer sagt's denn hier ist das Datasheet vom ST10F167
http://www.keil.com/dd/docs/datashts/st/st10f167_ds.pdf

R > 2V / 250µA => R > 8 KOhm

Dein 10 KOhm Pull-Down hört sich gut an.

von Holger (Gast)


Lesenswert?

Das ist mir nicht unbekannt.
Versuche mal den CLK anzulegen, ohne den CS.
Also 16 mal dummy CLK aber ohne den CS, beim Power-UP.
Damit wird der innere Micro-Seqencer sicher initialisiert.
Viel Erfolg.

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.