Jump to content

PIC defekt?


ThomasT
 Share

Recommended Posts

Hier auch nochmal. Habs grad auch in de.sci.electronics gepostet. Habe mein Problem soweit eingrenzen können.

----------------------------------------------------------------------

Hallo,

ich habe ein Problem einen PIC 18F452 zu brennen.

Brennsoftware ist IC-Prog 1.05C und ein selbstgebastelter JDM Programmer der bislang gute Dienste bei 16F877 geleistet hat. Tests der Spannungen, alle ok.

Von diesem JDM Programmer zog ich fünf Strippen zu den zu brennenden PIC.

Dieser ist eingelötet auf der Platine (PLCC Gehäuse) diese Kabel werden mit Stecker verbunden wo normalerweise ds Jumper drauf sind.

Das einzige was ich nicht gemacht habe ist den pull-down R an Pin RB5 zu verbinden. Laut datenblatt wird der nur gebrauch um den low voltage Programmmodues zu aktiven. Brauche ich aber nicht.

(muss noch prüfen ob es das ist)

Brennen klappt teilweise aber nur kleinere Programme. Ab einem bestimmten Speicherbereich z.B. so ca. 00A0 - 00F0 gibt es Bereiche in denen immer was anderes eingebrannt wird. Nicht die Bits die ich will...

Bzw. ausgelesen wird.

Bei Auslesen kommt es auch dazu, dass immer was anderes augelesen wird.

Programmieren mit nur 0x00 nach vorherigem Löschen auf 0xFF (durch Einlesetest bestätig) ergab das auch in der Drehe um 00A0 nicht 00 gebrannt wurde sondern irgendwelcher Müll FFFF oder EFFF FEEE steht.

(Auslesen mit IC-Prog und JDM)

Ist der PIC defekt?

Falls ja, könnte ich das selber gewesen sein?

Gibt es andere Möglichkeiten, die diesen Effekt verursachen könnten?

(bevor ich jetzt auslöte und ihn damit zerstöre)

Danke und Gruss Thomas Thiele

----------------------------------------------------------------------

Ergänzungen für Midibox - Bauer:

der primäre Bootloader funktioniert und brennt auch irgendwas in den PIC ein wenn ich versuche MIOS zu laden. Allerdings startet MIOS nicht. Es reagiert auch nicht auf ping. Der prim. Bootloader läuft weiterhin.

Wenn ich MIOS direkt brenne, dann läuft es zwar. D.h. ping funktioniert. Aber ich kann keine Applikation laden. Also Beispiel habe ich das 8fach Motorfader-Beispiel genommen. Korrekte Acknowlege-String mit sinnvoller Checksumme werden geliefert aber nix passiert weiter.

Ich erwarete ein Flut von Controller-Messages da die Potieingänge alle noch offen sind und daher zufälligen Pegel haben.  

Link to comment
Share on other sites

Hallo Thomas,

die Aussage bezgl. des Pull-Ups an RB5 ist falsch. Bei einem fabrikneuen PIC ist der LVP-Modus aktiviert, durch den Pull-Up wird er deaktiviert. Waehrend des allerersten Brennvorgangs solltest Du also sicherstellen, dass LVP hardwaremaessig disabled ist (der Pin also nicht floatet und auf einem definierten Pegel liegt), ansonsten wird IC-Prog mit einer gewissen Wahrscheinlichkeit einen Verify Error melden.

Da der Brennvorgang beim ersten mal zufaellig geklappt hat, und das LVP-Flag nun geloescht ist, musst Du diesen Fall jedoch nicht weiter beachten (hoechstens bei den naechsten PICs, die Du programmierst).

JDM: viele Leute hatten das Problem, dass der JDM zwar mit dem PIC16F problemlos funktionierte, mit dem PIC18F jedoch Probleme machte. Auf der MBHP_JDM Seite findest Du eine Troubleshooting Guide mit Loesungsvorschlaege. Seit es diese Guide gibt, sind keine neuen Probleme mehr gemeldet worden...

Vermutlich musst Du die Programmierspannung mit Hilfe einer externen Spannung stabilisieren.

Gruss,

       Thorsten.

Link to comment
Share on other sites

Es gibt aber noch ein paar Ungereimtheiten.

Z.B. mag das Brennen mit dem JDM zwar Probleme machen. Ok.

Aber auch das Auslesen und Schreiben über Sysex und Bootloader klappt ja nicht ordentlich.

Und da ist JDM nicht mehr beteiligt.

Ok, setzt voraus, dass der Bootloader ordentlich gebrannt wurde. Aber laut Prüfung ist er das.

Es gibt natürlich auch noch andere Möglichkeiten. Hochfrequentere (== nicht mit Multimeter zu messende) schwingende Versorgundspannungen beim Sysexen.

Allerdings gibt es eine auffällige Korrelation des Datenmülls in bestimmten Speicherbereichen.

Besonders gut dort zu erkennen wo eine gleichmässig gefüllte LUT oder ähnliches liegt.

Thomas, genervt weitersuchend und genau ahnend dass es irgendwas triviales ist...

Link to comment
Share on other sites

Du hast folgendes geschrieben:

Brennen klappt teilweise aber nur kleinere Programme. Ab einem bestimmten Speicherbereich z.B. so ca. 00A0 - 00F0 gibt es Bereiche in denen immer was anderes eingebrannt wird. Nicht die Bits die ich will...

Bzw. ausgelesen wird.  

deshalb nahm ich an, dass dieser Effekt mittlerweile auch beim Brennen via JDM zu beobachten ist.

Er tritt also nur waehrend des Programmierens von Intern auf... die MIDI-Daten sollten die Spannung nicht zum einbrechen bringen, am MIDI-In fliesst quasi kein Strom, und der MIDI-Out wird erst nach dem Programmieren eines Blockes aktiv. Der Loader speichert zunaechst bis zu 1024 Bytes in einem Buffer, bevor er das Flash programmiert.

Koenntest Du vielleicht mal das PCB-Layout irgendwo ins Netz stellen?

Welche Chip-Revision verwendest Du (einfach die komplette Typennummer + Produktionsdatum aufschreiben)

Gruss,

       Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...