Hallo, dies ist ein erster Versuch mit ISP und ich möchte nicht gleich meine Elektronik abfackeln :-) Ich habe in meiner Schaltung an PB7/Serial programming data eine LED und ein Wiederstand (470 Ohm) gegen +5V um ein Einschalten zu signalisieren. An PB6/Serial programming clock habe ich einen 10K Pullup mit einem Taster gegen Masse. (Normalerweise offen, aber naja, wenn man da dran kommt...) An MCLR Pin 4 ist die Brownout Schaltung mit Z-Diode. Ansonsten eine übliche Nutzung der Schaltung. Was muss ich beachten, wenn ich nun mit einem ISP Adapter programmieren will? Ist die beste Lösung, 3 Jumper zu verwenden, oder kann ich auch Schutzdioden verwenden? Die relevante Beschaltung ist im Bild gezeigt. Danke Lothar
Bitte tue Dir einen Gefallen und verwende NICHT den PIC16X84. Selbst wenn Du ihn gerade noch zuhause herumfliegen hast. Nimm z.B. einen 16F628A. Dieser ist (m.E. nach) pinkompatible, hat dafür aber mehr RAM, mehr ROM, integrierten Oszillator (4MHz) und auch den Brown-out-Reset bereits onboard. Von der Verwendung eines einfachen ISP-Adapters würde ich stark abraten. Wenn es unbedingt billig sein soll, schau Dich bei www.sprut.de um, dort werden diverse "Brenner"-Designs vorgestellt. Optimal wäre ein ICD2 von Microchip bzw. ein ICD2-Klon (diese gibt es bereits sehr günstig bei eBay usw.) Davon abgesehen: Pullups an PGC/PGD sind nicht erlaubt! Nimm den PIC16F628A wie bereits vorgeschlagen, dieser hat integrierte pullups an PortB, welche per Software aktiviert werden können und so den Programmiervorgang nicht behindern.
Ob der Transistor die 12V gegen VCC abblockt, weiß ich nicht, müsste man checken. Ansonsten kannst du ja einen Jumper nur für /MCLR einsetzen, der Rest geht problemlos. Daß du während des ISP nicht die Taste betätigen darfst, sollte eigentlich klar sein.
Leider habe ich schon 2 16F84A gekauft. Fürs nächste Mal gerne den 16F628A. Der Programmer ist der usbpicproc (Open Source) auf http://usbpicprog.org/. Dieser hat vor dem Stecker jeweils einen Schutzwiederstand (100 Ohm) in Serie an PGD und PGC. Also bekommt der Programmer erstmal keine Probleme. Der Programmer verfügt über einen 18F2550. Wenn die Brownout Schaltung im 16F628A schon eingebaut ist, sollte ich mir mit einer einfachen Beschaltung eines Steckers auf meinem Board keine Probleme einfangen. Ich meine, dass die 13V den Kollektor auf 13V angehoben werden. Ist die interne Beschaltung des 16F628A mit der im Bild vergleichbar?
Auch der 16f628A ist teilweise veraltert, da man einen 16f88 teilweise günstiger herbekommt. Hat doppelt so viel Flash und EEprom, kann den Flash selbst beschreiben (bootloader) und hat auch ADC sowie interne OSC bis zu 8Mhz oder auch runter auf 32Khz. Mehr Ram, ... .
Habe mir den Programmer angesehen, warscheinlich funktioniert der nicht, wie auch nicht der ICD2 oder ander dergleichen. Der Grund ist, daß diverse neuere Chips einen internen voltage-doubler haben, der für die Flash Programmierung verwendet wird, und die 4.5V+VDD einfach nur für den Eintritt in den Programmiermodus verwendet werden, bei ca 20uA Belastung oder so. Hingegen CPU´s ohne den internen Spannunsverdoppler brauchen richtige mA, um den Flash zu löschen, und neu zu programmieren. Was ich dir in deinem Falle raten würde, die CPU einfach zu sockeln, und extern zu programmieren, ev. auch nur mit einem Steckbrett, und VPP extern zuführen, 12V reichen, und sind leicht aufzutreiben, aber kein einfaches 12V Steckernetzteil. Ev auch eine neue 9V Blockbatterie.
Also ich habe letztendlich den 16F84 auch separat programmiert. Ein extra Sockel, wenig Tefzel Draht und einen verpolungssicheren Stecker (Reichelt: PS 25/5G WS). Überlege noch, ob ich nicht den PICSTART ZIF Sockel ausbaue und mit dem dann bis zu 28 Polige PIC's programmiere. Nur muss ich prüfen, ob ich alle Gehäuse in einem ZIF programmieren kann. Nun habe ich aber andere Probleme. Mein PIC will nicht laufen :-( Lothar
Nun hat es geklappt. Es waren die Config Bits. Es ist offensichtlich so, dass mein HEX File keine enthält. Erstellt habe ich dieses HEX File mit MPLab IDE. Der Programmer geht, aber die Config Bits kann ich nur einstellen, wenn ich einmal programmiere, dann auslese und die Bits anpasse. Nur noch einmal programmieren und es geht. Also ich bin mit dem 20 € Teil erstmal zufrieden (fertig mit Bauteilen bestückt und nutzbar). Software läuft auf Mac OS X 10.5.2 (PPC), was ich getestet habe. Windows XP geht auch. Linux Debian (PPC) geht noch nicht. Alles andere habe ich nicht getestet. Gruß Lothar
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.