Beginnend mit der Bildprogrammierung dspic30f2010

Ich bin mir ziemlich sicher, dass es in irgendeiner Weise ein Duplikat ist, aber ich muss trotzdem fragen. Ich bin ziemlich neu in der Chipprogrammierung und habe mit Arduino einige Ergebnisse erzielt, aber ich habe immer noch keine Ahnung, wie ich das Picboard verwenden soll, das mir mein Freund gegeben hat.

http://www.futurlec.com/dsPIC30F2010_Board.shtml

Es sieht soweit gut aus. Ich habe 3 Kabel, aber ich habe keine Ahnung, wie ich ein Programm auf das Board herunterladen kann. Meine Frage bezieht sich jetzt nicht so sehr auf die Kompilierung. Ich habe einige Beispiel-Hex-Dateien, die auf das Board heruntergeladen werden können.

  • USB -> RS232 (Stecker in Lichter leuchten)
  • db9 -> rs232
  • db25 -> 10 weiblicher Stecker (keine Ahnung, wie dieser Stecker EMPIC oder so heißt)

Da ich nur einen Laptop habe, ist das einzige verwendbare Kabel USB. Ich könnte wahrscheinlich Adapter für die anderen Kabel finden, aber ja.

Wenn ich das USB-Kabel einstecke, leuchten LEDs und es scheint, dass der Strom funktioniert. Auf meinem db9-Kabel steht geschrieben, download rs232also gehe ich davon aus, dass das Herunterladen einer Hex-Datei mit dem RS232-Stecker funktionieren sollte. Aber nach dem Lesen glaube ich, dass dieser Stecker nur für die Verwendung mit dem Chip und nicht für die Programmierung des Chips gedacht ist.

http://www.futurlec.com/Pictures/dsPICBRD4_600.jpg

Sie können dort sehen, dass es direkt über "ET-EMPIC herunterladen" steht.

Ich kann mein ganzes Set fotografieren, wenn etwas nicht klar genug ist. Ich würde wirklich gerne an diesem Chip arbeiten. Ich habe einige der Spezifikationen über den Chip gelesen, konnte aber nicht wirklich etwas darüber finden, wie man loslegt. Es ist, als ob Leute, die Dokumentation geschrieben haben, davon ausgehen, dass die Leute bereits wissen, warum Programmierer existieren (ziemlich verwirrender Begriff, um ehrlich zu sein), wie man sie benutzt und wie man Dinge zum Laufen bringt.

Ich bin ziemlich verwirrt und verstehe nicht, warum es so schwer ist, tatsächlich etwas auf die Tafel zu bekommen. Wenn mir jemand helfen kann, eine Hex-Datei auf dieses Board herunterzuladen, wäre ich für einige Zeit der glücklichste Mann auf Erden.

Soweit ich weiß, sollte dieses Board ausreichen, um ohne Programmierer verwendet zu werden. Aber ich vermute, dass ich den db25 zum empic-Plug verwenden muss. Wenn ich etwas kaufen muss, werde ich es wahrscheinlich kaufen. Ich habe auch darüber nachgedacht, mein Arduino-Board als Programmierer für mein dspic arbeiten zu lassen, aber das ist nicht wirklich eine gute Option.

Auch was ich nicht verstehe. Das Netzteil benötigt 16 V, während ich in den Dokumenten irgendwo gelesen habe, dass ich beim Herunterladen eines Programms nicht weniger als 14 V an das Board liefern sollte. Ich weiß, dass mein USB-Kabel nicht mehr als 5 V liefert. Gibt es einen Grund, warum der Programmierer so viel verlangen würde, um das Programm herunterzuladen?

bearbeiten

Nach ein bisschen Recherche habe ich folgendes herausgefunden:

http://www.etteam.com/product/06A07.html

ETT ist der eigentliche Konstrukteur des Boards. Das Problem ist, dass alles auf Thai geschrieben ist. Kurz gesagt, ich glaube, es heißt, ich muss winpic800 mit ICP-Stecker verwenden. Es sollte möglich sein, mit den ICSP-Pins zu programmieren, aber ich bräuchte einen externen Programmierer.

Antworten (2)

Nach einem kurzen Blick auf den ersten Link scheint dieses Board eine Art Programmierfunktion eingebaut zu haben. Das heißt, es sollte mit Software geliefert werden, um die erforderlichen Befehle über die serielle Leitung zu senden, dann wird spezielle Hardware auf dem Board die PIC-Programmierung wackeln Linien angemessen. Sie müssen diese Informationen vom Hersteller oder Wiederverkäufer erhalten, der in beiden Fällen Futurelec sein kann.

Der Grund, warum das Datenblatt nicht sehr detailliert auf die Programmierung des Chips eingeht, liegt darin, dass es ein ganz separates Dokument für die so genannte Programmierspezifikation gibt . Eine Reihe ähnlicher Chips verwenden dasselbe Programmierprotokoll, also dokumentieren sie es einmal.

Ich habe eine allgemeine Entmystifizierung über die PIC-Programmierung unter http://www.embedinc.com/picprg/icsp.htm .

Richtig danke, ich glaube, ich verstehe ein bisschen mehr, wie es funktioniert. ICSP ist das eigentliche Protokoll, mit dem der Chip programmiert wird. Der Programmierer wird nur verwendet, um Daten vom Computer auf den Chip zu übersetzen. Direktes ICSP ist wahrscheinlich unmöglich, wenn man einfach rs232 verwendet. Allerdings habe ich festgestellt, dass ich auf meinem Board ICSP direkt mit einem Programmierer ausführen oder den 10-poligen ICP-Stecker mit WinPic800 verwenden kann. Also im Moment denke ich, dass ich damit noch nicht wirklich etwas anfangen kann. Es sei denn, ich kompiliere einen Programmierer auf meinem Arduino-Board, um einen Bootloader herunterzuladen, mit dem ich das Bild ohne Programmierer programmieren kann.
Die Programmierspezifikation hat hier wirklich geholfen. Am Ende habe ich den Chip auf einem Steckbrett neu verdrahtet und konnte ihn mit einem pickit3 programmieren. Eines der Probleme, die mir auf dem Devboard aufgefallen sind, ist, dass einige der Leitungen nicht richtig mit Kondensatoren / Widerständen verbunden waren, wie im Dokument / auf der Website erklärt. Meine Vermutung ist, dass das Devboard für die Verwendung mit einem anderen Programmierer entwickelt wurde und ICSP-Pins vorhanden waren, aber wahrscheinlich nicht getestet wurden.

Die Beschreibung des Produkts enthält diese Informationen:

„Direct In-Circuit Program Download with RS-232 Connection or Standard PIC 6-pin In-Circuit Programming Connection

Neben dem dsPIC-Kristall befindet sich ein Header (der kein 1: 1-Mate ist, aber funktionieren sollte) mit dem Microchip PICkit3-Programmierer:

Geben Sie hier die Bildbeschreibung ein

Soweit ich weiß, können Sie RS232 nur dann zum Flashen des dsPIC30 verwenden, wenn der Hersteller bereits eine Art Mini-Betriebssystem geflasht hat, um HEX-Dateien über RS232 zu akzeptieren, zu flashen und auszuführen. Dazu müsste etwas in der Dokumentation stehen.

Etwas weiter unten widerspricht sich die Beschreibung allerdings:

"Programme können über die In-Circuit-Programmierschnittstelle direkt auf den Mikrocontroller heruntergeladen oder aktualisiert werden . Die standardmäßigen 6-Pin-In-Circuit-Programmieranschlüsse von Microchip befinden sich auf der Platine, zusammen mit einem RS232-Anschluss für Computerschnittstellen." Also kann es vielleicht oder vielleicht nicht über RS232 programmiert werden. Wenn Sie ein PICkit3 verwenden, können Sie loslegen, solange diese Programmierstifte mit dem Teil verbunden sind.

Wenn Sie einen offiziellen Programmierer wie das PICkit3 haben, können Sie ein Image des Geräte-Flashs erstellen, was es im Wesentlichen sicher macht, wenn/falls Ihr zukünftiges Hacken schief geht.

ICSP auf dsPIC-Teilen erfordert keine Hochspannung, es gibt einen Niederspannungs-Programmiermodus. Der Programmierer sollte in der Lage sein, genügend Strom zum Programmieren des IC bereitzustellen, solange andere Geräte auf Vdd nicht zu viel Strom verbrauchen.

Eigentlich steht hier, wenn ich mich nicht irre, Folgendes geschrieben: dspic30f2010 wird nicht für Low-VDD-Programmierung unterstützt. ww1.microchip.com/downloads/en/devicedoc/…
der iscp-kopf ist da, ich habe die köpfe dem pickit neu zugeordnet und ich könnte es wahrscheinlich herausfinden, sobald ich einen finde. Und leider habe ich keine offizielle Diskette.
Dies ist ein PICkit2-Dokument, das mit der Veröffentlichung von MPLAB X (in jeder Hinsicht) zu einem veralteten Programmierer geworden ist. Laut dem Teildatenblatt können „dsPIC30F-Geräte seriell programmiert werden, während sie sich in der Endanwendungsschaltung befinden. Dies ist einfach zu tun mit zwei Leitungen für Programming Clock und Programming Data (die PGC bzw. PGD genannt werden) und drei weiteren Leitungen für Power (VDD), Ground (VSS) und Master Clear (MCLR)." Sie sollten in der Lage sein, das Gerät mit jeder VDD zu programmieren, die das PICkit3 bereitstellen kann, und sollten keine 12 V oder ähnliches benötigen (AFAIK).
Am Ende habe ich einen pickit3 gekauft und kann feststellen, dass der ICSP-Header hier wahrscheinlich nutzlos ist. Das große Problem ist, dass einige Pins des dspic mit einigen Kondensatoren verbunden werden müssen. Leider befinden sich einige der Filterkondensatoren vor einigen Transistoren und der ICSP-Header befindet sich nach diesen Transistoren. Der Programmierkopf (nicht ICSP) sieht so aus, als würde er ein invertiertes Signal empfangen und diese Transistoren ansteuern. Am Ende habe ich den Chip von der Platine entfernt und wie im Datenblatt dokumentiert auf einem Steckbrett angeschlossen und es hat einfach funktioniert.