Hallo Leute, seit 2 Tagen mach ich jetzt an dem Ding rum und es will einfach nicht funktionieren. Es geht um einen PIC18, ich bekomm ihn einfach nicht ans laufen. Die Programmierung funktioniert nur sporadisch. Immer wieder Abbrüche beim lesen und schreiben. Und das Programm läuft einfach nicht los (auch wenn ichs im debugging mode versuch, reagiert er nicht immer auf die Breakpoints und selbst wenn kann ich dann nicht durch den Code steppen). Das skurrielste daran ist, dass der MCLR Pin bei 1,xxV rumhängt. Das ist doch zu wenig. Aber das einzige was dran hängt an dem MCLR Pin ist ein 10k Pullup auf 3,3V. an dem Pullup fallen jedoch über 2V ab ! Hat evtl jemand eine Erklärung für den Sachverhalt ? Warum sollte der MCLR pin die Spannung runterziehen ? Ich hab schon alles versucht... -Spannungen gemessen an allen relevanten Pins -zusätzlich Kondensatoren dran gelötet -den internen Core-Voltage Regulator an und abgeschalten (über externer pin, dazu natürlich entsprechend nen Kondensator an für den Regulator dran) -MLCR deaktiviert -eine zweiten Platine aufgebaut (selbes Ergebnis) -unterschiedliche Programmer (PICKIT3, ICD3) -unterschiedliche Netzteile als Spannungsquelle Ich bekomm den PIC ums verrecken nicht zum laufen. Mittlerweile hab ich auch das Gefühl der interne Takt läuft nicht richtig. Wobei das Programmieren ja auch nicht zuverlässig funktioniert (was ja auch ohne einen internen Oszillator laufen müsste). Ist leider n TQFP 0,5 Pith gehäuse als extern dranlöten is nicht ganz einfach. Achja bei der gelegenheit: Wie bekomm ich den MLCR wieder aktiviert ? ich find für den PIC 18 keine High voltage programming mit der man das machen könntnte im MPLAB. Langsam bin ich echt am verzweifeln. Hat jemand eine Idee? (Device: PIC18F87K90) Viele Grüße Jo
Hatte auch mal so ein Proplem da hat der Pick zu ziel Strom geschaltet mit ein leistungstreiber am Ausgang warren alle Propleme direckt weg. mfg 1969Paul
Ich würde auf jeden Fall bei der Programmierung anfangen, wenn die noch richtig funzt kannst alles Andere vergessen. Warum bricht PICkit3 denn ab? Was kommt denn für eine Fehlermeldung. Ist der PIC noch ok? Läuft dein Programm in anderen Chips? Der PIC müsste doch ein clock out pin haben da kannst du dann den Takt messen.
Johannes Strihle schrieb: > Achja bei der gelegenheit: Wie bekomm ich den MLCR wieder aktiviert ? > ich find für den PIC 18 keine High voltage programming mit der man das > machen könntnte im MPLAB. Der Programmer kann !MCLR immer aktivieren - da wird eine spezielle Aktivierungssequenz reingetaktet, die den Chip in den Programmiermodus bringt. Normalerweise kann man sich bei einem PIC nicht aussperren. > Langsam bin ich echt am verzweifeln. Hat jemand eine Idee? (Device: > PIC18F87K90) Hast Du Dich an die empfohlene Beschaltung aus dem Datenblatt Figure 2-1 (Recommended Minimum Connection) gehalten? Hast Du wie in Figure 2-2 den Kondensator C1 während des Programmierens abgeklemmt? Ich lasse ihn meist ganz weg. Kondensatoren an !MCLR würden nämlich die Aktivierungssequenz stören. Schau ins ICD3 User Guide... http://www.microchip.com/Microchip.WWW.SecureSoftwareList/secsoftwaredownload.aspx?device=en537580&lang=en&ReturnURL=http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en537580# ... und achte auf Figure 2-4 und Figure 2-5. Auf !MCLR, PGC und PGD darf NICHTS weiter hängen. Dann sollte zumindest das Programmieren und Debuggen funktionieren. fchk
erstmal vielen Dank an euch drei! zumindest hab ich heut wieder ein wenig motivation :) Also: Das mit dem Ausgangstreiber versteh ich nicht so ganz. Ich hab auf dem einen board alle anderen ICS unter gelassen nur der PIC, die RESET beschaltung (pullup) und ein paar Kondensatoren+Spannungsversorgung. Die Spannung hab ich eben gemessen, liegt stabiel bei 3,2V. Laut oszi sehr sauber. Heute konnte ich noch überhaupt nicht auf den PIC zugreifen. PICKIT Programmer Software sagt immer Unknowen device detectet (das hatt ich im MLLAB auch oft. Dass er die ID FFE0h oder so findet statt der Richtigen. er hat aber auch schon im MPLAB sowie im PICKIT die richtige ID gefunden) ich hatte erst gedacht das mit dem RESET ist ein Leiterplattenproblem und hab kurzerhand die Leiterbahnen unterborchen und separat ein Fädeldreht zum RESET gezogen. Danach jedoch das gleiche. An die minimal Beschaltung hab ich mich nicht 100% gehalten. hab direkt an den Versorgungs-Pins die Kondensatoren vergessen (nur an einem GND-VCC Paar hab ich welche dran) mittlerweile hab ich dass noch provisorisch bei einem weiteren Paar gemacht. Aber sollte es daran liegen, wenn ich sonst nichts auf dem Board hab was Strom zieht und die Spannung sehr stabiel ist. kann ich desshlab das teil nicht Programmieren ? Hab mir shon überlegt wie ich die fehlenden zwei noch dran machen könnte aber das Teil ist einfach zu klein. -PGC und PGD sind nur mir dem Programmer verbunden und der MCLR Kondensaor ist nicht vorhanden. -bei dem zweiten board habe ich ja testweise MLCR deaktiviert im MPLAB Programm. Seit dem geht der Zugriff da überhaupt nicht mehr Ich verstehe langsam die Welt nicht mehr.
Johannes Strihle schrieb: > An die minimal Beschaltung hab ich mich nicht 100% gehalten. hab direkt > an den Versorgungs-Pins die Kondensatoren vergessen (nur an einem > GND-VCC Paar hab ich welche dran) mittlerweile hab ich dass noch > provisorisch bei einem weiteren Paar gemacht. Aber sollte es daran > liegen, wenn ich sonst nichts auf dem Board hab was Strom zieht und die > Spannung sehr stabiel ist. kann ich desshlab das teil nicht > Programmieren ? Hab mir shon überlegt wie ich die fehlenden zwei noch > dran machen könnte aber das Teil ist einfach zu klein. Microchip meint das mit den Kondensatoren wirklich ernst. Hast Du denn den 10u an VCAP dran? Der ist da auch nicht zum Spaß. Und ja, entweder Tantal oder besser noch keramisch X7R mit minimal 16V in 1206. Steht alles im Datenblatt. Dort steht auch: max 6mm Leiterbahnlänge zwischen Pins und Kondensatoren. Wer lesen kann, ist im Vorteil. ENVREG auf VCC setzen nicht vergessen! fchk
Die "Recommended Minimum Connection" ist nicht nur zum Spaß angegeben. Ich hatte in der Tat schon PIC Platinen welche ohne korrekte 100nF VCC-GND Beschaltung nicht funktioniert haben. Ob dies deine Fehlerursache ist, möglicherweise.
Okay. Ich habe nun noch einen 100nF dazwischen gemacht. Leider hat der zumindet keine Verbesserung gebracht. Ja den 10µF Hab ich bei einer von den beiden Platinen dran. bei der anderen hab ich den PIN ENVREG auf GND gelegt und VCAP auf 3,3V. Dass sollte ja auch gehen. Ich hab jetzt meinen LA mal drangehängt und mein (leider noch analoges) Oszi. Der Reset wird auf ca 9V hochgezogen von dem Programmer, der Takt vom Programmer liegt auch an. Nur der Datenstrom kommt nicht rein. Wenn ich die Physikalsche Verbindung unterbrecht kommen Daten vom Pickit sobald die Verbindung zu dem PGD pin besteht, bleibt der Pin konstatnt auf High und macht garnix. - Komisch auch wenn ich den PGD-PIN direkt auf Ground ziehe mit nem 10kR bleibt er auf high. Eigentlich müsste der doch hochohmig sein. Wenn er nicht explizit auf "Ausgang" geschalten wurde.
Zwischendurch mal mit den früher üblichen 13Volt Vpp programmiert und den 9Volt Eingang zerstört?
Kann natürlich schon sein dass das mal Passiert is mit den 13 V. Aber das gleich bei 2 Platinen, glaub ich nicht. Ich achte normal schon drauf dass ich immer den richtigen chip auswähle aber wenn das Pikkit beim Programmstart nach nem IC sucht und des falsche angeschlossen ist kann man sowas schlecht vermeiden (ob das Pickit das macht weiss ich nicht). Das ganze wird immer skurrieler. Ich hab nun 25x nacheinander ohne probleme das Teil auslesen können (Mit dem pickit zwischendurch an der platine rumgespielt, um zu sehen ob wirgendwo n Wacklelkontkt ist, hat alles problemlos funktioniert). Dann hab ich das ICD3 dran gemacht und hab durch den code steppen können. Danach mit Pickit nochmals 5x ausgelesen (ohne Probleme). Dann nochmals "Read" geklickt und kommt wieder ein fehler "No device detected". Hab die Platine zwischenzeitlich nicht berührt sonder nur auf Read geklickt. seit dem geht wieder nix....sowas hatt ich noch nie. Und ich hab die PICs schon öfter eingesetzt. Hat noch jemand ne blöde Idee für mich (mittlerweile probier ich selbst die sinnlosesten Dinge) ?
zwei der warscheinlichsten Ursachen sind nach meiner Meinung ein Fehler im Boadlayout oder Elktrostatische Entladung. Letzteres hat mich diesen Winter durch Blödheit zwei PICs und ein PicKit3 gekostet. mfG Michael P.S. Zeig doch mal Deine Beschaltung.
Hi, hast Du denn auch die LVP (Low voltage programming) in den Config Bits deaktiviert ? Hatte die mal aus versehen dran, dann lief der Pic exterm unstabiel, er schaltete alt zeitweise von selbst in den Programmiermodus... Mein Pic war der 18F4620. Gruß Dirk
Hi, normalerweise sollte das echt kein problem sein. Im Datenblatt an entsprechender Stelle die minimal Beschaltung raussuchen, genauso anschließen wie es da steht. Danach Config Helpfile im Microchip Ordner auf deiner Festplatte die entsprechende Config Datei raussuchen, im C File dann die Config Einstellungen vornehmen und leere main Programmieren (mit Endlosschleife). Nicht vergessen entsprechenden Pic Header einbinden, Compilieren, Brennen und laufen lassen. Für weiteres bräuchte man deine Beschaltung sowie dein C File zur genauen Fehlersuche, sofern ein Fehler vorliegt. Gruß
hmmm, an blöde Ideen soll es nicht mangeln,,... wenn das Auslesen des PIC's nicht funktioniert, also über den ICD3?!? wurde hier vieleicht ein zu langes Verbindungskabel zwischen ICD3 und PICkit eingesetzt ???? ... das sollte nicht zu lang sein ! hier kann es zu Leseproblemen kommen und es wird gerne übersehen und ich behaupte mal wenn es Probleme beim Auslesen gibt, dann gibt es auch Probleme beim Beschreiben... LG
1. Kann sein, dass der MCLR-PIN bei Deinem PIC multiplexed mit RA3 ist. Kann man in der Configure... => Configuration Bits einstellen. 2. Bist Du sicher, dass der Programmer richtig rum aufgesteckt ist ? PIN1 ist da wo der Pfeil am PickKit3 ist. Ist mir auch schon passiert, oder nicht das erste Loch erwischt.
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.