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.
...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.
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?
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.
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.