Forum: Mikrocontroller und Digitale Elektronik dsPIC30F6011 mit PICkit3


von Johannes (Gast)


Lesenswert?

Hallo,
ich möchte ein dspic30f6011 mit einem PICkit 3 beschreiben. Dazu hängt 
der Controller an 5V.

Power target circuit from PICkit3 habe ich ausgeschaltet.

Jedoch bekomme ich den controller nicht beschrieben.
Als Fehler bekomme ich
Target Device ID (0x0) does not match expected Device ID (0x1920000).

Auch wenn ich das Power target circuit from PICkit3 eingeschaltet habe 
bekomme ich den selben Fehler.

gibt es sonst noch Einstellungen, die ich vornehmen muss?

Johannes

von Max H. (hartl192)


Lesenswert?

PICkit richtig beschalten? Schaltplan?

von Johannes (Gast)


Angehängte Dateien:

Lesenswert?

Ja, das ist richtig.
habe es auch gerade noch einmal durchgemessen. Die Verbindung sind alles 
in Ordnung.

von Frank K. (fchk)


Lesenswert?

Schaltplan des dsPIC-Boards?

von X4U (Gast)


Lesenswert?

Johannes schrieb:
> Target Device ID (0x0) does not match expected Device ID ....

Entweder

1.) die Leitungen sind gestört (z.B mit Kondensatoren oder Widerständen 
belastet)
     Mal überprüfen

2.) der PicKit hat das falsche OS drin
     Den DSPIC von Hand einstellen

3.) Irgendwas ist kaputt
     Mit was garantiert lauffähigen eingrenzen

von Michael K. (Gast)


Lesenswert?

Johannes schrieb:
> Die Verbindung sind alles in Ordnung.

Schau noch mal, die Fehlermeldung sagt aus das der PicKit ausser seiner 
VDD überhaupt nichts sieht.
Passiert auch gern wenn man eigene Resetbeschaltung am /MCL hat.
Zeig Deinen Schaltplan, dann sehen wir mehr.

von Johannes (Gast)


Angehängte Dateien:

Lesenswert?

Anbei die Schaltpläne, die ich für die Programmierung benötige.
Vorher habe ich mit dem picKit einen dspic30f4011 programmiert (auf 
einem demoboard von Microchip), da hat es einwandfrei funktioniert.
Am MCL habe ich nur den Programmer hängen.


X4U schrieb:
> 2.) der PicKit hat das falsche OS drin
>      Den DSPIC von Hand einstellen

was heisst, das falsche OS? wie kann ich das ändern?

Johannes

von Michael K. (Gast)


Lesenswert?

Johannes schrieb:
> was heisst, das falsche OS? wie kann ich das ändern?

Der PicKit benutzt unterschiedliche Software für die verschiedenen 
Controllerfamilien.
Die lädt der aber selbsttätig wenn er über die Kennung einen Chip 
erkennt für den er ein anderes Programm braucht.
Bei Dir findet der aber keinen Controller.

Du willst mir das jetzt nicht wirklich als Schaltplan andrehen aus dem 
irgendwas zu Deinem Problem erkennbar ist ?

von Klaus (Gast)


Lesenswert?

Ich bin vor kurzem einem vergleichbaren Fehler nachgejagt. Vdd wurde 
erkannt, die ID war aber immer 0x0. Zum Schluß war es folgendes: Im 
Editorfenster von MPLABX wurde der gewünschte Source angezeigt. 
Übersetzt wurde aber ein anderes Projekt mit einem anderen PIC aus einer 
anderen Familie, das als Main Projekt eingestellt war. Es wurde daher 
automatisch die falsche Firmware in den PICKit geladen, die Vdd 
Erkennung funktionierte, das Lesen der ID aber nicht.

Das hätte man leicht erkennen können, wenn man die Ausgaben des 
Compilers gelesen hätte. Da wurde natürlich der wirklich bearbeitete 
Filename genannt, aber wer liest schon, was ein Compiler so schreibt ;)

MfG Klaus

von Johannes (Gast)


Lesenswert?

Doch, eigentlich ist sind das meine Schaltpläne. Dazu kommen noch zwei 
weitere für CAN-Anschlüsse. Da ich diese aber erst später benötige (wenn 
ich den controller beschreiben kann) habe ich diese weggelassen.
Wie sollte es denn aussehen? dann kann ich das noch ändern.
beim ersten mal hat er sich irgendwelche sachen runtergeladen. das macht 
er jetzt nciht mehr.

von Little B. (lil-b)


Lesenswert?

Johannes schrieb:
> Am MCL habe ich nur den Programmer hängen.

der MCL braucht für gewöhnlich ein PullUp, z.B. 10k gegen Vdd.
Wenn dieser fehlt, ist der Prozessor dauerhaft in Reset, und kann somit 
auch nicht vom Debugger erkannt werden!

von Johannes (Gast)


Lesenswert?

auch das habe ich schon versucht. laut dem Poster vom pickit3 sollen 
sogar 50 kOhm. woanders habe ich 4,7kOhm gelesen.
habe es mit 4.7k, 10k, 25k und 50k probiert, jedoch hat sich da keine 
änderung ergeben.

von Johannes (Gast)


Lesenswert?

Der Compiler hat auch die richtigen Datein genommen

"C:\Program Files (x86)\Microchip\xc16\v1.24\bin\xc16-gcc.exe"   -o 
dist/default/production/2CAN_Communication.X.production.elf 
build/default/production/Main.o build/default/production/timer.o 
build/default/production/pin_config.o 
build/default/production/CAN_function.o      -mcpu=30F6011 
-omf=elf 
-Wl,,--defsym=__MPLAB_BUILD=1,,--script=p30F6011.gld,--stack=16,--check- 
sections,--data-init,--pack-data,--handles,--isr,--no-gc-sections,--fill 
-upper=0,--stackguard=16,--no-force-link,--smart-io,-Map="dist/default/p 
roduction/2CAN_Communication.X.production.map",--report-mem

und auch dort die richtige mcpu genommen

Beim kompilieren steht auch, dass er die richtige firmware hat

Connecting to MPLAB PICkit 3...

Currently loaded firmware on PICkit 3
Firmware Suite Version.....01.36.10
Firmware type..............dsPIC30F

Target voltage detected
Target Device ID (0x0) does not match expected Device ID (0x1920000).

von Michael K. (Gast)


Lesenswert?

Johannes schrieb:
> Wie sollte es denn aussehen?

Eine komplette Beschaltung des PICs mit allen relevanten pins die an der 
Show beteiligt sind.
Wo Deinen 'Plänen' ist der Pic ?

von Johannes (Gast)


Angehängte Dateien:

Lesenswert?

der PIC ist auf einer externen platine gelötet, die mit stiftleisten 
verbunden werdne. So führen die Pins der stiftleiste direkt zum 
controller.
Anbei die platine, wo der chip draufgelötet ist. Dabei ist es egal, wie 
herum der chip draufgelötet wird, da alle seiten gleich kontaktiert 
sind.
Auf der platine, wo dieser dann drauf kommt, muss er natürlich richtig 
gedreht werden. (Dies habe ich auch schon kontrolliert und er ist 
richtig drauf)

von Johannes (Gast)


Angehängte Dateien:

Lesenswert?

Da ich bei eagle keine dspic30f6011 gefunden habe, habe ich mir den auch 
selber gebastelt. leider noch ein bisschen unübersichtlich
Aber anbei ist der Controller mit den einzelnen pins die ich benötige. 
An jedem VDD pin hängt dann noch der Kondensator drann, wie er auf dem 
obigen Bild (dspic30F6011) zu sehen ist.

Hoffe, dass dieser Schaltplan besser ist.

von Klaus (Gast)


Lesenswert?

Little Basdart schrieb:
> der MCL braucht für gewöhnlich ein PullUp, z.B. 10k gegen Vdd.
> Wenn dieser fehlt, ist der Prozessor dauerhaft in Reset, und kann somit
> auch nicht vom Debugger erkannt werden!

Falsch, der Programmer kümmert sich um alle Aspekte der Resetleitung: er 
hält sie auf Low, wenn nötig, auf High oder Vpp. Solange man den Chip 
nur am PICKkit betreibt, kann MCLR ansonsten unbeschaltet bleiben, auch 
beim Debuggen. Bei den PICs werden zum Programmieren außer Abblock-Cs 
und dem Prozessor selbst keine weiteren Bauteile zum Programmieren 
benötigt.

MfG Klaus

von Michael K. (Gast)


Lesenswert?

Du malst was Du gerne hättest aber nicht was ist.
Das ist Salamitaktik hier Tropfen für Tropfen kleinste Einzelausschnitte 
zu posten die ich mir zusammenpuzzeln darf.

Mess am Pic welche Signale da ankommen.
Ich bin raus.

von Andi (Gast)


Lesenswert?

Johannes schrieb:
> Anbei die Schaltpläne
Das ist ein kein Schaltplan, das ist ein Puzzle. So sieht ein 
vernünftiger Schaltplan zum Beispiel aus: 
http://www.mikrocontroller.net/attachment/46525/schematic.png
Du kannst deinem PIC Symbol auch ein Footprint zuordnen das dem Pinout 
der "externen platine" entspricht.

PS: Wieso kommt der PIC nicht direkt aufs Board?

von Johannes (Gast)


Angehängte Dateien:

Lesenswert?

Naja, so wie es auf den schaltplänen ist, ist es auch beschaltet. die 
verbindungen stehen ja, die habe ich alle nachgemessen.
anbei habe ich noch einmal das layout vom board gepackt.  vielleicht 
würdest ja trotzdem noch einen fehler finden und mitteilen.

von X4U (Gast)


Lesenswert?

Johannes schrieb:
> die
> verbindungen stehen ja, die habe ich alle nachgemessen.

Auch du Kapazität und den Widerstand zu Vdd, Vss und untereinander?

Vorher hat es ja funktioniert, geändert hast du das Target. Da würde ich 
dann auch als erstes suchen.


Mplab Fehler kannst du es mal mit dem standalone Progger ausschließen.

http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit3%20Programmer%20Application%20v3.10.zip


Da ist ein 30F6011A auch manuell einstellbar.

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.