Datum: 30.12.2004 10:14
Hallo, dank dieses Forums bin ich auf folgenden Link aufmerksam geworden: http://www.stolz.de.be/ Dort ist eine Bauanleitung für einen ICD 2 angegeben. Da ich mich bald wieder mal mit PICs (PIC18F) befassen werde und mir ein original ICD 2 zu teuer ist, habe ich das Teil mal aufgebaut. Ich wollte hier einfach mal fragen, ob sich jemand (außer Paul, seine Reichelt Bestellung ist noch nicht da :)) ebenfalls dieses Teil gebaut hat und welche Erfahrungen er gesammelt hat. Leider funktioniert meines nicht, der PC sendet an den ICD 2, von dem kommt aber nichts zurück. Offensichtlich scheint der Bootloader nicht anzuspringen, vielleicht weil der verwendete 20 MHz Quarz falsch ist? Ich habe statt des angegebenen PIC16F876 einen PIC16F877 genommen, daß sollte allerdings kein Problem sein. Vielen Dank. Gruß Thorsten
Datum: 30.12.2004 14:08
Hallo Ich werde mir in den nächsten Tagen auch einen bauen. Dann kann ich Dir Bericht erstatten. LG Michael
Datum: 02.01.2005 18:40
Hallo Leute, gute Nachrichten: das Teil funktioniert. Ich kann nicht nachvollziehen, warum es Anfangs nicht ging aber ist auch egal. Also ich hab die Schaltung aus obigem Link aufgebaut und das File BL010101.hex mit einem einfachen Programmer in den PIC gebrannt. Wichtig: nur die Fuse WRT "Flash Program Memory Write Enable" darf gesetzt sein. Dann Spannung an die Schaltung legen und das Teil an die serielle Schnittstelle hängen. Nach starten von MPLAB unter "Debugger->Select Tool" einfach ICD 2 auswählen, unter "Debugger->Settings->Communication" die richtige Schnittstelle auswählen und nun "Debugger->Download ICD 2 Operting System" wählen. Auf keinen Fall zuerst "Connect" wählen, so funktioniert es nicht. Nach ein paar Sekunden ist der Upload beendet und man hat einen vollwertigen In Circuit Debugger 2 :)) Ich habe meine Version noch etwas verändert. Statt des MAX232 habe ich den ICD an ein FT232-Modul angeschlossen, dieses versorgt den ICD auch mit +5V. Außerdem erzeuge ich mir mit einem MAX761 (Step-Up-Regler) die benötigten +12V Programmierspannung. Alles zusammen ist bei mir zur Zeit noch auf einer Kombination aus Lochrasterplatine, Steckbrett, PIC16F877-Board und Freiluftverdrahtung aufgebaut. Als Target verwende ich ein zweites PIC16F877-Board und ich bin echt begeistert davon. Ich hoffe mal, daß ich nächste Woche meine PIC18Fxxxx bekomme und wenn das Teil mit diesen Typen auch so perfekt funktioniert, dann werde ich wohl mal ne Platine machen. Macht Spaß, mal so eben 180 Euro gespart zu haben. Irgendwie toll, zu allem gibts irgendwie auch ne billige Variante, die der teuren in nichts nachsteht. Tja, als nächstes wäre dann ein ICD für die AVRs fällig, aber das gibts ja auch. Viel Spaß beim Aufbau! Gruß Thorsten
Datum: 26.04.2005 11:35
Hallo Thorsten, hast Du mittlerweile eine Platine entwickelt? Hätte auch Interesse.
Datum: 26.04.2005 11:41
Hallo Wildsau, leider habe ich noch keine Platine, ist immer noch alles auf Lochraster. Hmm, vielleicht sollte ich langsam mal damit in die Gänge kommen, es haben schon mehrere Leute Interesse angemeldet :)
Datum: 26.04.2005 20:10
falls Schaltplan zu erhalten wäre könnte ich eine Platine mit Eagle zeichnen l-hase
Datum: 13.05.2005 16:04
Hallo Thorsten/Anton. Hat von euch schon jemand ne neue Platine gemacht? Hätte nämlich auch starkes Interesse dran.
Datum: 13.05.2005 16:52
Konnte mich noch nicht aufraffen :) Machs doch auch auf Lochraster...
Datum: 18.05.2005 21:42
Hallo Leute! Schaltbilder und Layouts für den ICD2 nach Lothar´s Design gibt´s mittlerweile mehrere. Z.B. auch hier: http://www.harald-sattler.de/html/icd2_usb.htm Gruß Harald _____________
Datum: 23.05.2005 20:39
Wie funktionnieren die ICD2 Nachbauten mit einem USB-Seriel Adapter? Klar USB ist zwar schneller als RS232, aber die Responsezeit ist größer. Oder kann man auch mit USB-Seriel Adapter ganz normal damit arbeiten? @Harald: Planst Du auch noch eine Variante mit FT232? Grüße, Bernd
Datum: 23.05.2005 20:52
Ich benutze den Nachbau mit meinem selbstgebauten FT232-Modul, funktioniert problemlos allerdings nur bis max. COM4. Auch ist die Geschwindigkeit etwas langsamer als rein RS232, daß macht sich meiner Meinung nach aber erst beim reinen Debuggen störend bemerkbar.
Datum: 23.05.2005 20:54
Hi Bernd, die vorgestellte Version IST mit dem FT232 aufgebaut. Ich habe keinen Vergleich, was die Geschwindigkeit angeht, aber man kann damit arbeiten. Bedenke, dass der FT232 lediglich ein RS232-USB-Umsetzer ist, die GEschwindigkeit ist also wohl eher RS232-mäßig. Gruß Harald ______________
Datum: 23.05.2005 21:42
@ Harald: "Bedenke, dass der FT232 lediglich ein RS232-USB-Umsetzer ist, die GEschwindigkeit ist also wohl eher RS232-mäßig." Das Problem bei USB ist, dass die Reaktionszeit (Anforderung<->Antwort) bei USB immer > 2ms ist. Da ist ein alter COMPort fixer. Ich war vorhin auf Deiner Seite, aber eine USB-Variante habe ich nicht gesehen. Hast Du einen direkten Link? @Thorsten: "...beim reinen Debuggen störend bemerkbar..." Ich wollte die ICD2 eigenlich nur wegen dem Debuggen haben. Was meinst Du mit störend? Wie lange braucht man den um einen PIC18 mit 128k zu Programmieren? Grüße, Bernd
Datum: 23.05.2005 21:51
Mit störend meine ich, daß man das Gefühl hat es könnte ruhig etwas schneller gehen besonders wenn man viele Register anzeigen möchte. Es läßt sich aber auf jeden Fall damit arbeiten, zumal das Teil fast nix kostet. Eine Geschwindigkeitsangabe kann ich bei Gelegenheit mal machen, hab das Teil gerade nicht hier. Fakt ist aber, daß es DEUTLICH schneller mit RS232 geht.
Datum: 23.05.2005 22:05
Hi Bernd! >Ich war vorhin auf Deiner Seite, aber eine USB-Variante habe ich nicht >gesehen. Hast Du einen direkten Link? der Link aus meinem ersten Posting führt direkt auf die ICD-USB-Seite. Ich schwöre, da ist ein FT232 USB-RS232-Umsetzer drin :-) Hier nochmal: http://www.harald-sattler.de/html/icd2_usb.htm Bitte mal das Schaltbild anschauen (durch Click auf das Bild kommt der Plan in voller Auflösung). Und alternativ die Fotos... vor allem das untere von der Kupferseite. Der schwarze Klecks oben in der Mitte ist der Ft232. Gruß Harald
Datum: 23.05.2005 22:37
"Ich schwöre, da ist ein FT232 USB-RS232-Umsetzer drin :-)" OK, dann hab ich wohl auf den falschen Seiten geguckt. Ich würde aber noch zwei 47pF Kondensatoren zwischen USB-Connector und 27R Widerständen einbauen. Siehe auch hier http://home.arcor.de/bernhard.michelis/Documentation.zip auf Seite 43 "Schematic" oder im Attachment. Grüße, Bernd
Datum: 23.05.2005 23:29
@Bernd werde ich bei nächster Gelegenheit machen, danke für den Tipp. (Bei mir läuft´s aber immerhin, auch an USB 2.0-Anschlüssen). Gruß Harald
Datum: 24.05.2005 09:12
@Harald: Ich habe gerade nochmal über die Schaltung geschaut. Ist es eigentlich möglich (ich kenne mich nur mit dem D2XX Treiber aus) mehrere FT232 an einen Rechner anzuschließen und auseinanderzuhalten, wenn man kein externes EEPROM verwendet? Ich könnte mir vorstellen, dass viele Leute die FTxxx Chips auch in ihren Schaltungen einsetzen (so wie ich). Und da sollte es meines Wissens nach ohne EEPROM zu Konflikten kommen. Grüße, Bernd
Datum: 24.05.2005 20:39
@Bernd Mhmm... da kuckst du hier: Seite 4 des Datenblatts des FT232BM "Multiple Device Support without EEPROM. When no EEPROM (or a blank or invalid EEPROM) is attached to the device, the FT232BM no longer gives a serial number as part of its USB descriptor. This allows multiple devices to be simultaneously connected to the same PC. However, we still highly recommend that EEPROM is used, as without serial numbers a device can only be identified by which hub port in the USB tree it is connected to which can change if the end user re-plugs the device into a different port." Wie das genau geht, liest du aber bitte selbst nach ;-)) ... Habe ich euch eigentlich schon erzählt, dass ich diesen ICD2 ausschließlich anhand des Designs von Lothar Stolz NACHGEBAUT habe und ansonsten keinerlei Aktivitäten mit den verwendeten Chips und somit auch kein KnowHow in Sachen USB-Innereien habe? Nein? Mist, habe ich dann wohl vergessen... steht aber auf meiner Homepage ;-)) Will sagen: ich helfe gerne, wenn ich mich irgendwo auskenne, aber Datenblätter lesen muss jeder selbst machen. In diesem Sinne... und nicht sauer sein, gell... :-) ...und wech... Harald
Datum: 24.05.2005 22:16
@Bernd Du kennst aber die Bedeutung von Smileys, oder? Ich bin weder sauer noch eingeschnappt, weil du mich nach dem FT232 gefragt hast. Und wenn ich das Forum hier so lese, scheint ihr mir auch nicht die Sorte Jungs zu sein, die lieber andere Googeln lassen. Da ich das Datenblatt des FT232 sowieso schon gesaugt hatte, habe ich halt reingeschaut und gefunden was du suchtest. Kein Problem soweit. Aber ich wollte verhindern, dass der Eindruck aufkommt, ich hätte USB "drauf" und könnte alle Fragen dazu aus dem Bauch (oder Kopf) beantworten. Da seid ihr (oder sind Einzelne aus eurem Board) schon deutlich weiter. So, ich hoffe, ich konnte das klarstellen. Was mich noch interessieren würde: In diesem Thread haben mehrere Poster nach einem Layout gefragt, einer hat sogar angeboten, bei vorhandenem Schaltbild ein Layout zu machen. Deshalb hatet ich mich überhaupt erst eingemischt, denn die Arbeit ist ja schon gemacht. Baut denn jetzt einer von euch das Dingen nach? Gruß Harald
Datum: 25.05.2005 08:34
Also wie gesagt, ic hab das zur Zeit auf ner Lochraster laufen. So wie ich zeit habe, werde ich mich an das Layout machen. Ich wollte vor allem auch noch mal drüber nachdenken, wie man das Teil auch für kleine Target-VCC tauglich machen kann. Manche PICs laufen ja schon ab 2V und da wären dann Pegelwandler notwendig.
Datum: 25.05.2005 09:07
@Harald Als einfache Lösung reicht die Minnimalvariante nach Lothar Stolz mit Sicherheit aus. Sie hat aber auch ein paar Nachteile: - Debuggen nur bei 5V-Target möglich - feste Programmierspannung (Vpp) - durch USB leicht verzögerte Datenübertragung Unter http://icd2clone.narod.ru/ habe ich einen Clone gefunden, der mit Fets als Level-Shifter arbeitet. Die Variante wollte ich schon länger mal so ähnlich mit FTDI-Chip aufbauen, bin aber noch nicht dazu gekommen. Bei Olimex gibt es übrigens einen ICD2-Clone für umgerechnet rund 60,-.
Datum: 25.05.2005 18:58
@Steffen ok, das sind Argumente, die (momentan) für mich keine Relevanz haben. Ich musste nur ein paar moderne 5V-PICs programmieren, was das Stolz-Teil tut, mein oller ICD1-Clone nicht. Das hätte ich sicher auch mit dem einen oder anderen Billig-Programmer fertig bekommen (ich gebe zu, das habe ich sogar versucht, bin aber jämmerlich gescheitert :-) aber da ich den ICD2 schon immer mal nachbauen wollte (ich habe das Thema halbherzig seit jetzt über einem JAhr verfolgt), passte jetzt alles zusammen. Verstehe ich dich richtig? Der Olimex-CLone ist ein 1:1-Clone, der all die oben beschriebenen Nachteile nicht hat? DAnn sind 60 wohl gerechtfertigt. Harald
Datum: 26.05.2005 08:01
Hallo Harald, ja der Olimex-Clone ist ein vollwertiger ICD2. Hier gibt es auch die komplette Originalschaltung -->http://www.nebadje.org/archive/ICD2_DOC.pdf Klar, als Programmer ist das Stolz-Teil völlig ausreichend. Der Clone des ICD1 kann übrigens mit der Software von CCS (www.pic-c.com) auch alle PICs programmieren. Funktioniert auch mit FTDI-Chip an USB ausgezeichnet (im Gegensatz zur Original Microchip-Firmware).
Datum: 26.05.2005 11:16
Danke für die Tipps, alle zu spät ;-)) Die PDF ist schön gemacht und hat einige Hintergrundinfos zusammengetragen, die man sich in den Foren sonst mühsam zusammensuchen muss. Kannte ich noch nicht, trotz intensiver Sucherei.
Datum: 12.07.2005 16:35
Hallo Brauche ich wenn ich einen 16F876A verwende nicht einen anderen Bootloader? Wo kriege ich den(Links bitte)? Sebastian
Datum: 12.07.2005 18:32
Ich hab mir da ding anno neulich auch mit nem 16F876A aufgebaut. Ich benutze den Bootloader in Anhang.
Datum: 13.07.2005 18:27
Noch ne Frage, hat mal jemand den 100%igen ICD Clone nachgebaut? Wenn ja wie programmiere ich den USB controller? Was für Hardware brauche ich welche Software,... hab bisher nen 0815 Brenner gehabt und na ja, wenn schon denn schon, oder? ist der CY7C64613 Sebastian
Datum: 21.07.2005 13:16
Hallo, ich hab mir den ICD2 von http://www.stolz.de.be/ nachgebaut. Leider gibt MPLAB 7.20 folgende Fehlermeldung aus: Connecting to MPLAB ICD 2 ICD0021: Unable to connect with MPLAB ICD 2 MPLAB ICD 2 Ready Als Bootloader verwende ich "ICD661.hex" Wenn ich aus MPLAB heraus verbinden will,hab ich an der Sub D 9 Buchse an Pin 4 und 7 einen Flankenwechsel von high zu low. An den anderen Pins passiert nix weiter. Wo könnte der Fehler sein?
Datum: 22.07.2005 23:08
Hallo Das Projekt http://www.nebadje.org/archive/ICD2_DOC.pdf ist sehr gut denke ich aber verwndet eben einen USB Controller der schwierig zu beschaffen ist wie auch andere eher exotische Bauteile. Kennt jemanden einen anderen 100% igen clone der weniger aufwendig ist und bei dem ich problemlos alle Komponenten so beschaffen kann? mfg Sebastian
Datum: 27.07.2005 13:05
Das Projekt ist interessant, nur wie funktioniert dieser USB-Controller? Benötigt der keine Firmware oder ist die da schon werkseitig integriert? Irgendwie werde ich nicht so ganz schlau daraus. Ich will unbedingt eine echte USB-Lösung bauen. Das mit dem FT232 ist ja ganz nett, nur bei größeren Programmen dauert der Datentransfer doch recht lange. Sind halt die gleichen Probleme wie bei den ISP-Teilen für AVRs, die mit FT232 an RS232 betrieben werden: es werden nur kleine Datenpakete übertragen.
Datum: 05.01.2006 21:51
Hallo ich habe genau das gleiche Problem wie Tim L. Ich habe aber mittlerweile die MPLAB Version v7.30. Hat jemand eine Ahnung was da jetzt der unterschied ist, zwischen MPLAB 6 und MPLAB 7. Hat möglicherweise Microchip, einen Riegel vor die nachbauten geschoben? mfg tomtom
Datum: 06.01.2006 08:04
Hallo, nach rumprobieren habe ich das ICD2 auch mit MPLAB 7.20 zum laufen gebracht. Es sollte auch mit V7.30 laufen. Überprüf erstmal die COM Einstellungen in MPLAB und in der Systemsteurung. Die sollten übereinstimmen. Dann die Verbindung vom ICD2 zum µC checken. Wichtig ist auch, dass du im Code das Configuration Bit für Inline Debuging setzt.
Datum: 02.02.2006 18:11
an alle Clone besitzer funktioniert denn nun so ein clone genau wie das priginal und kannn man mit dem denn auch debuggen??? wenn ja dann werde ich mir auch einen aufbauen. falls aber nicht, dann nehm wirds wohl ein sprut brenner werden gruß Eugen
Datum: 02.02.2006 19:02
Also meiner funktioniert jetzt wie gesagt. Ich finde die Debugging Geschwindigkeit nur etwas langsam und nutze den Debugger deswegen nur in Ausnahmefällen.
Datum: 02.02.2006 19:49
Leider hab ich den USB teil nicht zum laufen gebracht. Ich habe dann den USB Chip rausgeworfen und betreibe den ICD2 Clone über RS232, das klapt sehr gut. Ist nur ein bischen langsam.
Datum: 11.02.2006 01:11
Hi zusammen! Ich habe Haralds Lösung nachgebaut, der ICD2 wird wenn an USB angesteckt auch noch als USB-RS232-Konverter erkannt, das wars dann aber auch schon. Einerseits sollte man ja mit dem Poti die Prog-Spannung einstellen können und andererseits sollte man ja auch eine Kommunikation zwischen ICD2 und PC herstellen können, ohne ein Target dran zu haben. Was muss ich tun, damit ich die Prog-Spannung einstellen kann? Bei mir kommen bei der Prog-Spg am Stecker nur 0,05V raus... Leider funzt auch die Kommunikation nicht richtig (Einstellung COM3, 19200Bd, sowohl in der Systemsteuerung als auch im MPLAB) - ich verwende MPLAB Ver 7.30... Hat jemand einen Tip für mich? Bitte um Info Danke Herbert
Datum: 11.02.2006 09:53
Hallo Herbert, ähnlich Probleme hatte ich auch. Wie schon oben gesagt habe ich den USB-Teil rausgeworfen, da dieser keinen geschwindigkeitsvorteil bietet. Es läuft am ende ja doch alles über rs232. Ich habe also einen MAX232 vorgeschaltet und das läuft einwandfrei. Man kann aber nur zwischen COM1 und COM2 wählen, alle anderen COM's werden nicht unterstützt, auch wen diese in MPLAB angezeigt werden. Die Programmierspannung läst sich direkt am Vpp pin des Target-Steckers messen, während der Programmierung. Leichter ist es, wenn man in MPLAB, in den einstellungen (Settings) im Registerblatt "Power" nachschaut. Hier wird die eingestellte Spannung angezeigt wenn man auf den Button "Update" klickt. Das funktioniert auch ohne Target, eine funktionierende Verbindung zum ICD2 muß man aber schon haben. Eine verbindung zum ICD2-Clone läst sich auch ohne Target herstellen und die Spannungsmessung fuktioniert auch, aber es wird während des Connect- vorgangs eine fehlermeldung ausgegeben.
Datum: 18.02.2006 12:56
Ich möchte mir gerade diesen ICD2 Clone nachbauen: http://www.nebadje.org/archive/ICD2_DOC.pdf Hat das schon irgendjemand gemacht? Welche Erfahrungen habt ihr gemacht? Leider sind nur die Gerber Files verfügbar? Oder hab ich da auch was übersehen? Ich finde nämliche leider nicht den Gleichrichter B1 in der BOM. Es soll ein Gleichrichter im SOP6 Gehäuse sein, keine Ahnung :-( Wenn es Eagle Files oder so geben würde, könnte man ja einfach schnell das Package ändern. Gruß michael
Datum: 17.03.2006 22:02
Hallo Leute, hätte jemand von euch Interesse daran, mit mir den BL010101.hex bootloader auf einen 18F4550 (und ähnliche) mit USB-Schnittstelle umzuschreiben? Das hätte den Vorteil, dass die RS232 zwischen FT232 und dem PIC16F87X wegfallen würde. Wer sich damit auskennt kann sich bei mir melden. Schalplan und Layout für diese Schaltung wären schon soweit, dass nur mehr die Ports den Programmierleitungen zugewießen werden müssen. mfG Berni
Datum: 17.03.2006 22:19
Das würde dir wohl so gut wie nichts nützen. Der Bootloader ist eigentlich zweitrangig. Man müsste die komplette Firmware auf den 18F4550 umschreiben und das jedes Mal, wenn Microchip ein neues Update herausbringt. Dann kannst Du dir gleich eine eigene Software schreiben. der Hauptvorteil des ICD2, die Kompatibilität zu MPLAB wäre damit aber dahin.
Datum: 18.03.2006 10:36
Das mit der Firmware ist mir bekannt und man müsste im 18F4550 eine Funktion implementieren, welche selbst am Mikrocontroller jedes Update von 16F876 auf 18F4550 umcodiert. Das wäre dann noch die zweite Herausforderung neben dem MPLAB kompatieblen Bootloader. Eine Kompatibiltät des Programmierers mit MPLAB ist für mich persönlich das primäre Ziel, denn ich möchte auch den Debug Modus verwenden.
Datum: 18.03.2006 16:04
Das hört sich tatsächlich nach einer SEHR GROSSEN herausforderung an. Ich würde sagen das der aufwand die Firmware automatisch umzucodieren grösser ist, als eine eigene neue Firmware zu schreiben, da der Hexcode des 16F876 aus mehreren gründen, überhaupt nicht Kompatibel zu dem des 18F4550 ist. Da wäre schonmal die vollkommen andere Programm- und Datenspeicherstruktur und die dadurch ander Adressierung. Man müsste nahezu jeden einzelnen Befehl umwandeln. Selbst wenn man den Original Sourcecode hätte, gäbe das erhebliche Probleme. Wenn es überhaupt möglich ist, bleibt die frage ob sich der Aufwand wirklich lohnt.
Datum: 18.03.2006 16:43
Die Unterschiede in den beiden Architekturen sind mir sehr wohl bekannt und dass der Aufwand bei weitem größer sein wird, als einfach einen ICD2 Clone nachzubauen, den es schon gibt. Eine erste Idee bestand darin, auf dem 18F4550/2550 einen 16F877/876 zu simulieren, d.h mit allen SFR-Registern des 16F und diese dann in die zur Laufzeit in einem Timerinterrupt in die richtigen SFR's des 18F umzuarbeiten. Einzelne Befehle vom 14Bit-Core des 16F auf die 16Bit-Core des 18F während des Booloads umzurechnen dürfte nicht das Problem sein. Schlimmer könnte es mit der gesamten Funktion aussehen, da z.B der 18F aufgrund des USB's vorraussichtlich mit einer höheren Frequenz arbeiten wird als der 16F im ICD2 und das könnte Timingprobleme beim Programmieren und Debugger mit sich bringen usw. Falls jemand Ahnung hat, WIE MPLAB mit dem ICD2 kommuniziert (sprich Protokoll), wäre mir das eine willkommene Hilfe um einen Ansatz für meinen USB-Bootloader zu finden. Berni
Datum: 18.03.2006 21:23
Wenn man den 18F4550 mit 20MHz betreibern würde, dann wäre es durch aus denkbar die Software kompatibel zu portieren. So unterschiedlich ist die Struktur nun auch nicht. Umgekehrt wäre es unmöglich aber so rum kein Thema. Aber ich bleibe dabei, was bringt der ganze Aufwand? Bringen würde es nur etwas, wenn man das Protokoll des USB-Treibers kennen würde. Dann währe es aber einfacher, einen 16F877 mit dem Original USB-Chip zu verwenden. Da gibt es nix umzucodieren. einfach zusammenbraten und fertig. Die Schaltung ist ja kein geheimnis mehr. Für rund 60,- gibt es übrigens einen fertigen, zum Original 100%-ig kompatiblen Clone bei Olimex. Die USB-RS232 Variante is eh ne Krücke in Bezug auf Geschwindigkeit, auch wenn ich selbst eine Variante entworfen und in Betrieb genommen habe. Zum Debuggen verwende ich ihn eh selten und zum Programmieren ist er OK. MfG Steffen PS: Ich hatte eigentlich mal vor einen ICD auf Grundlage der FTDI-Chips ohne eigenen Mikrocontroller zu basteln. Wäre kein Thema gewesen und es hätten sich auch beachtliche Geschwindigkeiten bei reiner Softwaresteuerung realisieren lassen aber Microchip rückt ja die Spezifikationen der ICD-Schnittstelle (außer vom 16F876) nicht raus.
Datum: 06.04.2006 21:05
habe folgendes problem icd1 nachbau, mplap 5.0, pic 16f877 -->funktioniert mit pic 16f877A funktioniert nur der selbstest also praktisch nix hilft hier nur ein icd2 oder gibt es noch ander möglichkeiten das system mit den neueren PICs der A serie zu betreiben? danke i.g
Datum: 06.04.2006 21:42
Ein update auf 'ne neuere Version MPLAB könnte hilfreich sein. Derzeit ist 7.3irgendwas aktuell, sind aber etwa 30MB download. Dieter
Datum: 06.04.2006 21:55
Sorry, war leider ein Schnellschuss :-(. Version 7.xx kennt den ICD1 nicht mehr, da braucht man 'nen ICD2 für .... Grrrr. Als Krösus mit ICE2000 übersieht man da leicht mal was ;-).
Datum: 02.05.2006 22:08
Ich benutze MPLAB V 7.31. unter der ICD2 Verzeichniss sind zwei Dateien: ICD2_4550_BOOT_0180.BIN ICD2_4550_OS_0100.BIN Sind das die Firmware programme für den 18F4550 Chip ? Hat jemand die Schaltbilder für den ICD2 programmer mit dem 4550 Chip ? Danke für die Antwort.
Datum: 03.05.2006 19:37
Ich möchte bezweifeln dass die Firma, die den ICD2 clone mit dem 18F4550 herstellt, den schaltplan dafür rausrückt ;-). Hier aber schon mal der link zu dieser Brasilianischen Firma : http://www.labtools.com.br/index.asp?area=07&i... Bei dem ICD2 clone ist der 18F4550 aber nur ein preisgünstiger Ersatz für den CY7C64613, des Originals von Microchip. Als zentrales Bauteil fungiert weiterhin der 16F877A. Es wäre aber interessant heraus zu finden wie die das gemacht haben. Das könnte ziemliche Geschwindigkeitsvorteile bringen, da der 4550, parallel an den 877 angebunden ist und nicht über den emulierten COM-Port. Vielleicht hat ja mal jemand Langeweile und probiert es aus. Es gibt auch eine Diskusion, im EDA board zu dem Thema.
Datum: 03.05.2006 22:03
Das folgende schaltbild habe ich in den foren gefunden. Weiss aber nicht ob es funtioniert. Muss mal ausprobiert werden. Schaut es doch mal an und sagt einige Kommentare dazu.
Datum: 03.05.2006 23:58
Hallo nochmal, Da hat jemand den PMLAB auf linux geschieben. Die adresse: http://piklab.sourceforge.net/ Es sind auch Quelldateien vohanden. Und das schöne ist das dieses programm mit IDC2, Pickit1 und Pickit1 arbeitet. Da kann man sehen wie man mit dem ICD2 komuniziert. Mann muss sich aber in c++ gut auskennen.
Datum: 17.07.2006 14:26
Hallo! Hat schon mal jemand den ICD2 Clone von Lothar Stolz im Zusammenspiel mit piklab ausprobiert? Funktioniert das genauso wie mit dem originalen von Microchip? Ich frage nur, weil der Clone ja einen 'virtuellen' COMPort benutzt (FT232BM).
Datum: 30.08.2006 13:19
Hallo, hier ist der Beitrag aus dem EDA Board: http://www.edaboard.com/ftopic161641-0-asc-0.html Darin wird ein ICD2 mit 18F4550 realisiert wurde. Es gibt in diesem mega langen Beitrag viele verschiedene Designs und das ganze ist durch die länge des Threads kaum überschaubar. Nun meine Frage: Hat schon jemand eine Version des ICD2 mit 18F4550 aufgebaut und kann was über die Debugging Geschwindigkeit sagen? Es handelt sich ja um einen vollwertigen USB Debugger und keinem mit FT232 Chip.
Datum: 13.09.2006 11:34
Hallo alle zusammen, ich habe ich eine ICD2 von www.Stolz.be.de nachgebaut und dabei den Ft232BL mit einen 93LC46 EEPROM aufgebaut. Der Treiber 2154 wurde korrekt installiert und funktionierte. Die Kommunikation über den FT232 lief auch (RX/TX gebrückt mit Hyperterminal), aber MPLAB 7.31 konnte sich nicht verbinden. NAch einigen schlaflosen Nächten konnte ich das Problem lösen indem ich einfach den EEPROM mit MProg2.8 erstmalig beschrieben habe. Dabei habe ich nur die mA-Angabe auf 500 verändert, die ID s aber beibehalten und schon hat es funktioniert.... Vielleicht hilft das ja jemanden.... Gruß MAtthias
Datum: 13.09.2006 18:19
Hi! Nach langer Zeit melde ich mich hier auch mal wieder, denn ich bin jetzt endlich mal dazu gekommen, eine Platine zu entwickeln. Dabei dachte ich mir, den FT232BM mit seiner doch sehr umfangreichen Beschaltung durch den neuen FT232RL zu ersetzen. Doch leider habe ich mit dem 232RL nur Probleme. Nicht nur bei meinem ICD2 sondern auch noch bei 2 anderen Projekten. Speziell beim ICD2 ist es so, dass er von MPLAB nur einmal erkannt wird. Wenn ich MPLAB beende und es später neu starte, wird der ICD2 nicht erkannt. Es ist erst ein Rechnerneustart erforderlich. Die neuste MPLAB-Version (v7.40) erkennt den ICD2 überhaupt nicht, ältere Versionen als v7.10 erkennen ihn manchmal, und dann aber auch nur, wenn der zugehörige COM-Port bis max. COM4 geht. Alles sehr seltsam und ich würde das Problem so spontan mal auf den FT232RL und dessen Treiber schieben. Mir ist aufgefallen, dass die Probleme bei den anderen zwei Projekten genau dann auftreten, wenn ich den FT232RL mit MProg 2.8a beschreibe. Wenn ich den Baustein quasi jungfräulich benutze, funktioniert es besser.
Datum: 13.09.2006 18:44
HAst du den ICD auch immer abgemeldet? Ich glaube ich habe einmal von solchen Problemen gelesen. Und da war es glaube ich der nicht abgemeldet ICD.
Datum: 14.09.2006 17:38
Habe nochmal rumgesucht und -gelesen. Es wurde berichtet (u. a. auf forum.microchip.com), dass MPLAB Probleme damit hat, wenn die COM-Reihenfolge Lücken aufweist, also z. B. COM1, COM2 und COM4. Wenn man jetzt COM4 einstellt, will MPLAB COM3 öffnen und dies führt zwangsläufig zu Problemen. Benutzt man dagegen COM2, funktioniert es. Dies habe ich auch in der Tat beobachtet. Nur klappte es halt immer nur beim ersten mal. Ich habe jetzt mal auf meinem Notebook das neuste MPLAB installiert und in der Systemsteuerung die COM-Reihenfolge lückenlos gestaltet. Und siehe da, es funktioniert perfekt. Vielleicht hilft das ja jemandem.
Datum: 25.09.2006 17:53
Ich habe festgestellt, dass es sehr oft deshalb nicht ein zweites Mal geht, weil die IDE beim Wechseln des Debuggers z.B. in d. Simulator danach von selbst die ICD2 auf USB umstellt. Deshalb immer Debugger/Settings überprüfen und auf COM stellen und nochmal CONNECT. Es stimmt auch, dass es nicht geht, wenn die COMs eine Lücke aufweisen. Wer z.B. COM1 und COM2 in Hardware hat muss für die virtuelle COM mit FT232RL COM3 konfigurieren, COM4 geht nicht. Ausserdem habe ich festgestellt, dass es über V24 immer gleich langsam geht, egal ob man 19200 oder 57600 wählt, auch mit FT232RL ist das egal.
Datum: 25.09.2006 18:02
> Ich habe festgestellt, dass es sehr oft deshalb nicht ein > zweites Mal geht, weil die IDE beim Wechseln des Debuggers > z.B. in d. Simulator danach von selbst die ICD2 auf USB > umstellt. Stimmt, daher sollte man "Autoconnect" deaktivieren! > Ausserdem habe ich festgestellt, dass es über V24 immer > gleich langsam geht, egal ob man 19200 oder 57600 wählt, > auch mit FT232RL ist das egal. Ist mir auch aufgefallen, betrifft aber nur die VCPs. Normale serielle Schnittstellen sind bei 57k6 deutlich schneller; zumindest bei mir :)
Datum: 28.09.2006 10:45
@Harald: Ich weiß nicht, ob Du hier noch mitliest. Ich habe auch Deine Schaltung vom ICD2 mit USB-Anschluß nachgebaut. (Allerdings auf eigener Platine, wo ich das Hühnerfutter wieder in SMD realisiert habe) @Alle: Da ich den ICD2 sowohl in der Firma als auch zu Hause benutze, und einige Kollegen von mir ebenso, haben wir ihn hier direkt vier mal aufgebaut, leider mit unterschiedlichem Erfolg: Zunächst die Gemeinsamkeiten: Die ICD2 sind alle mit einem 16F876A bestückt. Zusammen mit dem modifizierten Bootlader für den A-Typ hat das auch prima geklappt. Wir arbeiten alle mit MPLab 7.30. Der FTDI hat kein Konfig-EEPROM angeschlossen. Folgende Konfigurationen haben wir getestet: - Windows 2000, FTDI-Treiber ver.2154, ICD2 als COM4 wobei COM3 frei ist: So läuft es bei mir in der Firma schon seit einem halben Jahr ohne Probleme. - WindowsXP, FTDI-Treiber 2154, ICD2 als COM4 wobei COM3 wieder frei ist: funktioniert nicht !!! Leider habe ich Euren Vorschlag, die COM-Ports fortlaufend zu nummerieren, erst gerade gelesen. Das werde ich nachher zu Hause noch testen. Gruß, Markus_8051
Datum: 28.09.2006 11:00
Hallo zusammen Diesen ICD2-Nachbau fine ich auch sehr interessant. In diesem Fall wird der PIC18F4550 eingesetzt. http://www.wselektronik.at/WS/index.php?option=com... Ganz unten kann man auch den Schaltplan und Stückliste downloaden Beste Grüsse Geri
Datum: 28.09.2006 20:45
@Markus Hi Markus, ja ich lasse mich wecken, wenn einer hier was postet, aber ihr habt mich längst alle abgehängt ;-) Sprich, der letzte konstruktive Beitrag meinerseits war das Bereitstellen des 2154-Treibers auf meiner HP. Ich habe auch zwischenzeitlich nichts mit dem ICD2 oder PICs gemacht... keine Zeit :-( Aber wie gesagt, ich lese mit. Gruß Harald
Datum: 28.09.2006 21:27
> Ganz unten kann man auch den Schaltplan und Stückliste > downloaden Die Firmware für den PIC18F4550 ist aber nicht erhältlich, oder habe ich da was übersehen?
Datum: 28.09.2006 21:47
Hallo Thorsten Die Firmware findet man mit ein wenig Suchen im iNet:) Beste Grüssse Geri
Datum: 27.10.2006 23:08
Hi, hat sich da nun mal einer die Mühe gemacht und ein Eagle-Layout zum ätzen erstellt? Oder hat sogar jemand die Schaltung fertig und kann was über den speed beim debuggen sagen? Habe den Nachbau von Harald Sattler gebstalt und der ist zum Debuggen kaum zu gebrauchen weil er so lahm ist. Ich hätte da gerne so ein realtime debuggen wie bei Freescale :) Gruß starkeeper

