Hallo zusammen Ich habe mir den ICD2, den Harald Sattler auf seiner Webseite freundlicherweise zur Verfügung stellt nachgebaut. Das Gerät funktioniert inzwischen auch, obwohl ich noch nicht ganz zufrieden mit der Performance bin (Probleme habe ich aber auch, MPLAb laufend abschmiert, - was aber meiner Meinung nach nicht an der Hardware liegt sondern an MPLAb. Insbesondere das Debugging geht exrem langsam mit 57600 Baud. Nun habe ich mal die Original-ICD2 (Dose) von Microchip geöffnet und gesehen, dass sich das Original vom Clone nicht stark unterscheidet. Die Kommunikation über USB funktioniert auch über einen Chip von Cypress. Ein Unterschied bei den Geräten liegt allerdings daran, dass das Original in MPLAB direkt über USB kommuniziert und der Clone den FTDI scheinbar nur als RS232 verwendet - also unter MPLAB eine COM-Port eigestellt wird. Nun, habt ihr vielleicht eine Idee, wie man die Performance des ICD2-Nachbaus steigern kann, damit man beim Debugging nicht einschläft? Besteht vielleicht auch die Möglichkeit, die Kommunikation direkt über USB durchzuführen? Dankbar wäre ich auch für Hinweise was man machen kann, damit ich nicht jedes mal den Rechner neu starten muss, wenn MPLAB (version 7.10.00.00) den ICD2-Clone nicht findet. Beste Grüsse und vielen Dank für Eure Hinweise Geri
Jetz soll ja angeblich eine neue Version heruskommen bzw ist schon heraussen, die die USB-Schnittstelle des PIC18F4550 verwendet. Somit würde das ganze dann auch schneller gehen... Ich werd mal schauen ob ich den link noch finden kann.
Hallo Schoasch Ah, interessante, danke für die Info. Wenn du hier interessante Infos hast, dann bin ich wirklich sehr daran interessiert. Hast du aber vielleicht auch eine Idee wie man die aktuelle Verison vielleicht auf Trab bringt?:) Das blöde ist, dass mir ein Freund extra ein neues Layout als SMD-Version mit einfachem Gehäuse-Einbau erstellt hat und trotz Vorlage von Harald doch noch einiges an Aufwand notwendig war...hm. Ist das vielleicht nun wertlos... Beste Grüsse Geri
An der Version mit 18F4550 wäre ich ebenfalls interessiert. Aber macht euch nicht zu große Hoffnungen in Bezug auf die Geschwindigkeit. Der On-Chip Debugger läuft mit dem Takt des Prozessors, die Daten werden im Prinzip von einem Programm auf dem PIC von diesem selbst gelesen und über das ICD2 an den PC gesendet. Je mehr Daten bei jedem Halt des Prozessors ausgelesen werden müssen, um so langsamer ist das Ganze. Also alle nicht benötigten Watch-Windows schließen. Das kann die Sache schon deutlich beschleunigen. Na ja, wenn dann noch das Nadelöhr Com-Port mit 57600 Baud dazwischenkommt muss man aber wirklich aufpassen, dass man zwischenzeitlich nicht einschläft.
Hallo zusammen Ich bin nun auch etwas schlauer geworden. Der ICD2 mit dem PIC18F4550 nutzt das paralelle PORTD des PIC zum Datenaustausch. Die Kommunikation über USB läuft dadurch angeblich um eine vielfaches effizienter ab. Die USB-Version mit dem PIC18F4550 arbeitet zudem nicht mit einem COM-Driver sonderen rein über USB (in MPLAB erkennt man das weil die Programmeinstellungen des ICD nun anstatt dem COM-Port USB gewählt werden kann). Ich werde demnächst mal so ein Platinenprojekt in Angriff nehmen. Ein Teil der Schaltung ist ja von der Version von Harald Sattler fertig. Nun muss nur mehr der USB-Teil angepasst werden. Ich hoffe, dann endlich mal ein brauchbares Debug-Tool für den PIC in den Händen zu halten. Mir kommt vor, Leute die andere Mikrocontroller wie z.B. den AVR einsetzen haben solche Probleme nicht.. Werde dann darüber berichten. Beste Grüsse Geri
Hallo Geri, du meinst also den Nachbau, wo der 18F4550 den Cypress-Chip emuliert. Den habe ich auch schon irgendwo mal gesehen. Hier http://www.fernando-heitor.de/component/option,com_smf/Itemid,100/topic,2219.0 findest du ein weiteres Layout von einem Clone, allerdings mit einem FT232R und ein paar mehr Features wie z.B. die automatische Einstellung von Vpp. Falls es was nützt, kannst du es gern verwenden. MfG Steffen
Hallo Steffen Vielen Dank für Deine Infos. Ich werde mir die Schaltung mal anschauen. Der ICD2 von dem ich spreche, ist ganz etwas Neues:) Genau, den Cypress-Chip kann man sich ersparen. Ich denke er wird nicht emuliert. Das Ganze funktiniert so: MPLAB <===> PIC18F4550 <== paralleles PortD ==>PIC16F877<==>Schaltung Der PIC18F4550 kommuniziert mit dem PIC16F877 über 8 Leitungen PORT D, eine RD, WR, eine Busy, und eine CS-Leitung:) Hoffe, das halbwegs richtig wiedergegeben zu haben. Ich bin mir ziemlich sicher. Die Firmware für den PIC18F4550 ist keine RS232 oder FTDI-Emulation. Wenn man den USB-Treiber verwendet, dann sieht man ihn auch als Microchip USB Treiber:) Beste Grüsse Geri
Hallo Steffen Ich habe mir mal das Projekte, auf das Dein Link zeigt angeschaut. Tolle Arbeit! Gratulation! Es sieht alles sehr aufgeräumt und übersichtlich aus. Da ich aber kein Eagle installiert habe, konnte ich den Schaltplan nicht betrachten. Ich nehme aber an, die Kommunikation zwischen FTDI und PIC16F977 erfolgt wie in Harald seiner Schaltung. Freundliche Grüsse Geri
Es tut mir leid, aber ich kann die seite gerade nicht finden. aber ich glaube ich hab den link in folgendem Forum gefunden:http://www.edaboard.com/viewforum76-0-40.html Aber schaut euch einmal den user-guide fürs PICKit2 an.. da wird auch ein PIC18F2550 benutzt... und wenn ich das richtig verstanden habe, kann man damit auch Programmieren und debuggen. @Geri... Ich habe auch den ICD2 von Stolz nachgebaut... doch meiner Funktioniert auch nicht.... Am anfang hab ich auch riesige Probleme gehabt beim raufspielen des hex-files auf den PIC. Das wollte weder mit dem Brenner5 noch mit Galep4 funktionieren. naja ich werd noch etwas weitersuchen und schauen, dass ich den link dann noch finde. mfg Schoasch
Hier nun mal ein Link, wo der 4550 den Cypress chip emuliert. http://www.edaboard.com/viewtopic.php?t=161641&highlight=icd Aber irgendwo sah ich schon eine Version die nur mit dem 4550 auskam
Oho... es gibt gute Neuigkeiten... .. Ich hab zwar den Link nich gefunden... aber Sprut bringt einen neuen Brenner heraus, der USB unterstützt. Dazu verwendet er einen PIC18F2550. http://sprut.de/electronic/pic/projekte/brenner8/index.htm Man kann damit zwar nicht debuggen.. aber programmieren.
Hallo Schosch Vielen Dank für Deine Infos. Der Vorteil beim ICD2 ist halt, dass man direkt aus MPLAB heraus brennen und debuggen kann. Wenn die Geschwindigkeit dann auch noch passen würde, dann wäre ich recht glücklich. Die Infos zum Nachbau habe ich auch genau hier http://www.edaboard.com/viewforum76-0-40.html gefunden. Beste Grüss Geri Das bespielen des Bootloaders In-Circit beim ICD2 von Lothar Stolz schlägt glaube ich deshalb fehl, weil die DTR-Leitung des FTDI die MCLR-Leitung beinflusst
Naja... ich benutze nicht die USB-Version... sondern die normale.... aber ich glaub ich weis welchen fehler ich vl habe. Ich hab vl LVP deaktiviert.. aber das sollte glaube ich aktiviert sein. mal probieren.
Hi, also ich hab den ICD2 mit 4550 mal nachgebaut... War nicht ganz so einfach wie ich dachte - habe ihn aber mittlerweile einigermassen stabil am laufen. Geschwindigkeit ist bei mir im Vergleich SerialICD2 SigleStep (PIC18f252) in MPLAB 7.3? ca. 30 Sekunden - USB ca. 1 Sekunde. Gruß, Manuel
Hallo Schoasch Soviel ich mich erinnern kann muss die Konfiguration folgednermassen aussehen. Beste Grüsse Ger
Hallo Manuel Das hört sich ja sehr gut an. Vielleicht kannst du uns ja dann mal mitteilen, wo die Tücken im Nachbau liegen. Beste Grüsse Geri
@Manuel. Könntest du den Schaltplan oder vl ein Link dazu posten? @Geri. Danke... ich werds mal damit versuchen.
Hallo Schoasch Hier findest du mehrere Layouts, wenn du zurück blätterst. http://www.edaboard.com/viewtopic.php?p=628853#628853 Beste Grüsse Geri
ggg Danke... also war ich eh auf der richtigen seite... mich hatten nur die pages etwas verwirrt :D
... und das Board file. Leider habe ich keine Möglichkeit gefunden mehrere Dateien gleichzeitig anzuhängen. Ich schicke auch noch mein Hex File. Zum Board muss man noch sagen das die JP1 jeweils einen Jumper benötigen um die "OnBoard" target driver zu aktivieren. Das Board hab ich geroutet zum testen - deswegen muss noch ein Draht von RB7 nach Vdd und RA5 muss gegen Vss. Weiterhin hab ich Vpp von einem 19V netzteil. Wäre natürlich auch möglich gewesen das ganze über einen 34063 schaltregler von den 5V USB zu erzeugen. Ich habe versucht das ganze mit nem max232 und zusätzlicher ChargePump zu erzeugen - leider ohne erfolg. Wie gesagt die Schaltung und das Hex file hab ich nicht erfunden sondern nur aus dem Thread vom EDA board zusammengesucht. Weiterhin würde ich das ganze noch nicht als komplett sehen - zudem fehlen 128 byte vom code der Microchip Hex files. Diese wurden von Mircochip nicht veröffentlicht. Mein Hex-File übergeht weiterhin die Überprüfung ob schon ein OS vorhanden ist (Sie schlug bei mir fehl). Im Edaboard scheint das zu funktionieren. Egal ich schieb mein Hex file dazu ihr könnt ja dann weiterschauen. Vielleicht kann mir hier ja auch noch jemand sagen wie ich eine LED in mein Board implementiere die den MCLR des 877 anzeigt?! Das hab ich nicht herausgefunden...
Und hier mein Hex file. Ich habe den 4550 und 877 jeweils mit einem 20er Quarz ausgestattet. Der 4550 läuft jedoch durch PLL mit 48/48 MHZ. Ich habe das gefühl das die Kommunikation zwischen den zwei Käfern noch nicht optimal ist. Den µC core des 4550 mit 20 MHZ zu fahren hat jedoch keinen Erfolg gebracht. Hier gibt es also noch was zum forschen. Was gibt es noch zu sagen - der 877 darf kein LVP haben - muss also mit HVP geschrieben werden. Den 4550 hab ich dann mit nem LVP gebrannt - geht.
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.