Hallo, irgendwie bin ich zu blöd. Versuche gerade zum erstenmal PIC16 zu programmieren komme aber nicht weit. Prob ist dass er mir im MPLAB sagt dass mein Target nicht angeschlossen ist, habe aber alles richtig gemacht. Zudem weiss ich nicht so ganz genau wie ich mit ICD2 ein Hex-File programmieren kann in den Flash. Kann mir vielleicht jemand helfen? Vielen Dank!
Wenn ich connecten möchte sagt er mir "invalis device id", und ich weiss nicht warum.
> Wenn ich connecten möchte sagt er mir "invalis device id", und ich weiss > nicht warum. ...weil a) ein anderer PIC in der Schaltung steckt als von MPLAB erwartet (kann man in MPLAB unter "Configure->Select Device..." prüfen und einstellen) ...oder b) der PIC aus irgendeinem Grund gar nicht erkannt wird (in diesem Fall wird als device ID 0x0000 zurückgegeben) > Prob ist dass er mir im MPLAB sagt dass mein Target nicht angeschlossen > ist, habe aber alles richtig gemacht natürlich... Schaltplan? Foto vom Aufbau?
ICD0161: Verify failed (MemType = Program, Address = 0x0, Expected Val = 0x118A, Val Read = 0x0) ICD0275: Programming failed. das kommt raus und ich weiss nicht warum, bitte um hilfe.
Ist die Betriebsspannung Vdd vorhanden? Arbeitet der Oszillator? Ansonsten wäre es besser Du könntest Deine Schaltung posten. Alles andere läuft aufs Raten hinaus.
Kannst du an OSC2 die Oszillatorfrequenz messen? Vorausgesetzt Du arbeitst mit einem Quarz. Arbeitest Du mit einem externem Oscillator muß du an OSC1 die Taktfrequenz messen können.
Wenn Du mit einem Quarz arbeitest, und an OSC2 die Taktfrequenz nicht messen kannst, dann ist eventuell Dein interner Oscillator falsch konfiguriert. Ansonsten muß ich jetzt aufhören. Ich schaue morgen nochmal vorbei.
> Kannst du an OSC2 die Oszillatorfrequenz messen? Vorausgesetzt Du > arbeitst mit einem Quarz. Ist fürs Programmieren des Chips nicht relevant. > Schaltung kann ich nicht zur verfügung stellen. Na dann viel Glück noch beim Suchen :-D und tschüss.
wenn er den schaltplan oder zumindest den µCn teil davon nicht zeigen will sollers doch selber herausfinden.
Hi, A. schrieb: > wenn er den schaltplan oder zumindest den µCn teil davon nicht zeigen > will sollers doch selber herausfinden. Kann aber auch einfach sein das er die genaue Schaltung gar nicht kennt... (Demoboard - Anfänger?) Wobei ohne wird es schwer! Hier mal die Standartfragen: Ist die Schaltung ICSP Kompatibel aufgebaut? Also der Pin für !RESET nicht verwendet oder falls er als !reset Pin benutzt ist dieser mit einem sehr hochohmigen Widerstand (ca.10K oder mehr) mit +Ub verbunden. Die verbindung mit ICSP Pin 1 muss direkt sein? Die Sicherstellen das die Pins RB6 und RB7 in deiner Schaltung nicht benutzt werden, oder wenn doch zumindest ein größerer Widerstand die Brücke zur Restlichen Schaltungswelt darstellt. Sind diese Dinge nicht erfüllt wird ICSP fast sicher scheitern. Versorgst du die Schaltung während des Proggens mit 5V? Wenn nein, dann probiere das. Falls ja: Überprüfe ob die Schaltung gegen Rückspeisung durch den ICD2 geschützt ist und aktiviere für den Fall das sie es ist in MPLAB die Option: Power Target from ICD (Falls du mit Prog-Sockel programmierst muss das auch aktiviert sein.) Falls du die Schaltung Rückspeisefähig aufbauen willst, so sollte die Verbindung für MCLR und Ub des Pics mit dem Rest der schaltung über Dioden geführt werden. Sollte all dies nicht fruchten, so hilft nur "Pic ziehen" und im Sockel proggen! All diese Hinweise sind aber auch in den Datenblättern und AP-Notes von µC aufgeführt! Gruß Carsten
Bei dem 16F690 liegen die ICSP-Pins IMHO nicht an PB7 und PB6. Aber wenn die ID nicht ausgelesen werden kann ist etwas falsch angeschlossen. Der Fehler liegt nicht an der Software oder am ICD2 !
Hallo also ich habe alles hardwaretechnisch nachgemessen und alle signale liegen an dem PIC an. Also das Protokoll was da rauskommt und auch reset signal ist wirklich alles da. Das ist halt eine festeapplikation mir schon geflashter software. Kann es sein dass dort irgendwie die configurations bits so gesetzt sind dass ich ihn nicht pogrammieren kann? Sprich er weigert sich mit mir zu unterhalten? Kann ich die configurations bits irgendwie auslesen? oder den PIC so löschen dass ich ihn wieder beschreiben kann? Bei Atmels ist es ja möglich durch High Voltage Progeramming.
wir helfen dir gerne - nur: - Welche Programmiersprache ASM oder C? - welches Board? - welcher Programmer? Selbstbau ? - hex.file bitte posten? - HVP oder LVP? - ICSP oder nicht? - wenn ICSP welche Pullups? - Resetschaltung ?! Ja Configbits kann man immer lesen. Ja man kann den PIC auch immer löschen. Nur das Auslesen kann verhindert werden aber selbst dann kann man noch löschen. Ein Nicht-Mehr-Programmier-Confit-Bit gibt's nicht. giggi schrieb: > Hallo also ich habe alles hardwaretechnisch nachgemessen und alle > signale liegen an dem PIC an. > Also das Protokoll was da rauskommt und auch reset signal ist wirklich > alles da. Wie ? Logicanalyzer oder Oszi ?
Die Konfigurationsbits haben keinen Einfluß auf die Programmierbarkeit des PIC's. Es könnte höchstens Probleme beim Auslesen des PIC's kommen, wenn die Codeprotectionbits gesetzt sind. Außerdem ist jede Aktion unmöglich solange der PIC nicht erkannt wird. Ohne Schaltung oder Schaltungsauszug (Mikrocontroller mit Programmierinterface) fällt mir zu dem bereits Gesagten erstmal nichts weiter ein. Ich denke das Beste ist, Du wendest Dich an den Support von Microchip! Die Telefonnummer von Microchip Deutschland in München ist: Tel: +49 - 89 - 62 71 44 - 100 http://www.aufzu.de/semi/microchip.html
Hallo, ich danke euch für eure hilfe. die Schaltung und HEX file kann ich nicht zur verfügung stellen. Da dieser PIC schon programmiert wurde, besteht eine vollständige und korrekte hardware. Ich habe jetzt einen anderen leeren PIC genommen und die Protokolle verglichen die beim connecten entstehen. Beim leeren PIC wird die Reset leitung auf 13V mit 3 pulsen aktiviert und nach kurzer zeit kommt ein puls der zuerst auf 5V geht und anschliessend ohne auf 0V zu gehen auf 13V gezogen wird und wieder auf 0V. Die Daten und Clock Leitung tun nichts und der PIC connectet sich wie es sein soll. Bei dem beschriebenen PIC ist es so, dass die Reset Leitung auf 2,5V mit zwei längeren Impulsen gezogen wird, gleichzeitig entsteht ein Puls von 650mV auf der Daten- und der Clock-Leitung. Meine Frage, ist der PIC jetzt intern versperrt? ist es möglich in wieder zum Laufen zu bringen?
gemessen habe ich das ganze mit einem oszi, leider kann ich keine screenshots machen.
Sebastian Hepp schrieb: > Mal ne ganz Blöde Vermutung: Ist es vielleicht ein OTP Device? Ja, ganz blöde. (--> Device == 16F690) @giggi Hast du den anderen leeren PIC in die gleiche Schaltung gesteckt und dort programmiert? Wo sind die Antworten auf die vielen sinnvollen Fragen!? Irgendwelche verbalen Beschreibungen deiner Oszi-Bilder helfen uns nicht weiter, falls wir dir wirklich weiterhelfen sollen. Ohne Schaltung hilft ein Oszi-Bild genau so viel wie der Blick in die berühmte "Glaskugel". Und wenn du uns schon nicht die ganze Schaltung zeigen willst, dann wenigstens den für das Problem relevanten Teil, also Versorgungsspannung + PIC + ICSP, selbstverständlich mit der vollständigen Beschaltung der relevanten Pins (alle Vdd und Vss, MCLR, ICSPCLK und ICSPDAT).
Hi, giggi schrieb: > Bei dem beschriebenen PIC ist es so, dass die Reset Leitung auf 2,5V mit > > zwei längeren Impulsen gezogen wird, gleichzeitig entsteht ein Puls von > > 650mV auf der Daten- und der Clock-Leitung. > > Meine Frage, ist der PIC jetzt intern versperrt? ist es möglich in > > wieder zum Laufen zu bringen? Der Pic KANN nicht intern versperrt werden. KEINE CHANCE! Nur das auslesen kann man verhindern, in dem Fall muss der Pic komplett gelöscht werden... Aber: Der !MCLR MUSS auf +13V gezogen werden damit überhaupt ein Kontakt aufgebaut werden kann. Dies wird wohl durch die Peripherie des Pics verhindert! (OK, es gibt den LV modus, aber den Modus wirst du ja nicht gewecjselt haben) ICh kann mich nur wiederholen! Ich schrieb : >Hier mal die Standartfragen: >Ist die Schaltung ICSP Kompatibel aufgebaut? Also der Pin für !RESET >nicht verwendet oder falls er als !reset Pin benutzt ist dieser mit >einem sehr hochohmigen Widerstand (ca.10K oder mehr) mit +Ub verbunden. >Die verbindung mit ICSP Pin 1 muss direkt sein? > >Die Sicherstellen das die Pins RB6 und RB7 in deiner Schaltung nicht >benutzt werden, oder wenn doch zumindest ein größerer Widerstand die >Brücke zur Restlichen Schaltungswelt darstellt. > Ok zwischenzeitlich kam der Einwand das die ICSP Pins bei diesem Pic an anderen Pins anliegen, der rest ist aber korrekt. Und da wird der Hund begraben liegen, deine Schaltung ist NICHT ICSP kompatibel! Mal eine Frage: Du schreibst, das du einen Leeren Pic und den beschriebenen verglichen hast... Hast du den leeren in exakt die Schaltung eingesetzt in der der beschriebene auch sitzt. (gesockelt?). Dann ist zu vermuten das der Pic während des Programmablaufs die Schaltung in einem Zustand bringt die das auslesen durch herunterziehen von Vpp verhindert (wahrscheinlich nur die Folge von irgendetwas und NICHT der eigendliche Sinn der Sache) In dem Fall solltest du einfach einen "normalen" Sockel nehmen und diesen als Prog-Sockel beschalten. Dann sollte es klappen. Ist es nicht so gewesen das du das in der selben Schaltung getestet hast, dann wird die Ursache trotzdem identisch sein, nur das dieses Problem Statisch bestehen könnte. Ist der PIC nicht gesockelt, dann würde ich versuchen den !MCLR des Pics vom Rest der Schaltung zu TRENNEN und direkt mit dem ICSP Port zu verbinden. Ebendso kommt natürlich ZUSÄTZLICH noch eine störende Beschaltung von PGC und PGD in Betracht! Gruß Carsten
Schließe mal den Quarz in der fertigen Schaltung kurz. Ich habe schon solche Probleme erlebt wenn der Brenner MCLR nicht schnell genug in den Prog-Modus bringt. Dann läuft das interne Programm des PIC los und nix ist mit programmieren. Zu diesem Problem gibt es auch irgendwo eine App Note. Torsten
Hallo, so jetzt habe ich ein Bild mit der Beschaltung angehängt. Die Wege sind kurz gehalten und es fliessen keine hohen Ströme also keine EMV Störung! Zum Programmer hhabe ich schon geschrieben also ICD2 Zum Baord, es ist eine bestimmte Applikation die einen festeingelöteten PIC hat, man kann da sonst nichts tun. Draf befindet sich schon ein Programm. Da wie ich schon beschrieben habe an dem Reset Pin 13V anliegen wird hier eine HV Programmierung gemacht. Das File ist Hex welches ich aus rechlichen Gründen nicht reinstellen darf. Braucht man aber auch nicht da ich schon beim Connecten scheitere. Quarz ist der interne. Protokoll was ich mit Oszi gemessen habe ist hier als Bild angehängt.
Schau mal hier unter Target Circuit Design Considerations: > No capacitors on MCLR – they will prevent fast transitions of VPP. http://ww1.microchip.com/downloads/en/DeviceDoc/51265e.pdf Gruß Flo
Du machst ein externes Power-On Reset, das verträgt sich so nicht mit ICSP. Da muss noch eine Diode in die Verbindung vom R-C zum MCLR. Guckst du hier in Kapitel 28 Abschnitt 3: http://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf
Hallo, ja das mit dem Kondensator habe ich mir auch zuerst so gedacht jedoch ist da ein 10nF eingebaut und in den Notes von Microchip steht dass es ein Kondesator 100nF oder kleiner sein darf.
giggi schrieb: > Hallo, ja das mit dem Kondensator habe ich mir auch zuerst so gedacht > jedoch ist da ein 10nF eingebaut und in den Notes von Microchip steht > dass es ein Kondesator 100nF oder kleiner sein darf. 1. Hast du die Diode nachgerüstet? 2. Ein C mit "104" (deine Skizze) sind für mich erst mal 100nF.
Und falls Dein Stecker, rechts unten, eine direkte Verbindung zum ICD ist, dann sind PGC und PGD vertauscht: 1 Vpp 2 Vdd 3 GND 4 PGD 5 PGC
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.