Hallo in die Runde, ich habe erfolgreich eine Schaltung mit dem Prozessor PIC18F2585 im Einsatz. Es funktioniert alles so, wie es soll. Aber inzwischen ging schon mehrmals gar nichts mehr, nach einer Neuprogrammierung des PIC war der Fehler behoben. Der gleiche Effekt trat bei unterschiedlichen Modellen des PIC18F2585 auf. Was kann die Ursache sein, dass der PIC seine Programmierung plötzlich vergisst? Wie kann ich das verhindern? Joachim
Das ist ja sehr ungewöhnlich, ich arbeite seit Jahren mit PIC, ist mir noch nie passiert. Kannst Du mal VPP während der Programmierung messen, das sollten 12 V sein. Woher hast Du den PIC?
Joachim U. schrieb: > Neuprogrammierung des PIC war der Fehler behoben. Der gleiche Effekt > trat bei unterschiedlichen Modellen des PIC18F2585 auf. Bei unterschiedlichen Modellen oder bei unterschiedlichen Exemplaren? Wenn Du Dich nicht exakt ausdrückst, dann denkst Du wahrscheinlich auch wirr. > Was kann die Ursache sein, dass der PIC seine Programmierung plötzlich > vergisst? Wie kann ich das verhindern? Eine Möglichkeit ware, dass die Brownout-Einstellungen nicht korrekt sind. Ein Brownout ist ein Absinken der Spannung, die zu Fehlern im Programmablauf führen. Dafür gibts im Config Word an Adresse 0x300002 Konfigurationsbits. Diese Bits werden beim Flashen des Prozessors mitprogrammiert und befinden sich im HEX-File. Siehe Datenblatt Seite 330ff. Die richtigen Werte hängen von der Schaltung und der Betriebsspannung ab. Ansonsten kann auch die Schaltung, in der sich der PIC befindet, defekt sein oder Designfehler aufweisen. Das kann ich an dieser Stelle nicht beurteilen, ohne Board plus Doku auf meinem Schreibtisch zu haben. fchk
Hallo Ihr Beiden, ich habe den PIC bei Reichelt gekauft und es handel sich bei den Fehlern um verschiedene Expemplare einer Lieferung. Frank K. schrieb: > Eine Möglichkeit ware, dass die Brownout-Einstellungen nicht korrekt > sind. Ein Brownout ist ein Absinken der Spannung, die zu Fehlern im > Programmablauf führen. Dafür gibts im Config Word an Adresse 0x300002 > Konfigurationsbits. Diese Bits werden beim Flashen des Prozessors > mitprogrammiert und befinden sich im HEX-File. > Siehe Datenblatt Seite 330ff. > Die richtigen Werte hängen von der Schaltung und der Betriebsspannung > ab. Wie kann ich diese Einstellung ändern? Frank K. schrieb: > Ansonsten kann auch die Schaltung, in der sich der PIC befindet, defekt > sein oder Designfehler aufweisen. Das kann ich an dieser Stelle nicht > beurteilen, ohne Board plus Doku auf meinem Schreibtisch zu haben. Worauf muss ich im Layout achten? Kurze, kräftige Masseführung? Stützkondensator 100nF an den Spannungsanschlüssen? Was eventuell noch? Joachim
Joachim U. schrieb: >> Die richtigen Werte hängen von der Schaltung und der Betriebsspannung >> ab. > > Wie kann ich diese Einstellung ändern? Normalerweise: Quellcode ändern, compilieren, flashen. Wenn Du keinen Quellcode hast, wirds kompliziert. Dann musst DU Dich sehr gut mit dem Intel Hex Format auskennen, die verschiedenen Recordtypen kennen und in der Lage sein, die zeilenweisen Prüfsummen anzupassen. > Frank K. schrieb: >> Ansonsten kann auch die Schaltung, in der sich der PIC befindet, defekt >> sein oder Designfehler aufweisen. Das kann ich an dieser Stelle nicht >> beurteilen, ohne Board plus Doku auf meinem Schreibtisch zu haben. > > Worauf muss ich im Layout achten? Kurze, kräftige Masseführung? > Stützkondensator 100nF an den Spannungsanschlüssen? > Was eventuell noch? Das übliche Elektronik-Grundwissen halt. Der Rest steht im Datenblatt eigentlich drin. fchk
Frank K. schrieb: > Das übliche Elektronik-Grundwissen halt. Der Rest steht im Datenblatt > eigentlich drin. Und was davon soll dazu führen, dass ein µC seine Programmierung verliert?
Joachim U. schrieb: > Was kann die Ursache sein, dass der PIC seine Programmierung plötzlich > vergisst? Wie kann ich das verhindern? Erster Schritt: Programmspeicher vor dem Brennen vergleichen. Dann siehst Du, was geändert wurde. Zweiter Schritt: Feststellen, ob das Programm seinen Programmspeicher überschreiben darf (gibt es z.B. einen Booter oder werden Daten im Flash abgelegt) Dritter Schritt: Speicher gegen überschreiben Schützen (wie genau steht im Datenblatt oder wird im Programmer als Option angeboten)
Ich benutze verschiedene PIC-Typen schon seit ca. 30 Jahren und habe damit auch viele Erfahrungen im Serieneinsatz sammeln können. Diesen Fehler kenne ich nicht. Joachim U. schrieb: > Was kann die Ursache sein, dass der PIC seine Programmierung plötzlich > vergisst? Hängt die Funktion der Software auch von Werten im EEPROM ab? Wenn ja, dann würde ich dort mal suchen. > Wie kann ich das verhindern? Ein originales Programmiergerät von Microchip verwenden.
Joachim U. schrieb: > Aber inzwischen ging schon mehrmals gar nichts mehr, nach einer > Neuprogrammierung des PIC war der Fehler behoben. Ein ähnliches Problem hatten wir in geringer Anzahl bei einem Serienprodukt, den Typ des PIC weiß ich nicht. Der Grund wurde leider niemals gefunden und auch die Umstellung auf ein anderes Programmiergerät löste das nicht. Man könnte den Verdacht hegen, dass bei einigen Serien PIC die EEPROMS unzuverlässig sind.
Ich würde erstmal den µC ohne Leseschutz flashen und beim Auftreten des Fehlers den µC rücklesen und vergleichen, welche Bank fehlerhaft ist. Ursache können Störungen über IO-Pins von außen sein. Besonders ungesund ist, wenn Spannungen von außen vor der VCC bzw. nach dem Abschalten der VCC anliegen. Diese sollte man mindestens mit Schutzwiderständen begrenzen. Optimal sind aber Treiber-ICs, die ohne VCC in tristate gehen. Ein Kandidat für Ströme in die IO-Pins sind z.B. RS232- oder USB-ICs.
Manfred P. schrieb: > Ein ähnliches Problem hatten wir in geringer Anzahl bei einem > Serienprodukt, den Typ des PIC weiß ich nicht. Der Grund wurde leider > niemals gefunden und auch die Umstellung auf ein anderes > Programmiergerät löste das nicht. Haben wir auch beim PIC18F14K50. Auch nach einer Neuprogrammierung dieser Exemplare verlieren sie diese nach einiger Zeit wieder. Wir tauschen hier inzwischen gleich den Chip. Danach läuft's. Taucht vor allem bei neuen Geräten, gelegentlich aber auch mal bei Reparaturgeräten auf. Gruß Jobst
Danke! Da bin ich wohl nicht allein mit meinem Problem. Ich werde also erst mal nicht nur neu programmieren, sondern neue PIC nehmen. Joachim
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.