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