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?
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.
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
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?
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).
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.