Forum: Mikrocontroller und Digitale Elektronik PIC quick and dirty Programmer


von Sebastian (Gast)


Lesenswert?

Hi

Ich habe in den letzten Jahren einige Male mit Atmel Chips gearbeitet 
und habe dazu ein AVR JTAG ICE verwendet.

Nun hab ich einen PIC 18f4550 auslesen und das Programm auf einen neuen 
Chip kopieren. Wie kann ich dies am einfachsten bewerkstellingen?

von Domi N. (dominator)


Lesenswert?

Witzig ich habe gestern nach genau der selben Sache gesucht.
Ich habe mir dann vor 15 Minuten auf Ebay so einen PICKit 3 Klon aus 
China bestellt.
Mal schauen wann der kommt und ob der was taugt.

Wenn das nichts ist werde ich mir wohl direkt ein PICKit 4 kaufen.

von Domi N. (dominator)


Lesenswert?

Wenn du noch einen Arduino irgendwo rumfliegen hast kannst du dir das 
mal anschauen:

https://makerprojekte.de/arduino-pic-programmer/

Ich werde es heute Nachmittag mal testen.

von A. S. (Gast)


Lesenswert?

Es gibt viele Selbstbauprojekte etc.

Aber auch der originale Programmer pickit3 kostet grob 10€ mit Lieferung 
bis morgen früh 15.

von Martin H. (horo)


Lesenswert?

Danke, schnell mal auf dem Steckbrett mit einem 16F628A probiert, hat 
funktioniert. So konnte ich endlich zwei kleine Änderungen in meinen 
DL4YHF-Zähler programmieren, dafür wollte ich aber keinen PIC-Programmer 
kaufen.

von Andras H. (kyrk)


Lesenswert?

Wenn der chip nicht gelockt ist dann:
- PICkit 3 oder
- ICD 3 oder
- PICkit 4
- ICD 4

Für absolute Notfälle und für diejenigen die noch einen richtigen RS232 
und Win XP haben:
- JDM programmer mit IC-PROG

Sonst gibt es noch von Microchip den Snap-In debugger. Ob der 16F4550-er 
kann, weiss ich nicht genau.

von Ralph S. (jjflash)


Lesenswert?

Domi N. schrieb:
> Wenn du noch einen Arduino irgendwo rumfliegen hast kannst du dir das
> mal anschauen:
>
> https://makerprojekte.de/arduino-pic-programmer/
>
> Ich werde es heute Nachmittag mal testen.

Das habe ich für mein Flashershield im Einsatz, der kann aber nur wenige 
Controller und ganz sicher keinen PIC18F4550.

Bauteileliste siehe:

http://rweather.github.io/ardpicprog/supported_devices.html

von kannAlllesBesser?! (Gast)


Lesenswert?

Ralph S. schrieb:
> Das habe ich für mein Flashershield im Einsatz, der kann aber nur wenige
> Controller und ganz sicher keinen PIC18F4550.

dann schau mal in den ino quelle!!! bzgl.

struct deviceInfo const devices[] und

struct deviceInfo
{
    const prog_char *name;      // User-readable name of the device.
    prog_int16_t deviceId;      // Device ID for the PIC (-1 if no id).
    prog_uint32_t programSize;  // Size of program memory (words).
    prog_uint32_t configStart;  // Flat address start of configuration 
memory.
    prog_uint32_t dataStart;    // Flat address start of EEPROM data 
memory.
    prog_uint16_t configSize;   // Number of configuration words.
    prog_uint16_t dataSize;     // Size of EEPROM data memory (bytes).
    prog_uint16_t reservedWords;// Reserved program words (e.g. for 
OSCCAL).
    prog_uint16_t configSave;   // Bits in config word to be saved.
    prog_uint8_t progFlashType; // Type of flash for program memory.
    prog_uint8_t dataFlashType; // Type of flash for data memory.
};

da kannst du in wenigen minuten fast jeden pic hinzufügen!

von bingo (Gast)


Lesenswert?

kannAlllesBesser?! schrieb:
> da kannst du in wenigen minuten fast jeden pic hinzufügen!

naja, die Programmierspannung Vpp ist auch nicht immer die gleiche, 
zuviel grillt den PIC, bei zuwenig wird das Flash schnell vergesslich.

von kannAlllesBesser?! (Gast)


Lesenswert?

bingo schrieb:
> naja, die Programmierspannung Vpp ist auch nicht immer die gleiche,

stimmt, aber bei aktuellen pic's ist die immer gleich und es gibt high 
sowie low voltage programming.

von bingo (Gast)


Lesenswert?

kannAlllesBesser?! schrieb:
> bingo schrieb:
>> naja, die Programmierspannung Vpp ist auch nicht immer die gleiche,
>
> stimmt, aber bei aktuellen pic's ist die immer gleich und es gibt high
> sowie low voltage programming.

Bei low voltage vergibt man aber einen Pin

von Martin H. (horo)


Lesenswert?

bingo schrieb:
> naja, die Programmierspannung Vpp ist auch nicht immer die gleiche,
> zuviel grillt den PIC, bei zuwenig wird das Flash schnell vergesslich.

Einige Varianten nutzen den Vpp-Eingang nur als Logik-Eingang und 
erzeugen sich ihre Programmierspannung intern selbst, siehe z.B.
PIC16F627A/628A/648A EEPROM Memory Programming Specification
https://ww1.microchip.com/downloads/en/DeviceDoc/41196g.pdf

"In the PIC16F627A/628A/648A, the programming high voltage is internally 
generated. To activate the Programming mode, high voltage needs to be 
applied to MCLR input. Since the MCLR is used for a level
source, this means that MCLR does not draw any significant current."

"High voltage on MCLR VIHH 10.0 — 13.5 V"

Die 16F627/8 (ohne A) erlauben sogar VDD + 3.5 V — 13.5 V, dann kann man 
für den Q'n'D-Programmer auch 'nen 9V-Block nehmen.

: Bearbeitet durch User
von Stephan S. (uxdx)


Lesenswert?

ältere PICs haben durchaus auch eine Vpp von über 10 Volt

von KURWA (Gast)


Lesenswert?


von tuxxi (Gast)


Lesenswert?

Sebastian schrieb:
> Nun hab ich einen PIC 18f4550 auslesen und das Programm auf einen neuen
> Chip kopieren. Wie kann ich dies am einfachsten bewerkstellingen?

Frag doch mal hier im Forum, ob das jemand für Dich macht! Hier gibt es 
viele hilfsbereite Mitforisten.

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.