Forum: Mikrocontroller und Digitale Elektronik PICkit3 und MPLAB X Connection failed


von Sascha T. (ernie1973)


Lesenswert?

Hallo Zusammen,

ich habe mir gerade das aktuelle MPLB X 2.10 auf einem Windows 8.1 64 
Bit System installiert und möchte einen PIC 16F616 programmieren.

Da mein letztes PIC Projekt schon einige Jahre zurückliegt und ich 
normlerweise Atmel programmiere stolpere ich hier direkt über den 
Verbindungsaufbau...

Der PICkit wird mit der Seriennummer sowohl in der IDE als auch in der 
IPE angezeigt. Die Status LED ist allerdings rot und beim 
Verbindungsversuch bekomme ich immer die Fehlermeldung Connection 
failed.

Ich würde nun gerne wissen, ob der Fehler in der Verbindung PC -> PICkit 
oder PICkit -> Target zu suchen ist.

Müsste die IDE oder IPE nicht zumindest eine Verbindung zum PICkit 
aufbauen und dann eine Fehlermeldung erzeugen, falls das Target nicht 
korrekt angeschlossen ist oder funktioniert das Ganze nur wenn der 
komplette Verbindungsweg steht?

Ist es normal, dass der PICkit im Gerätemanager als HID konformes Gerät 
angezeigt wird?

Vielen Dank im voraus.

Gruß,

Ernie

von Max H. (hartl192)


Lesenswert?

Pickit - PC.
Veruch mal das Pk3 anzuschließen bevor du X IDE öffnest. Ich hatte das 
Problem auch mal und bin deshalb bei der IDE ohne X geblieben. Als ich 
es ca. ein Monat später erneut versucht habe war das Problem weg...

von No Y. (noy)


Lesenswert?

Nein liegt an Windows 8.

Ist ein bekanntes Problem. Da der Treiber des Pickit nicht von Microsoft 
zertifiziert ist...

Musst ma bissel googlen...

Das Blöde ist die Treiber Zertifizierung lässt sich soweit ich  weiß nur 
abschalten indem man in Windows 8 bootet. Dann da bissel zaubert und 
neustartet. Dann ist die deaktiviert nach dem neu start.

Beim nächsten Start aber wieder an. Also jedesmal starten neustarten...

Ging mir zu doll aufn Sack und bin zurück zu Windows 7 bzw. Mach das 
meiste eh unter Linux mittlerweile..

von Max H. (hartl192)


Lesenswert?

Bei meinem Win8.1 geht as komplett ohne Magie.

von No Y. (noy)


Lesenswert?

Hast du 64bit? Max?

Ich hatte es damals. Vielleicht ist da noch ein unterschied...


Ich hatte jedenfalls das selbe Problem und das, was ich dazu gefunden 
habe war diese Treiber Zertifizierung ausschalten..

von Max H. (hartl192)


Lesenswert?

Ja, Win8.1 64bit

von No Y. (noy)


Lesenswert?

Hm interessant...

Naja Linux läuft auch alles ;-)

von Max H. (hartl192)


Lesenswert?

An dem Treiber glaub ich lag's nicht. Mit MPLAB IDE ohne X hat das PK3 
seit ich den Win8 PC gekauft habe problemlos funktioniert... Vllt. war 
es auch nur ein Bedienungsfehler der X IDE.

von Frank K. (fchk)


Lesenswert?

Max H. schrieb:
> An dem Treiber glaub ich lag's nicht. Mit MPLAB IDE ohne X hat das PK3
> seit ich den Win8 PC gekauft habe problemlos funktioniert... Vllt. war
> es auch nur ein Bedienungsfehler der X IDE.

MPLABX verwendet andere Treiber als MPLAB. Ich kann mich daran erinnern, 
dass es einen Driver Switcher gibts bzw gab, mit dem man die Treiber 
wechselseitig aktivieren kann.

Vielleicht kommen sich bei Dir die Treiber in die Quere. Putze mal das 
gesamte MPLAB sauber vom System inkl aller Treiber. Eventuell hilft es, 
MPLAB und MPLABX in getrennten VMs unter VirtualBox zu betreiben.

fchk

von Sascha T. (ernie1973)


Lesenswert?

Vielen Dank schonmal für die Hinweise.

Ich hatte bisher nur MPLAB X auf dem System installiert. Zuerst die 
Version 2.05, wo ich dann von Problemen mit dem PICkit gelesen habe und 
dann die Version 2.10, bei welcher ich auch nach dem Start einmalig eine 
Verbindung hatte und dann nie wieder.

Kann ich den Treiber denn manuell installieren, wenn ich die 
Treibersignaturerkennung deaktiviert habe und falls ja wo finde ich den 
Treiber?

Wie wird das PICkit denn bei Euch im Geräte Manager angezeigt?

: Bearbeitet durch User
von Sascha T. (ernie1973)


Lesenswert?

Gestern habe ich mir noch den PICkit 2 bestellt. Der ist gerade 
angekommen -> angeschlossen -> programmiert -> fertig.

Ist ja auch 'ne Lösung! Die PICkit 3 landen dann erstmal im Schrank.

Vielen Dank für die Unterstützung!

von Max H. (hartl192)


Lesenswert?

Ich hatte heute auch wieder mal das Problem :-(
Meine Lösung: PICkit 3 Stand Alone Programmer App v1.0
http://www.microchip.com/pagehandler/en-us/devtools/dev-tools-parts.html
Man kann im Programm die HEX importieren, und sie wird jedes man 
automatische geflasht, wenn sie sich ändert...

: Bearbeitet durch User
von Chris B. (dekatz)


Lesenswert?

Sascha T. schrieb:
> Kann ich den Treiber denn manuell installieren, wenn ich die
> Treibersignaturerkennung deaktiviert habe und falls ja wo finde ich den
> Treiber?
> Wie wird das PICkit denn bei Euch im Geräte Manager angezeigt?

PICKIT2 und PICKIT3 benötigen keinen eigenen Treiber, das ist der 
Standardtreiber hidusb.sys. Dein Problem kommt also von woanders her.

Auch der "Driver switcher" hilft da nicht weiter da dieser für den ICD3 
ist.

von Max H. (hartl192)


Lesenswert?

Ich melde mich, weil ich das Problem heute gestern habe:
Ich habe die Treiber Signatur deaktiviert [1] und MPLAB X IDE 2.10 neu 
Installiert. Seit dem habe ich keine Probleme mehr, auch nicht nach 
einem Neustart.

[1] 
http://code-bude.net/2012/11/17/windows-8-unsignierte-treiber-installieren/

von Andreas F. (finki79)


Lesenswert?

Hallo,

hatte heute das selbe Problem, und bin über die Google Suche hierher 
gekommen.
Und auch wenn der Forumeintrag schon etwas älter ist will ich meine 
Erfahrung mitteilen, vielleicht hilft es jemandem.

Habe Win 8.1 Pro 64bit; Mplab x 2.35; PcKit3

bisher lief eigentlich alles bestens, nur seit gestern hatte ich das 
Problem das nach dem Compilieren das Programmieren nicht mehr ging.
Fehler: connection failed

Das Problem, wieso auch immer, war ein neues Programm das ich 
installiert hatte. BlueStacks (virtuelles Android System).
Wenn dies aktiv war konnte ich nicht programmieren, nur beenden half 
auch nix.
Windows neu gestartet und Finger von BlueStacks gelassen und ich konnte 
wieder programmieren.

Also wird es ggf. bei anderen Usern ein ähnliches Problem sein?

Hatte dabei aber auch einen Eintrag im Internet gefunden, dass es helfen 
soll Mplab X als Administrator auszuführen.

Hierbei hat sich bei mir jedoch ein anderes Problem aufgetan. Mein 
Projekt liegt auf einem Netzlaufwerk. Über den normalen Windows Explorer 
kann ich auch drauf zugreifen. MPlab X hat mir die Laufwerke jedoch 
nicht angezeigt.

Hatte diese Problem schon jemand??

von Volker S. (vloki)


Lesenswert?

Das Problem liegt meiner Erfahrung nach an einer für neuere Win 
Versionen nicht kompatiblen Firmware des PK3 (die älter als die Win 
Version ist).
Da wurde wohl unter Win etwas am Zugriff auf HID geändert...

Nach Update auf neuere Firmware (zB. an einem Rechner mit Linux oder an 
einem älteren Win mit aktuellem MPLABX) läuft es bei mir immer.


Andreas F. schrieb:
> Mein
> Projekt liegt auf einem Netzlaufwerk. Über den normalen Windows Explorer
> kann ich auch drauf zugreifen. MPlab X hat mir die Laufwerke jedoch
> nicht angezeigt.

Sind die Laufwerke gemappt? (haben einen Laufwerksbuchstaben zugeordnet)
Sind die das auch noch unter dem Admin Account?
Wenn nicht, dann lass das besser sein!

PS: du meinst sicher MPLABX 3.15, oder?

: Bearbeitet durch User
von Andreas F. (finki79)


Lesenswert?

Volker S. schrieb:
> Sind die Laufwerke gemappt? (haben einen Laufwerksbuchstaben zugeordnet)
> Sind die das auch noch unter dem Admin Account?
> Wenn nicht, dann lass das besser sein!
>
> PS: du meinst sicher MPLABX 3.15, oder?

öhm .. ne habe MPLABX 2.35 intalliert, frag mich jetzt aber bitte nicht 
warum die alte Version ... werde bei Gelegenheit mal die neue 
installieren.

Ja Laufwerke sind gemappt (also haben einen Laufwerksbuchstaben)
bin auch mit meinem normalen Benutzerkonto angemeldet, welches 
eigentlich sowieso Admin Rechte hat. Aber man kann ja auch dem Shortcut 
mit der rechten Maustaste "ausführen als Administrator" wählen. Dann 
startet MPLABX ohne geladene Projekte und zeigt mir eben die 
Netzlaufwerke nicht an.
Wenn ich dann MPLABX wieder normal starte sind meine Projekte vorhanden.
Ohne Win neustart oder Benutzwechsel.

Aber an sich egal ... läuft ja ohne BlueStacks normal ...
Dachte vielleicht hat jemand eine Idee, dann hätte ich mal probiert ob 
ich MPLABX als Admin parallel zu BlueStacks laufen lassen kann.
Wenn nicht dann eben nicht ;-)

von Jürgen S. (xsusakamei)


Angehängte Dateien:

Lesenswert?

Hallo MPLAB X und PicKit3 User,

ich habe das gleiche Problem!
Ich nutze ansonsten den PICkit 3 v3.10 Programmer. Der einwandfrei mit 
meinem Projekt funktioniert. Ich nutze Windows 7 x64 Ultimate.

Heute habe ich mir die MPLAB X IDE V3.20 (vorher V3.15) und das 
dazugehörige IPE V3.20 installiert. Beim Verbindungsversuch mit IPE 
konnte dieses keine Verbindung aufbauen. Auch die Möglichkeit mit dem 
PK3 Programmer die Firmware für die MPLAB Funktionalität aufzuspielen 
habe ich probiert - ohne Erfolg. Also trotz des MPLAB OSses für das PK3 
ist es mir nicht gelungen eine Verbindung über IPE zum PK3 aufzubauen.

Als ich dann im Internet div. Foren durchstöbert hatte, habe ich 
versucht direkt in MPLAB X eine Programmierung bzw. erst einmal das 
Auslesen des PICs durchzuführen. Hierbei hat MPLAB X dann gemeint er 
würde eine neue Firmwareversion (V1.40.13 für PIC18F) aufspielen (diese 
Version habe ich übrigens nirgendwo zum direkten Download auf der 
Microchip Homepage gefunden, um nicht immer MPLAB X bemühen zu 
müssen!!). Und siehe da, das PK3 wurde plötzlich von MPLAB X sowie auch 
von IPE erkannt.

Tja, die Freude währte nur kurz, da es mir nicht gelang (und nicht 
gelingt) weder den PIC zu löschen noch ein HEX-File auf mein PIC zu 
transferieren. Er versucht es zwar erkennt aber den PIC-Type nicht. Eine 
Ursache könnte sein, dass man unter IPE den High Voltage Modus an MCLR 
nicht aktivieren kann (zumindest nicht bei mir - siehe Bild). Keine 
Ahnung warum - dies ging aber schon von Anfang an nicht (in jeder IPE 
Version die ich getestet habe).

Vielleicht hat jemand von Euch eine Idee ... .

Gruß
Jürgen

von Volker S. (vloki)


Lesenswert?

Waren IPE und IDE gleichzeitig gestartet?

Programmierst du immer wieder Controller mit einem schon fertigen 
hex-File, oder wofür brauchst du IPE?

von silent (Gast)


Lesenswert?

Halte mal die reset taste beim anstecken gedrückt, damit das pickit im 
bootloader mode startet - dann sollte mplab x wieder damit reden können

von Teo D. (teoderix)


Lesenswert?

Jürgen S. schrieb:
> Eine
> Ursache könnte sein, dass man unter IPE den High Voltage Modus an MCLR
> nicht aktivieren kann (zumindest nicht bei mir - siehe Bild). Keine
> Ahnung warum - dies ging aber schon von Anfang an nicht (in jeder IPE
> Version die ich getestet habe).

Ja das is ne lustige Sache.
Das lässt sich alles nur im MPLAB einstellen :(
zB: Auch die Stromversorgung über den PicKit.

von Volker S. (vloki)


Lesenswert?

Teo D. schrieb:
> Das lässt sich alles nur im MPLAB einstellen :(
> zB: Auch die Stromversorgung über den PicKit.

Settings -> Advanced Mode
http://microchip.wikidot.com/ipe:advanced-mode-options

von Jan L. (ranzcopter)


Lesenswert?


von Volker S. (vloki)


Lesenswert?

Jan L. schrieb:
> ..siehe auch
> http://www.eevblog.com/2016/01/19/eevblog-841-micr...

Sieht irgendwie so aus, als würde die Möglichkeit, dass das PICKIT eine 
nicht kompatible Firmware haben könnte (die spezielle für PK3 
programmer) von der neuen Version der IDE nicht mehr 
berücksichtigt/detektiert ...

Wenn es so wäre, dann wäre das irgendwie schon verständlich. Man kann ja 
nicht ewig die alten Kamellen mitschleifen.

: Bearbeitet durch User
von Jürgen S. (xsusakamei)


Lesenswert?

Danke für die schnelle Antwort!

@Volker SK: IPE und IDE waren gleichzeitig gestartet. Wenn ich IPE 
alleine betreibe funktionierts aber auch nicht - Du scheinst aber schon 
recht zu haben mit der Vermutung das man beide nicht parallel laufen 
lassen kann. Das Programmieren aus der IDE heraus funktioniert mit MPLAB 
X bei mir überhaupt nicht (und ging auch noch nie mit dem PK3!). Daher 
auch das PK3 Tool und jetzt versuche ich es eben über IPE. Zudem wird 
IPE weiterentwickelt und das PK3 Programmertool anscheinend nicht mehr 
großartig ... . Und ab und an kommt das schon vor, dass ich auch nur 
HEX-Files flashen will.

Advanced Mode -> http://microchip.wikidot.com/ipe:advanced-mode-options 
<- habe ich mnir angeschaut, konnte aber nichts verwertbares finden.

Ich habe ja nichts gegen diese Firmware Update Prozedur. Nur 
funktionieren sollte es doch, oder nicht? Es ist doch auch so, dass das 
PK3 doch offiziell von MPLAB X unterstützt wird. Wieso funktioniert es 
dann nicht? Klar, man kann auch ~200.-€ für ein ICD 3 ausgeben, aber ob 
das dann wirklich besser läuft wenn es mit dem PK3 schon soviel Probleme 
gibt? Ich weiß nicht ... . Die Probleme sind doch von Microchip selbst 
gemacht, dann sollten die diese erstmal aus der Welt schaffen.

@silent: Wie geschrieben, die Kommunikation mit dem PK3 über MPLAB X 
funktioniert ja(nach deiner Prozedur und anschließendem neuen Aufspielen 
der FW über MPLAB oder auch IPE). Das Programmieren und Auslesen "nur" 
nicht. Ich nutze übrigens die Spannungsversorung(5V) von meiner Platine 
und natürlich auch HV an MCLR!

@Teo Derix: Das stimmt so nicht. Unter IPE und auch dem PK3 Tool hat man 
sehr wohl die Möglichkeit einzustellen welche Spannung man nutzen 
möchte(sofern man die Schaltung über das PK3 versorgen will), auch kann 
man wählen ob diese vom Programmer oder dem Board bereitgestellt wird. 
In IPE muss man dazu allerdings unter "Settings" den "Advanced Modus" 
aktivieren.

@ Jan L.: Ich habe mir das Video angeschaut. Die ganze Prozedur habe ich 
auch schon hinter mir. Am Ende hat er das Problem welches ich jetzt noch 
habe: "Target Device ID (0x0)does not match ...". Er schreibt, dass das 
Problem an der Spannungsversorgung gelegen hat und das es jetzt 
einwandfrei funktioniert - ein Beweis dafür gibt er allerdings nicht! 
Denn wenn man den 0x0 Hinweis bestätigt liest er auch ein (beim Beispiel 
"Read"), allerdings liest er keine Daten ein. Programmieren funktioniert 
nicht. Beim Löschen sagt er auch, dass alles ok ist. Ein Blanktest zeigt 
jedoch, dass dem nicht so ist.

Gruß
Jürgen

von Volker S. (vloki)


Lesenswert?

@Jürgen Sch.
Der Link zum Wiki war für TeoDerix, weil der, wie du ja auch geschrieben 
hast, meinte dass man die Spannung nicht wählen kann...

Mit dem Programmieren aus MPLAB-X hatte ich noch nie Probleme.
Ich habe hier an der Hochschule so ca. 60-70 PICKIT3 und eigentlich 
funktionieren die ganz gut.
Meistens werden sie natürlich aus MPLAB-X als Debugger benutzt und nur 
selten als Programmer (obwohl die Studierenden ...).
IPE benutze ich eher selten. Soweit aber keine großen Probleme. Das 
"alte" stand-alone Programmiertool habe ich ehrlich gesagt noch nie 
benutzt. (nur das für das PK2)

Wenn bei einem PK3 wirklich mal gar nichts mehr geht dann lese ich mit 
IPE ein funktionsfähiges PK3 aus und schreibe das "spinnende" neu. Das 
hat bisher immer (also ~ zwei mal) geholfen.

Möglicherweise ist ja etwas schief gelaufen weil du ein PK3 mit der 
Firmware für die Programmer App an MPLAB-X betreiben wolltest.
(In den Release Notes steht ja was davon, dass man das zuerst wieder in 
den richtigen Mode zurückversetzen muss)

<edit> Was meinst du eigentlich mit "vorher v3.15"?
Hat es damit etwa noch funktioniert?

: Bearbeitet durch User
von Jürgen S. (xsusakamei)


Lesenswert?

Welche Controller programmierst Du denn mit dem PK3? Nutzt Du HV an MCLR 
oder LVP? Ich programmiere ein 18F4431 über HV. Über das PK3 
Programmiertool funktionierts ja auch tadellos. Und das PK3 wird ja auch 
erkannt (aus MPLAB X und IPE). Aber das Programmieren geht halt nicht 
(wie programmiert Ihr denn die Chips wenn Ihr das PK3 nur zum Debuggen 
braucht?).

Ich habe ja nur ein PK3 hier somit kann ich Deine Methode nicht 
anwenden. Aber spinnen tut das Teil ja aus meiner Sicht nicht. Ich bin 
mir sicher es liegt an der Firmware oder warum geht es im PK3-OS-Modus 
und im MPLAB Modus nicht?

Ich habe doch auch das PK3 über den Taster beim Einstecken wieder in den 
"normalen" Modus gesetzt. Danach hat IPE und MPLAB X ja auch die zu der 
MCU passenden FW geflasht. Soweit doch alles gut. Nur funktionieren tuts 
nicht ... . Flashe ich nun das PK3-OS kann ich auch ganz normal das 
PK3-Programmiertool nutzen und das funktioniert dann auch.

Ich wollte mit "vorher 3.15" nur sagen, dass ich MPLAB X vorher in der 
Version 3.15 installiert hatte(falls jemand diese Info benötigt). Damit 
hat es aber, wie ich bereits geschrieben habe, auch nicht funktioniert.

Ich kann mir schon gut vorstellen, dass es an der High Voltage 
Einstellung liegt, obwohl man ja LVP extra aktivieren muss. Ist LVP 
deaktiviert müsste doch HV an MCLR Standard sein?

Wo kann ich diese HV Einstellung denn in MPLAB X vornehmen (da gibts ja 
auch nur LVP)? Ich habe da nix gefunden.

Ich habe keine Ahnung!

Gruß
Jürgen

von Wutzefrickel (Gast)


Lesenswert?


von Jürgen S. (xsusakamei)


Lesenswert?

Hallo  Wutzefrickel,

der Thread bringt mich leider auch nicht weiter!

Gruß
Jürgen

von Volker S. (vloki)


Lesenswert?

Jürgen S. schrieb:
> Welche Controller programmierst Du denn mit dem PK3? Nutzt Du HV an MCLR
> oder LVP? Ich programmiere ein 18F4431 über HV. Über das PK3
> Programmiertool funktionierts ja auch tadellos. Und das PK3 wird ja auch
> erkannt (aus MPLAB X und IPE). Aber das Programmieren geht halt nicht
> (wie programmiert Ihr denn die Chips wenn Ihr das PK3 nur zum Debuggen
> braucht?).

Es ist ja nur sinnvoll in den Programmiermodus zu wechseln, wenn das 
Programm fertig ist. In der Ausbildung aber nicht mal dann, weil ja 
sofort die nächste Aufgabe ansteht ;-)
Bei Semesterprojekten und Abschlussarbeiten wird am Ende natürlich schon 
"programmiert", aber dann natürlich aus MPLAB heraus und nicht extra ein 
anderes Tool gestartet. Über den Modus macht sich da dann gar keiner 
Gedanken. Es wird einfach auf den anderen Knopf gedrückt...

Wir verwenden hauptsächlich PIC1825K22 für die Labore, aber auch schon 
mal 4431 wegen der simultanen Samplingfähigkeit für 2AD Kanäle. Sonst 
noch 18FxxK80 für CAN, alle 18F mit USB, die 16F145x für USB, 10F322 und 
noch einige andere.


> Ich habe doch auch das PK3 über den Taster beim Einstecken wieder in den
> "normalen" Modus gesetzt. Danach hat IPE und MPLAB X ja auch die zu der
> MCU passenden FW geflasht.
Das habe ich rein aus Interesse auch mal probiert. Dann wurde gar nichts 
am Bus erkannt :-(


> Flashe ich nun das PK3-OS kann ich auch ganz normal das
> PK3-Programmiertool nutzen und das funktioniert dann auch.
Das mit dem Rückstellen im PK3-Programmiertool wie in den Releasse Notes 
dazu beschrieben funktioniert dann wohl nicht?


> Wo kann ich diese HV Einstellung denn in MPLAB X vornehmen (da gibts ja
> auch nur LVP)? Ich habe da nix gefunden.
So wie es aussieht (am Oszi) wird da immer HV Modus benutzt.

von Volker S. (vloki)


Lesenswert?

Na, anscheinend habe ich das PK3 Tool doch schon mal verwendet. Es ist 
zumindest auf meinem Rechner ;-)

Neugierig wie ich bin, musste ich das jetzt gleich mal ausprobieren.
Also gestartet, die "Spezialsoftware" runter geladen und irgend einen 
PIC gelesen.
Dann nicht zurückgestellt und mit MPLAB-X probiert. Sah zuerst ganz gut 
aus, aber das Programmieren war nicht möglich. Egal was ich für eine 
Spannung eingestellt habe, es kam immer die Meldung:

*****************************************************
The target circuit may require more power than the debug tool can 
provide. An external power supply might be necessary.
Connection Failed.
*****************************************************

Das gleiche Problem hatte ich letztens bei einem PK3 von einem 
Studenten, welches ich dann in meiner Verzweiflung einfach mit einem 
anderen PK neu programmiert habe. Jetzt weiß ich wie er das abgeschossen 
haben könnte ;-)

Das zurückstellen in den MPLAB-Mode hat jetzt bei mir aber auch ohne 
Probleme mit dem PK3 Tool funktioniert!

: Bearbeitet durch User
von Jürgen S. (xsusakamei)


Lesenswert?

Also nutzt Ihr auch die HV und nicht die LVP Programmiermethode? Oder 
beides?

Volker S. schrieb:
> Neugierig wie ich bin, musste ich das jetzt gleich mal ausprobieren.
> Also gestartet, die "Spezialsoftware" runter geladen und irgend einen
> PIC gelesen.
Ihr testet das also gar nicht alles am lebenden PIC aus? Wie öde ^^ ...

Du hast mich jetzt auch neugierig gemacht - und so habe ich das dann 
auch nochmal getestet. Das Rücksetzen über den Taster am PK3 
funktioniert. Allerdings musst Du danach die USB-Verbindung zum PK3 
nochmal trennen und neu anstecken! Erst dann reagiert das PK3 wieder 
(zumindest bei mir) und ist dann im MPLAB Mode. Das ganze funktioniert - 
sofern das PK3 im Programmer-Mode ist(also das 
OS(V2.00.05)=PK3OSV020005.hex aufgespielt ist) auch über das 
PK3-Programmiertool(V3.10). Hier ist kein Ab- und Anstecken des 
USB-Kabels nötig. Man kann direkt in MPLAB oder IPE damit 
weiterarbeiten.

Volker S. schrieb:
> Das mit dem Rückstellen im PK3-Programmiertool wie in den Release Notes
> dazu beschrieben funktioniert dann wohl nicht?
Doch - wie oben beschrieben. Hast Du ja auch später festgestellt.

In IPE lädt er dann auch direkt im MBPLAB Mode die benötigte Firmware 
auf das PK3. Für PIC18F ist das bei mir die Version 01.40.13.
Danach bekomme ich den gleichen Fehler beim Programmieren angezeigt wie 
Du.
1
PICkit 3 is trying to supply 5,000000 volts from the USB port, but
2
the target VDD is measured to be 4,500000 volts. This could be due to the
3
USB port power capabilities or the target circuitry affecting the measured VDD.
4
5
The target circuit may require more power than the debug tool can provide.
6
An external power supply might be necessary. Connection Failed.

Auch MPLAB X zeigt mir den gleichen Fehler! In beiden Fällen versorge 
ich meine Platine vom PK3(liegt also nicht an meiner Platine respektive 
dessen Spannungsversorgung). Mit dem PK3 Programmer funktionierts 
einwandfrei!!!

Volker S. schrieb:
> Das gleiche Problem hatte ich letztens bei einem PK3 von einem
> Studenten, welches ich dann in meiner Verzweiflung einfach mit einem
> anderen PK neu programmiert habe. Jetzt weiß ich wie er das abgeschossen
> haben könnte ;-)

Wie machst Du das denn? Und vor allem, welche HEX-Datei nutzt Du denn 
dafür? Ich habe zwar kein anderes PK3 hier, ein anderen ICSP-Programmer 
aber schon ;-)

von Volker S. (vloki)


Lesenswert?

Jürgen S. schrieb:
> Also nutzt Ihr auch die HV und nicht die LVP Programmiermethode? Oder
> beides?
Eigentlich nur HV


> Ihr testet das also gar nicht alles am lebenden PIC aus? Wie öde ^^ ...
Wie kommst du jetzt darauf? Natürlich nur am lebenden, aber eben im 
Debug-Mode -> 
http://www.hs-ulm.de/nocache/wir/Personal/PersonalSaSchr/vschilli/Mikrocontroller/


> Das ganze funktioniert - > sofern das PK3 im Programmer-Mode ist
> (also das OS(V2.00.05)=PK3OSV020005.hex aufgespielt ist) ...
Ja ist mir dann auch klar geworden, dass ich ja gar nicht das PK§-OS 
habe.


> [pre]PICkit 3 is trying to supply 5,000000 volts from the USB port, but
> the target VDD is measured to be 4,500000 volts. This could be due to
> the USB port power capabilities or the target circuitry affecting the
> measured VDD...
Das scheint normal zu sein. Das PICKIT packt es dann eben nicht ganz. 
Einfach eine geringere Spannung (4.5V) einstellen.


> Mit dem PK3 Programmer funktionierts einwandfrei!!!
Der toleriert vermutlich einfach nur mehr Abweichung oder fragt die 
Spannung gar nicht erst ab


> Wie machst Du das denn? Und vor allem, welche HEX-Datei nutzt Du denn
> dafür? Ich habe zwar kein anderes PK3 hier, ein anderen ICSP-Programmer
> aber schon ;-)
Wenn man es genau nimmt, dann brauche ich natürlich zwei 
funktionsfähige PK3 (also insgesamt 3).
Mit dem einen funktionsfähigen lese ich das andere funktionsfähige aus.
(Flachbandkabeladapter von den 2,54mm auf die 1,27mm 
Programmier-schnittstelle im PK3. Habe ich eh rum liegen.
Bin ja nicht so ein Looser wie Dave vom eevblog ;-)
Dann habe ich eine HEX-Datei. Die übertrage ich dann auf das defekte.
(In Zukunft werde ich natürlich erst mal mit dem PK3 Programmer Tool...)

: Bearbeitet durch User
von Jürgen S. (xsusakamei)


Lesenswert?

Volker S. schrieb:
> Wie kommst du jetzt darauf? Natürlich nur am lebenden, aber eben im
> Debug-Mode ->
> 
http://www.hs-ulm.de/nocache/wir/Personal/PersonalSaSchr/vschilli/Mikrocontroller/
Ok! Aber dafür muss man das Hexfile doch auch in den PIC flashen, der? 
(ich nutze den Debug Modus nicht).

Volker S. schrieb:
>> Das ganze funktioniert - > sofern das PK3 im Programmer-Mode ist
>> (also das OS(V2.00.05)=PK3OSV020005.hex aufgespielt ist) ...
> Ja ist mir dann auch klar geworden, dass ich ja gar nicht das PK3-OS
> habe.
Doch! Die HEX Files liegen im PICkit 3 Ordner (unter Microchip\PICkit 3 
v3).

Volker S. schrieb:
>> [pre]PICkit 3 is trying to supply 5,000000 volts from the USB port, but
>> the target VDD is measured to be 4,500000 volts. This could be due to
>> the USB port power capabilities or the target circuitry affecting the
>> measured VDD...
> Das scheint normal zu sein. Das PICKIT packt es dann eben nicht ganz.
> Einfach eine geringere Spannung (4.5V) einstellen.
Das ist nicht normal. Ich habe mal nachgemessen - mein PK3 gibt bei 5V 
nur ~4,8V aus(ohne Chip gemessen). Die Programmierspannung schafft es 
nur auf 12V(mit Chip gemessen). Was bis jetzt aber immer gereicht hat - 
zumindest fürs Programmertool. Wo soll denn der Sinn sein die Spannung 
auf 4,5V zu reduzieren(dann sind es real nur 4,4V)? Dennoch hab ichs 
getestet - klappt aber nicht.

Volker S. schrieb:
>> Mit dem PK3 Programmer funktionierts einwandfrei!!!
> Der toleriert vermutlich einfach nur mehr Abweichung oder fragt die
> Spannung gar nicht erst ab.
Ja, vermutlich hast Du damit Recht. Abfragen tut er die Spannung wohl, 
wertet sie aber nicht aus wenn sie zu gering ist. Es wäre gut zu wissen 
ob und wie man das PK3 kalibrieren kann(ohne Hardwareseitig eingreifen 
zu müssen). Was aber das eigentliche Problem sicher nicht behebt, da ich 
den PIC ja normalerweise von meiner Schaltung raus versorge. Und hier 
schreibt MPLAB X und IPE nur das sie den Chip nicht detektieren können. 
Ich habe das auch gerade nochmal mit einem PICkit 2 Demoboard getestet. 
Hier meckert MPLAB X / IPE auch wegen zu geringer Spannung. Ich werde 
wohl doch mal die HW ändern und melde mich dann nochmal.

von vloki (Gast)


Lesenswert?

Jürgen S. schrieb:
> Volker S. schrieb:
>> Wie kommst du jetzt darauf? Natürlich nur am lebenden, aber eben im
>> Debug-Mode ->
>>
> 
http://www.hs-ulm.de/nocache/wir/Personal/PersonalSaSchr/vschilli/Mikrocontroller/
> Ok! Aber dafür muss man das Hexfile doch auch in den PIC flashen, der?
> (ich nutze den Debug Modus nicht).

Verstehe ich nicht ;-) Ok, funktioniert ja bisher nicht bei dir.

Natürlich wird im Debug Mode auch der PIC programmiert.
Es kommt sogar noch ein Programmteil hinzu der für die Kommunikation mit 
der IDE zum Debuggen zuständig ist.
Im Debug Modus kann man dne PIC dann aber ganz einfach anhalten, alle 
Register IM PIC anschauen ...
Das Programm läuft dabei immer noch RealTime bis zum Anhalten. Das 
Anhalten kann man einfach so auf Tastendruck (Pause), beim Erreichen 
einer bestimmten Zeile im Code oder beim Lesen/Schreiben eines 
bestimmten Registers zum (xten Male) konfigurieren.
Das musst du unbedingt lernen. Ist ungefähr so, wie wenn ein Blinder 
plötzlich sehen kann ;-)

von Volker S. (vloki)


Lesenswert?

(Mist, wieso werde ich heute eigentlich ständig abgemeldet?)

Jürgen S. schrieb:
> Wo soll denn der Sinn sein die Spannung
> auf 4,5V zu reduzieren(dann sind es real nur 4,4V)? Dennoch hab ichs
> getestet - klappt aber nicht.
Also bei dieser Fehlermeldung hilft das bei uns immer.
Was passiert bei externer Versorgung des ZielPICs (nicht über PK3)?


Jürgen S. schrieb:
> Die Programmierspannung schafft es
> nur auf 12V(mit Chip gemessen). Was bis jetzt aber immer gereicht hat -
> zumindest fürs Programmertool
Ich sehe da oft nur 9V und es funktioniert trotzdem (MPLABX PICKIT3)


Jürgen S. schrieb:
> Volker S. schrieb:
>>> Das ganze funktioniert - > sofern das PK3 im Programmer-Mode ist
>>> (also das OS(V2.00.05)=PK3OSV020005.hex aufgespielt ist) ...
>> Ja ist mir dann auch klar geworden, dass ich ja gar nicht das PK3-OS
>> habe.
> Doch! Die HEX Files liegen im PICkit 3 Ordner (unter Microchip\PICkit 3
> v3).
Schon klar, ich meinte damit eigentlich, dass ich die Taste gedrückt 
hatte, ohne vorher das PK3 mit dem Programmer Tool verhunzt zu haben.

: Bearbeitet durch User
von Carsten S. (dg3ycs)


Lesenswert?

Jürgen S. schrieb:
> Wo soll denn der Sinn sein die Spannung
> auf 4,5V zu reduzieren(dann sind es real nur 4,4V)? Dennoch hab ichs
> getestet - klappt aber nicht.

ES mag VIELLEICHT in deinem Fall nicht zutreffen, aber wenn man deine 
Frage ganz allgemein beantworten will ist es im Grunde ganz einfach:

Gibt zwei mögliche Gründe:

1. Es ist ja so, das die 5V am USB Port nicht genau 5V sind. Tatsächlich 
darf nach Norm die SPannung direkt an der PC-Buchse bis auf 4,75V 
sinken.
(Und wenn dann noch Alterserscheinungen dazukommen kann es noch weiter 
runtergehen.)
 DAzu kommen noch die Verluste auf dem Kabel. Somit kann die Spannung zu 
weit absinken als das der PK noch stabile 5V bereitstellen kann.
Eine geringere Spannung funktioniert aber.

Ich habe z.b. einen PC bei dem das mit der 5V Programmierung und 
Versorgung durch PK3 nie klapt, nicht einmal wenn nur der PIC alleine 
angeschlossen ist. Daher programmiere ich an diesem PC immer mit 3,75V 
(bei 5V Typen natürlich nur). DAs funktioniert dann bestens.

Selbe Schaltung, selbes PK3 an einem anderen PC funktioniert auch mit 
Einstellung 5V Tadellos!

2. Wenn man mit dem PK3 die Schaltung versorgt, so wird ja nicht nur der 
PIC alleine, sondern meist auch der REst der Schaltung bestromt.
Wenn die Schaltung dabei eine gewisse Stromaufnahme überschreitet sinkt 
die Spannung einfach ab. Der PK3 kann ja nicht beliebig viel Strom zur 
Verfügung stellen. Mit einer geringeren Sollspannung funktioniert es 
aber oftmals dann doch!


Gruß
Carsten

von Jürgen S. (xsusakamei)


Lesenswert?

Volker S. schrieb:
> Also bei dieser Fehlermeldung hilft das bei uns immer.
> Was passiert bei externer Versorgung des ZielPICs (nicht über PK3)?
Hatte ich bereits geschrieben:
1
Target Device ID (0x0) does not match expected Device ID (0x1200).

> Schon klar, ich meinte damit eigentlich, dass ich die Taste gedrückt
> hatte, ohne vorher das PK3 mit dem Programmer Tool verhunzt zu haben.
Was heisst verhunzt? Es gibt ja nunmal die Möglichkeit - Gott sei Dank! 
Sonst hätte ich das PK3 schon längst verschrottet ... .

> Ich sehe da oft nur 9V und es funktioniert trotzdem (MPLABX PICKIT3)
Gut, dann ist in dem Bereich ja alles bestens ;-)

vloki schrieb:
> Natürlich wird im Debug Mode auch der PIC programmiert.
> Es kommt sogar noch ein Programmteil hinzu der für die Kommunikation mit
> der IDE zum Debuggen zuständig ist.
> Im Debug Modus kann man dne PIC dann aber ganz einfach anhalten, alle
> Register IM PIC anschauen ...
> Das Programm läuft dabei immer noch RealTime bis zum Anhalten. Das
> Anhalten kann man einfach so auf Tastendruck (Pause), beim Erreichen
> einer bestimmten Zeile im Code oder beim Lesen/Schreiben eines
> bestimmten Registers zum (xten Male) konfigurieren.
> Das musst du unbedingt lernen. Ist ungefähr so, wie wenn ein Blinder
> plötzlich sehen kann ;-)
Weiß ich doch alles! Ist ja nicht mein erster PIC. Ich habe es halt noch 
nie wirklich gebraucht, da ich bis jetzt alle Fehler so ausbügeln 
konnte. Werde mich natürlich damit beschäftigen wenn ich es brauche ^^.

@Carsten Sch.:
Danke für die Erklärung. Trifft aber bei mir nicht zu,
a) denn ich bin in der Lage die USB Spannung zu messen. Die in meinem 
Fall ziemlich genau 5V beträgt.
b) da auch die USB Spannung vom PK3 überwacht wird. Somit müsste 
eigentlich IPE/MPLAB X Dir hier auch ein Hinweis geben, dass die 
Spannung vom USB Port zu gering ist.
c) MPLAB X und IPE durchaus Recht haben mit der Behauptung, dass es nur 
4,75V sind. Stelle ich die Spannung geringer ein wird die Tolleranz zum 
Sollwert zwar geringer, aber richtig ist das nicht.

Über die ganze Diskussion über den USB-Port ist mir aufgefallen, dass 
ich das PK3 an einem USB3-Hub betreibe. Also schnell in ein USB2 Port 
gesteckt und .... gleicher Fehler grrr.

Ich habe jetzt einfach D1 vom PK3 gebrückt. Nun stimmen auch meine Werte 
am Ausgang und die Fehlermeldung von MBLAB X und IPE kommt nicht mehr. 
Womit ich wieder bei der Ausgangsproblematik bin:
1
Target Device ID (0x0) does not match expected Device ID (0x1200).

@Volker S.:
Könntest Du mir denn mal Die Hex-Datei eines funktionierenden PK3 im 
MPLAB Modus zumailen? Dann könnte ich es einfach mal testen und auch mal 
vergleichen ob es jetzt ein Firmwarefehler ist oder ob es woanders dran 
liegt.

von Jürgen S. (xsusakamei)


Lesenswert?

Hallo @all,

ich habe mich der Sache nun nochmal angenommen.

Da es mit den 2 mir vorhandenen ICSP-Programmern nicht möglich war den 
PIC24 des PK3 auszulesen bzw. zu beschreiben (die unterstützen nur 
PIC16/18) habe ich mir ein neues (originales) PK3 besorgt. Dieses 
funktionierte auf Anhieb auch ohne Probleme direkt mit IPE/MPLAB X 
zusammen.

Nach dem Basteln eines 1,27mm auf 2,54mm ICSP-Adapters konnte ich auch 
das alte PK3 auslesen bzw. auch beschreiben. Dies hat allerdings nichts 
gebracht. Mit dem alten -fehlerhaften- PK3 war es mir leider auch nicht 
möglich über das Programmiertool das neue PK3 auszulesen! Also habe ich 
mir noch ein neues PK3 gekauft und damit versucht das andere PK3 
auszulesen. Dies gelang ohne Probleme.

Ich gehe also davon aus, dass mein fehlerhaftes PK3 einfach defekt ist 
:-( Natürlich habe ich auch darüber nachgedacht dieses zu reparieren. 
Ich habe auch div. Versuche unternommen das PK3 wieder zur "richtigen" 
Arbeit zu bewegen(PTCs gebrückt, Versorgungsspannung kontrolliert usw.). 
Gedanklich bin ich zuweilen schon ein Schritt weitergegangen um evtl. 
den vorhandenen Flash-Chip und die Levelkonverter zu erneuern. Bin dann 
aber wieder davon abgekommen, da die Kosten für die Teile und der 
Aufwand den Kaufpreis von ca. 55.-€ brutto bei weitem übersteigt!

Ich habe es bisher noch nicht versucht das PK3 in den Programmiermodus 
zu versetzen und wieder zurück in den MPLAB Modus zu bringen. Derzeit 
ist diese Prozedur "eigentlich" auch nicht nötig, da das IPE-Tool soweit 
einwandfrei funktioniert. Sollte sich hier ein Problem ergeben werde ich 
dies hier posten.

Bzgl. der Spannungsversorgung des PICkits habe ich mich nochmal schlau 
gemacht. Das PK3 kann etwas mehr als 100mA vom USB Bus ziehen, stellt 
aber nur ca. 30mA für das Ziel zur Verfügung(PK3 Application User's 
Guide). Wer das PK3 zum Programmieren in der Schaltung ohne externe 
Spannungsversorgung nutzen möchte sollte also seine Schaltung 
überarbeiten.

Danke an alle Beteiligten und besonders an Volker S.!

Gruß
Jürgen

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.