www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Serielles EEPRM


Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft dir auch die AN1119, die speziell auf das richtige 
Power-Up und Power-Down eingeht:
http://www.ortodoxism.ro/datasheets/SGSThomsonMicr...

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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.