Servus erstmal Ich hab hier einen 89S8252 liegen, der öfters mal alle Programmdaten im Flash verliert. Das passiert vor allem, wenn in der Umgebung Störsignale vorkommen oder die Versorgungsspannung unsauber wird. Ist das nun normal oder kann das eher daran liegen, dass ich die 1.000 Programmiervorgänge bereits erreicht habe? Wie zuverlässig ist Flash denn generell?
Morgen, 1000 Programmiervorgänge dürften meiner Meinung nach nicht das Problem sein. Ich würd erst mal versuchen die Versorgungsspannung zu stabilisieren. Hast den Reset richtig beschalten? Wenn der offen ist dann kanns schon sein dass bei Störsignalen grad das Richtige reinkommt und er dann den Flash löscht. Wie stark sind den deine Störsignale? Ansonsten sind Flash Speicher äußerst zuverlässig. Kommt das auch bei anderen 89S8252ern vor?
Hallo! Die warscheinlichkeit das ein Flash "von selbst" Daten verliert ist äußerst gering. Ich keinne nur 2 Ursachen, zulanges Lagern (mehrere Jahre) oder Ionisierende Stahlung (Röntgen, Radioaktivität). Dürfte beides bei dir nicht der Fall sein. Ich hatte mal mit dem AT89S8253 ein Problem, das der Flash die Daten nicht angenommen hat, das lag daran dass während der Programierens die Spannung unter 4,5V abgesunken ist, bei dieser Spannung kann der Flash nicht mehr richtig beschrieben werden. mfg Owz
Thomas wrote: > Ich hab hier einen 89S8252 liegen, der öfters mal alle Programmdaten im > Flash verliert. Was hast Du denn am Reset und an den SPI-Pins dranhängen ? EA ist fest auf VCC ? > Das passiert vor allem, wenn in der Umgebung Störsignale > vorkommen oder die Versorgungsspannung unsauber wird. Dann solltest Du für ne "saubere" VCC sorgen oder zumindest nen Reset-IC nehmen, der bei Unterspannung den MC in Reset hält (z.B. MAX813L). Überspannungen (>6V) mußt Du in jedem Fall vermeiden. Auch sollten Portpins nie Spannung bekommen, bevor VCC anliegt. Peter
Normal werkeln die mindestens 20-30 Jahre vor sich hin, ohne irgendwas zu verlieren. Da wirst du irgendwo einen Designfehler haben, unsauber Versorgungsspannung, offener Resetpin usw, wie andere schon schrieben. Oder auch nur der eine Chip spinnt aus unerfindlichen Gründen.
Erstmal vielen Dank für die Antworten. Der EA-Pin liegt fest auf VCC, der Reset-Pin ist mit einem POR-Netzwerk verbunden (zwei Widerstände, ein Kondensator). Die Spannungsversorgung besteht aus zwei Teilen: Ein Schaltregler LM2576 mit Beschaltung gemäß Datenblatt, ausserdem ist noch Batteriebetrieb über eine weitere Schottky vorgesehen. Im Test hab ich diese Batteriespannung bei gleichzeitiger Versorgung durch das Netz mit einem Labornetzgerät erzeugt. Als ich dann die Netzspannung wegnahm, hat die Spule des Schaltwandlers leise gefiept(macht sie sonst nicht). Das Wegschalten passierte über ein FI-Schalter-ähnliches Gerät, das ich von Hand ausgelöst habe (zu faul zum Stecker ziehen). Dabei wird wohl schon ein wenig Störung frei. Daher meine Vermutung, dass die Versorgung dran schuld ist. Der Controller war im Übrigen auch nicht fest im Sockel eingesteckt, da ich gerade am debuggen war. Vermutlich hat auch das was damit zu tun. Übrigens sind nach diesen Crashs die gesamten 2k des Flashs auf FF gesetzt, es fehlen also nicht nur einzelne Bytes. Mich irritiert eben vor allem, dass der Flash überhaupt so anfällig ist und wollte mal nachfragen, ob das an der Alterung liegen könnte (laut DB sind es eben nur 1.000 Programmierzyklen).
Also mein Netzgerät gibt beim Ausschalten durch die Kondis kurz ca. 10V aus, da solltest du aufpassen, wenn du es einfach so ausschaltest. Vielleicht solltest du eher dessen Ausgang abklemmen.
Hi, alles FF? Dann prüfe mal Deine Software, ev. kommt es nur zur Löschung und gar nicht zur Neuprogrammierung! Wie schon geschrieben, 1000 Zyklen sind für heutige Flash-Speicher nichts. Aber: während des programmierens ist strengstens darauf zu achten, das: - Temperatur eingehalten wird (vermutlich ok, da Laborbetrieb) - Versorgungsspannung eingehalten wird!!! Zu geringe Versorgungsspannung bewirkt, das nicht genug Ladung auf die Floating-Gates gegeben wird. Der Effekt ist, das schon vor der üblichen Datenhaltezeit Zellen "kippen" können. Dein Fehler allerdings scheint mir eher entweder ein Softwareproblem zu sein oder das die Versorgungsspannung zu früh abgeschaltet wird oder zusammenbricht! Schönen Tag noch, Thomas
Ich hatte schon zwei AVRs (unterschiedliche Typen), die zuverlässig gelaufen sind und dann irgendwann das Flash komplett auf FF stand. Das war jeweils, während die Platine gerade nicht im Gehäuse war, also am ehesten etwas mit Störeinkopplung der einen oder anderen Art. Ein Kollege hatte solche Selbstlöschungen schon öfters und fand das ganz normal.
> Ist das nun normal oder kann das eher daran liegen, dass ich die 1.000 > Programmiervorgänge bereits erreicht habe? Ich arbeite seit mehr als 3 Monaten an einem Projekt mit 2 Mega32, pro Bastelsession (3-4 mal die Woche) werden die locker 20 oder mehr Mal beschrieben, aber ich hatte bisher keinerlei Probleme. Man sagt ja auch, dass der Flash im Allgemeinen viel laenger haelt als auf dem Datenblatt angegeben.
Naja, der 89S8252 ist ja auch schon wenig älter und wurde von atmel durch den 8253 ersetzt, der 100.000 oder noch mehr Zyklen zulässt. Vielleicht nicht ohne Grund? Aber dann müssten vermutlich eher einzelne Zellen kippen und nicht der gesamte Flash auf FF gesetzt werden. Mit welchen Sünden im Software-Bereich könnte ich denn überhaupt diesen Effekt hervorrufen? Es scheint sich aber doch herauszukristallisieren, dass es Störungen auf der Versorgungsspannung waren. Ich finde es eben schon krass, dass der Flash derart leicht von aussen gelöscht werden kann...
Thomas wrote: > Es scheint sich aber doch herauszukristallisieren, dass es Störungen auf > der Versorgungsspannung waren. Ich finde es eben schon krass, dass der > Flash derart leicht von aussen gelöscht werden kann... Krass ist eher, daß Du ihm Störungen auf VCC zumutest. Schau Dir mal mit nem Oszi die Störungen an, ich würd mich nicht wundern, wenn da Spitzen von 10V und mehr drauf sind. Wenn die Rohspannung stark verseucht ist, kommt ein Regler-IC nicht mehr hinterher. Deshalb hat man z.B. im störverseuchten Kfz-Netz noch Drosseln und Suppressordioden drin. Und daß sich ein MC bei Überspannung ärgert und vergeßlich wird, kannst Du ihm wirklich nicht übelnehmen. Peter P.S.: Es könnte auch sein, daß Du die Portpins zufällig wie für ein Erase beschaltet hast, dann braucht nur noch ein kurzer 12V-Dip auf den VPP-Pin einkoppeln und schon wird Erase im parallel programming Modus ausgeführt.
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.