Schaltung und Layout für einen ICD2-Clone
Samstag, 19. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Entwicklungswerkzeuge  |  Programmer und Debugger  |  Schaltung und Layout für einen ICD2-Clone « vorheriges nächstes »
Seiten: [1] 2 3 Nach unten Drucken
Autor Thema: Schaltung und Layout für einen ICD2-Clone  (Gelesen 16726 mal)
 
Steffen
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 1235


Profil anzeigen
« am: März 01, 2006, 16:55:54 »

So, ich habe mir auch mal einen ICD2-Clone zusammengebastelt.

Als Basis habe ich die Schaltung von http://icd2clone.narod.ru/ (ICD21) verwendet und dem Ganzen noch einen FT232R als USB-RS232 Umsetzer spendiert. Die Programmierspannung wird von einem Step-Up Wandler erzeugt und wird automatisch vom ICD2 an das Target angepasst.
Die Pegelanpassung der Datenleitungen zum Target erfolgt über Mosfets. Damit müsste das ICD mit Schaltungen bis zu 2,4V arbeiten können.

So sieht das Ganze aus:

Auf dem Bild ist das USB-Kabel direkt angelötet. Bei der Version im Anhang (ICD2-FT232R.zip) habe ich eine Mini-USB Buchse integriert. Nimmt nicht so viel Platz weg wie der Kabelbinder.

Demnächt werde ich höchtwahrscheinlich ein paar Platinen anfertigen lassen, falls jemand Interesse hat, PN an mich.

Die Platine ist mit min. 10mil Leiterbahnbreite/Abstand realisiert und für die DKs habe ich 0,6mm Nieten (Bungard) verwendet. Die Platine lässt sich also auch mit Hobbymitteln im Bastelkeller fertigen.

MfG
Steffen

[EDIT] Sorry, ich hatte ausversehen die falsche Version des Layouts hochgeladen.


* ICD2-FT232R.jpg (40.71 KB, 600x391 - angeschaut 4133 Mal.)
* ICD2-FT232R.zip (41.72 KB - runtergeladen 771 Mal.)
« Letzte Änderung: März 02, 2006, 08:50:43 von Steffen » Gespeichert
Bernd
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 3815



Profil anzeigen
« Antworten #1 am: März 02, 2006, 20:39:33 »

Hallo Steffen,

vielen Dank, daß Du Deine Schaltung hier zur Verfügung stellst  :mrgreen:.


Viele Grüße

Bernd


PS: Habe den Thread mal "sticky" gemacht.
Gespeichert

CM_HT
Full Member
***
Offline Offline

Beiträge: 163


Profil anzeigen
« Antworten #2 am: März 14, 2006, 13:22:04 »

Tolles Design, Gute Arbeit,

Gibt es dazu auch eine *.hex für den Pic?

Gruß

Claus
Gespeichert
Malcom
Newbie
*
Offline Offline

Beiträge: 13


Profil anzeigen
« Antworten #3 am: März 14, 2006, 16:23:48 »

Gibt es dazu auch eine *.hex für den Pic?

so wie ich des seh ist des ein icd2 clone wie der von Lothar Stolz(http://www.stolz.de.be/), also müsst die Beschreibung von da auch funzen, oder?

@Steffen.....respekt Smiley


grüße Malcom
Gespeichert
Steffen
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 1235


Profil anzeigen
« Antworten #4 am: März 14, 2006, 16:52:40 »

Danke für das Lob.

Im Prinzip ist das Design ähnlich dem von Lothar aufgebaut. Geht ja auch nicht großartig anders, da die Microchip Software die Pinbelegung etc. festlegt.

Mit einem 16F876 kann man den Original Bootloader verwenden. Der müsste MPLAB im Verzeichnis ICD2 beiliegen (Bl?Huch??.hex). Für einen 16F876A kommt ein geänderter Bootloader (siehe Link oben in dem *.zip-File die ICD661.hex) zum Einsatz.

MfG
Gespeichert
buffy
Gast
« Antworten #5 am: April 11, 2006, 21:47:20 »

Hallo Steffen,

sauberes gutes Design.

Zitat
Demnächt werde ich höchtwahrscheinlich ein paar Platinen anfertigen lassen, falls jemand Interesse hat, PN an mich.

Ich hätte Interesse an einer Platine, was wird die Kosten ?


Gruß buffy
Gespeichert
Steffen
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 1235


Profil anzeigen
« Antworten #6 am: April 12, 2006, 06:54:32 »

Ich hätte Interesse an einer Platine, was wird die Kosten ?

Da es nur ein paar Platinen werden wird das Stück vorraussichtlich 4,50€ kosten. Rest, wenn dann per PN.
Gespeichert
Steffen
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 1235


Profil anzeigen
« Antworten #7 am: Mai 11, 2006, 15:02:30 »

Ich habe mal eine der neuen Platinen bestückt. Bild ist im Anhang.

Noch als kleiner Tipp, wenn sich jemand den Clone nachbauen will, der FDTI zieht über den Fet (an DTR) MCLR des 16F876(A) auf Low. Daher ist eine Programmierung per ICSP nicht möglich. Um den PIC in der Schaltung programmieren zu können muss DTR des FT232R invertiert werden. Dazu benötigt man das Tool MPROG von FTDI und es muss der D2XX-Treiber für dieses Gerät installiert sein.


* ICD2-FT232R_1.1.jpg (22.94 KB, 500x187 - angeschaut 710 Mal.)
Gespeichert
Geri
Gast
« Antworten #8 am: Juni 02, 2006, 11:36:08 »

Hallo Steffen

Super Design vielen Dank!! Ich glaube, man kann den Bootloader auch über ICSP programmieren wenn man mit dem kostenlosen Terminal von Bray http://bray.velenje.cx/avr/terminal/ arbeitet. Mit diesem Terminal ist man nämlich in der Lage, die Leitungen der RS232 (z.BG. DTR) und damit MCLR zu schalten. Dann könnte es funktionieren. Der FTDI richtet ja ein COM-Port für den Zugriff ein.
Habe es aber noch nicht ausprobiert.

Beste Grüsse
Geri

 
Gespeichert
Steffen
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 1235


Profil anzeigen
« Antworten #9 am: Juni 04, 2006, 20:21:15 »

Hallo Geri,

mit dem oder einem anderen Terminalprogramm könnte man den Status von DTR auch während der Programmierung ändern.

Oder man arbeitet generell mit negiertem DTR Signal und entkoppelt das gegen MCLR mit einer Diode. Der Fet könnte dann im Prinzip entfallen.

MfG
Steffen
Gespeichert
bitleiste
Newbie
*
Offline Offline

Beiträge: 36



Profil anzeigen
« Antworten #10 am: August 14, 2006, 21:32:45 »

Hallo Steffen,

ich habe dein ICD2 erfolgreich nachgebaut (Danke nochmal für deine super Arbeit).

Der Aufbau ist wohl nicht ganz einfach (alles in SMD), aber man möchte ja auch was lernen.

Bootloader und die FW von MPLAP v7.31 ist drauf, es Funktioniert mal das wesentliche.

Ich habe jetzt nur noch ein Problem, wenn ich denn ICD mit dem Target verbinde Debugger oder Programmer werden folgende Meldungen ausgegeben,

...Reading ICD Product ID
Running ICD Self Test
... Failed Self Test.  See ICD2 Settings (status tab) for details.
MPLAB ICD 2 Ready 


im status tab unter Power sehe ich dann das Problem
Target Vdd = 5,31V
Target Vpp = da wechselt die U zwische 2,21 und 12,46V wenn ich UPDATE drücke
MPLAB ICD 2 Vpp = 12,46V

Meine Zielschaltung ist wie folgt aufgebaut,

16F876A
4mHz Quarz
R zwischen +5V und /MCLR
LED mit R am Ausgang C3
ICD2 -  16F876A
GND auf VSS
VDD auf VDD
MCLR auf /MCLR
PRC auf PGC
PRD auf PGD

die Zielschaltung ist mit +5V und GND Versorgt, das ist doch Richtig ?

 :nono:es wird mir keiner glauben, wenn ich jetzt mit dem Finger an den Widerstand fasse, bleibt die Spannung am
Target Vpp = auf ca. 12,46V, das ist doch ein Masse Problem ?

Dann läuft alles ohne Fehlermeldung.

Ich habe mir jetzt mal die Schaltung genauer angeschaut, das mit dem Digital Potentiometer und dem Step-up Wandler ist ja genial gelöst.

Die U wird ja vom 16F876A über SPI eingestellt, ist das bei dem Orginal ICD2 auch so, das macht ja die FW ?

Hast Du oder sonst noch jemand eine Idee was das sein kann.


Mit freundlichem Gruß Andreas
Gespeichert
Steffen
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 1235


Profil anzeigen
« Antworten #11 am: August 15, 2006, 06:51:01 »

Hallo Andreas,

Zitat
die Zielschaltung ist mit +5V und GND Versorgt, das ist doch Richtig ?

Ja, ist so weit richtig, wenn du unter Programmer/Settings/Power Power target circuit from MPLAB ICD 2 (5V Vdd) deaktiviert hast.

Zitat
es wird mir keiner glauben, wenn ich jetzt mit dem Finger an den Widerstand fasse, bleibt die Spannung am Target Vpp = auf ca. 12,46V, das ist doch ein Masse Problem ?

Könnte irgendwo eine kalte Lötstelle sein. Kann aber auch unter Umständen an einem zu langen Programmierkabel liegen. Hatte ich auch schon, allerdings betraf das nur einen einzigen 16F876A von 50 Stück.? Keine Ahnung was es genau war aber irgend jemand hatte ähnliche Probleme mit einem Original ICD2. Heraus kam, dass die Firmware von Microchip wohl einen kleinen Bug hat und die MCLR-Pulse zu kurz sind. Dazu noch die Leitungskapazitäten und nichts geht mehr. Bin mir jetzt aber nicht sicher, ob in der aktuellsten Version das schon behoben ist. In der 7.31 auf jeden Fall noch nicht.

Zitat
Ich habe mir jetzt mal die Schaltung genauer angeschaut, das mit dem Digital Potentiometer und dem Step-up Wandler ist ja genial gelöst.
Die U wird ja vom 16F876A über SPI eingestellt, ist das bei dem Orginal ICD2 auch so, das macht ja die FW ?

Ja, ist 1:1 vom Original übernommen.

MfG
Steffen
Gespeichert
bitleiste
Newbie
*
Offline Offline

Beiträge: 36



Profil anzeigen
« Antworten #12 am: August 15, 2006, 11:32:06 »

Hallo Steffen,

Danke für die super schnelle Antwort.

Ich werde die Punkte heute Abend mal durchgehen, und entsprechend Berichten.

Zitat
Kann aber auch unter Umständen an einem zu langen Programmierkabel liegen.

Meine Leitungen zum Target sind ca. 30cm lang, ich werde die mal auf 20cm kürzen.

Das hatte ich gestern noch vergessen, die LED D5 vom RB2 ist doch die Error Anzeige.
Wann wird die vom MPLAB gesetzt, was muss da Fehlerhaft sein ?

Schöne Grüße Andreas
Gespeichert
Steffen
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 1235


Profil anzeigen
« Antworten #13 am: August 15, 2006, 12:33:38 »

Versuche es sicherheitshalber erst einmal mit 10cm. D5 an RB2 wird anscheinend von der aktuellen Firmware nicht verwendet.
Gespeichert
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #14 am: August 15, 2006, 13:20:15 »

Hallo ihr beiden,
die D5 ist die Busy LED. Sie wird von der aktuellen Firmware die bei V7.41 dabei ist, angesteuert. Man bringt die z.B. zum Leuchten, wenn man grade debuggen tut und zwischen den Schritten die Betriebsspannung des Target abschaltet. Sollte man aber normalerweise nicht tun  :nono2:
Meine Programmierleitung mußte ich auf rund 16cm kürzen, erst dann lief alles einwandfrei.
Tschau Oerni
Gespeichert
Seiten: [1] 2 3 Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.042 Sekunden mit 19 Zugriffen.
 
Top! Top!