Forum: Mikrocontroller und Digitale Elektronik PIC in bestehender Schaltung umprogrammieren


von AlexS (Gast)


Lesenswert?

Hallo Leute,

kann man einen PIC16F628A in einer bestehenden Schaltung 
umprogrammieren?

D.h. die bestehende Firmware auslesen, sichern und dann eine eigene 
Firmware programmieren und aufspielen? Das Thema Garantie vergessen wir 
mal.

Hintergrund ist folgender.
Seit kurzem beschäftige ich mich mit dem PLC-BUS. Das ist eine 
Installationsbus für Gebäude- und Home Automation. Dabei kommuniziert 
PLC-BUS als Powerline-System über das Stromkabel.
Die neuste Info hierzu, die ich im Internet finden konnte besagt, dass 
man das PLC-BUS Modul über eine I2C-Schnittstelle selber programmieren 
kann.
http://www.ruvitec-shop.de/shop/inhalt.php?content=PLCBUS_Chip-Modul&PEPPERSESS=0365e667034135cae26c1229259954fa

Darauf hin habe ich mein PLCBUS-RS232-Interface unter die Lupe genommen 
und tatsächlich, da steck ein PIC16F628A drin, der die Umsetzung von 
PLC-BUS auf RS232 vornimmt. Der PIC hängt also zwischen der I2C des 
PLCBUS-Chip und dem MAX232.

Da stellt ich für mich die Frage, ob man den PIC für eigene Zwecke 
umprogrammieren kann. z.B. als PLC-BUS-Timer, PLC-BUS I/O oder als 
RS232-Verlängerung mit jeweils einem PLCBUS-Interfaces auf jeder Seite.
Im Prinzip das PLCBUS-Interface als Evaluierungs-Board verwenden.


Alex

von Zwirbeljupp (Gast)


Lesenswert?

Wenn Der ISCP-Port des PICs verfügbar ist, dann kannst Du den PIC mit 
Sicherheit auch neu Flashen. Das Auslesen der Originalfirmware kannst Du 
Dir aber abschminken; der Hersteller wäre schön blöd, wenn er die 
Codeprotection des PICs nicht aktiviert hätte...

von jochen64 (Gast)


Lesenswert?

Ja, grunsätzlich kann man einen PIC in der Schaltung auslesen und neu 
programmieren. Das nennt sich ICSP - In Circuit Serial Programming. Geht 
über 5 Leitungen: Vss, Vdd, Vpp, Dat, Clk. Wenn man nicht im 
Programmiermodus ist, haben diese 5 Pins jedoch andere (IO-) Funktion, 
und es muss gewährleistet sein, das die normale Beschaltung nicht den 
Programmiermodus stört. Sonst must du den PIC eben doch rausnehmen und 
in ein Programmiergerät einsetzen. Die Programmiergeräte verwenden genau 
die gleichen Anschlüsse und die gleichen Protokolle wie bei ICSP, nur 
eben ausserhalb der Schaltung.

Ein PIC kann Code-Protected sein, dann kannst du ihn nicht oder nur 
wenige Bytes auslesen.

Für 16F-PICs gibt es fast alles umsonst bzw. zum selber nachbauen. Schau 
mal hier:

- www.sprut.de : Grundlagen, Programmiergeräte zum Nachbauen. Super zum 
Einstieg!
- google "JDM PIC programmer" : Eine dänische Seite mit dem klassischen 
PIC Programmer für die serielle Schnittstelle (geht auch für 16F628)
- www.icprog.com : Passende Software für JDM Programmer, Disassembler 
müsste integriert sein (nicht ganz sicher)

von jochen64 (Gast)


Lesenswert?

Sorry ... richtig ist:

www.ic-prog.com

von AlexS (Gast)


Lesenswert?

Hi Jungs,

danke für die Anworten.
Dann werde ich mal die Links durchmachen.

Vom PIC geht sogar eine 5-polige Stiftleiste weg. Das riecht mir sehr 
nach dem Programmierinterface.
Ich muss mir mal im Netz ein Datenblatt suchen und schauen, wo diese 5 
Anschlüsse an den PIC gehen und ob es die Anschlüsse für den ISCP-Port 
sind. Auf der Patine aufgedruckt steht an der Stiftleiste "MCLR"

Alex

von Maik W. (werner01)


Lesenswert?

Ja mclr steht für"1" ist bestimmt der ICSP. Also ich glaube das schon.

von AlexS (Gast)


Lesenswert?

Ich habe mich die Tage über PIC und ICSP schlau gemacht.
Die besagte Stiftleiste ist tatsächlich die ICSP-Schnitstelle.
Alle 5- Leitungen gehen auf die entsprechenden Pins.

Die Seite www.sprut.de ist wirklich ein super Einstieg. - Nochmals 
großen Dank an jochen64.

Auf sprunt.de wird der Selbstbau von PIC-ICSP-Brennern beschrieben. 
Leider fehlen mir die Mittel zu Platinenfertigung.

Weis jemand ob es irgendwo einen günstig PIC-ICSP-Brenner für den 
Parallel-Port als Bausatz zu kaufen gibt.

Alex

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.