Forum: Mikrocontroller und Digitale Elektronik Löschprobleme PIC18LF8720 am GALEP4


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Jens M. (schuchkleisser)


Angehängte Dateien:

Lesenswert?

Hallo, das geht raus an alle GALEP- und PIC-Experten.

Ich hab hier eine hochgeheime Schaltung (ja, wirklich), in der der 
PIC18LF8720 (TQFP80) verbaut ist. Genau genommen -zig, alle verlötet, 
keine Reservechips, vergossen, kommt man nicht mehr dran, also sehr 
eingeschränkte Experientierbarkeit.
Der wird über einen ISP-Adapter an den GALEP angesteckt und von seinem 
Netzteil versorgt, so weit so gut.

Jetzt das eigenartige:
- Ich kann einen leeren/neuen Baustein programmieren und verifizieren, 
klappt, hundertmal.
- Ich kann einen programmierten Baustein nochmal verifizieren, klappt, 
auch hundertmal.
- Ich kann den Baustein nicht löschen. Der Löschvorgang wird angeblich 
durchgeführt, aber der Leertest schlägt fehl und das Programm bleibt 
drauf. Bei jeder einzelnen Platine.

Der MCLR-Pin hat die übliche "Isolator"-Schaltung mit Kondensator, 
Diode, Reihenwiderstand und Pullup, hochohmig genug.
Takt und Daten sind ganz alleine für den Proganschluss frei.
3,3V sind stabil da, vom eigenen Spannungsregler, nicht mit GALEP 
verbunden.
Masseverbindung steht auch.
Das Programm benutzt den vollen Flash und das EEPROM.
Verschiedene GALEP4 getestet, verschiedene PCs, vrschiedene Adapter, 
etliche Platinen. Ergebnis reproduzierbar gleich: Vergleichen ok, 
Löschen "ok", Leertest = Fehler, Vergleichen danach auch ok.

Leider ist keine leere Baugruppe mehr da, ein loser Chip zum spielen 
oder tauschen auch nicht (käme man auch nicht dran).
Laut Galep-Hilfe sollte man bei größeren Lasten extern speisen und die 
Versorgung nicht mit der des GALEP mischen, das ist auch so.

Warum kann ich 128kB programmieren und testen, aber nicht den 
Löschbefehl erteilen? Die Datenübertragung und Versorgung ist ja wohl 
stabil, sonst hätte man nicht etliche hundert Platinen für je 4 Minuten 
laufen lassen können...
Liegts an den Config Bits? Ich kenne mich mit dem Chip nicht aus, ist 
ein Altprodukt, nicht von mir.
Leider aus o.g. Gründen keine Möglichkeit mit anderen Configs mal zu 
experimentieren, ebensowenig kann ich testen ob an einem frischen Chip 
der Leertest klappt.
Oder ist doch was mit der Spannung und ich sollte mal versuchen die vom 
GALEP zu nutzen?

von fchk (Gast)


Lesenswert?

Nimm mal ein PICKIT3 und die MPLABX IPE und probiere nochmal. Microchip 
sollte seine eigenen Bausteine kennen. Vielleicht ist in Deinem 
Programmer irgend ein Bug, oder der Chip hat einen Quirk, den Microchip 
irgendwie umgeht, die Fremdtools aber nicht oder wie auch immer.

Ein PicKIT3-Nachbau sollte beim Chinamann für 20€ zu haben sein.

fchk

von Hans (Gast)


Lesenswert?

Jens M. schrieb:

> 3,3V sind stabil da, vom eigenen Spannungsregler

Könnte es sein, dass 3,3V zu wenig ist, um zu löschen?

von Ollus (Gast)


Lesenswert?

Hans schrieb:
> Könnte es sein, dass 3,3V zu wenig ist, um zu löschen?

So schaut es leider aus. VDD(min) for Block Erase: 4,5V (Datenblatt, 
Parameter D132). Jetzt kommt es auf die hochgeheime Schaltung an, ob die 
bei 4,5V den magischen Rauch entweichen lässt.

von Lotta (Gast)


Lesenswert?

Ich würde fast denken, der progammiert auch nicht,
und der Vergleich stellt fest, das der inhalt der jewiligen Zelle 
stimmt.
Wie wurden die Dinger mal programmiert?

Wie wird der Galep versorgt?
Aus nem Netzteil oder der 9V-Baterie?
Mal ein Netzteil nehmen.

Wie oben schon angesprochen, anderen Programmer versuchen,
ev. Galep5, der hat ja nen anderen ASIC/FPGA drinne.
kanst Du die Betriebsspannung auf 5V erhöhen?

Wenn auf jeder Platine/Modul nur 1 Pic drauf ist,
und man 1 Modul notfalls entbehren kann,
könnte man ein Modul mit Röntgenstrahlen löschen und
dann nen neuen Programmierversuch starten.
Das sollte aber die "letzte Instanz" sein.

mfg

von Jens M. (schuchkleisser)


Lesenswert?

Hans schrieb:
> Könnte es sein, dass 3,3V zu wenig ist, um zu löschen?

Ollus schrieb:
> etzt kommt es auf die hochgeheime Schaltung an, ob die
> bei 4,5V den magischen Rauch entweichen lässt.

Oh shit yes. Danke! stirnklatsch
Die hochgeheime Schaltung (ist wirklich unter NDA) hat diverse 
Komponenten mit 3,6V max.
Omfg. Da heißt es zum Update Epoxy zerkloppen, auslöten, neuen rein 
(oder Sockel organisieren und das versuchen, so ein Chip kostet ja 
mittlerweile über 10€ afaik)

Lotta schrieb:
> Ich würde fast denken, der progammiert auch nicht,
> und der Vergleich stellt fest, das der inhalt der jewiligen Zelle
> stimmt.
> Wie wurden die Dinger mal programmiert?

Auf gleichem Weg.
Und der Verify klappt auch mehrfach nach Power Off da CP nicht gesetzt 
ist.
Wie sich das mit der NDA verträgt weiß ich nicht, ich hätte die Dinger 
programmiert bestellt, aber der Code darf nur von wenigen MA 
programmiert werden.

Lotta schrieb:
> Mal ein Netzteil nehmen.

Natürlich aus einem NT, der läuft den ganzen Tag 4-Minuten-Zyklen mit 
den Platinen.
Bloß manchmal gibt es einen Schluckauf, und die wollte ich einfach 
löschen und überprogrammieren, dabei hab ich gemerkt das ich nicht 
löschen kann.

Lotta schrieb:
> könnte man ein Modul mit Röntgenstrahlen löschen und
> dann nen neuen Programmierversuch starten.

Das geht??? Was braucht man da für Power? Wir haben kein Röntgen, nur 
ein Röntgenfloureszenz-Dings zur Bleifindung, das ist angeblich schon 
gefährlich, kommt aber nichtmal durch den Staub auf der Oberfläche.

von hinz (Gast)


Lesenswert?

Block erase statt bulk erase nehmen.

von Jens M. (schuchkleisser)


Lesenswert?

hinz schrieb:
> Block erase statt bulk erase nehmen.

Das kann ich am Galep nicht beeinflussen.
Ich weiß nicht mal was der Unterschied zwischen LF8720 und F8720 ist.
Würde GALEP den einen mit 5 und den anderen mit 3,3V betreiben?
So oder so ist der 3,3V-Pfad nicht zugänglich, nur ein 3V(!)-Anschluss 
zum internen Boostregler ist da.

Kann ich mit einem PICKIT was machen? Ich hätte privat ein zweier da, 
und ein ICD2 (glaub ich), liegt schon länger rum.

von hinz (Gast)


Lesenswert?

Ich hatte mal ein ähnliches Problem, da hab ich einen kleinen uC als 
Blockeraser programmiert. Das ICSP Protokoll ist ja bekannt.

Beitrag #6651544 wurde von einem Moderator gelöscht.
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.