PIC16 and ICD2 Programmier-Probs

Gast #1756687
Lesenswert?

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!
Gast #1756723
Lesenswert?

> 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?
Gast #1756753
Lesenswert?

> 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.
#1757033
Lesenswert?

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
Gast #1757057
Lesenswert?

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 !
Gast #1757969
Lesenswert?

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.
#1758001
Lesenswert?

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 ?
#1758004
Lesenswert?

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
Gast #1758816
Lesenswert?

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?
#1759287
Lesenswert?

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).
Gast #1759317
Lesenswert?

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
Gast #1760217
Lesenswert?

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.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren