Ich verwende einen Cypress EZ-USB (AN32131) um Spannungen über USB einzulesen. Das ist sehr umständlich. Ich brauche externen ADC, EEprom, das Ding kann nur 3V3 usw..., aber ich baue das Gerät zusammen und spiele die Firmware einfach über USB, ohne Programmer, auf den Controller. Für ein neues Design möchte ich einen etwas besseren Controller nehmen (mit 5V, Flash, ADC eingebaut) und habe die Neuen von Atmel, Microchip und auch von Cypress angesehen. Kann man den AT90USB646, PIC18F4550 oder enCoReIII ohne vorher den Bootloader zu ändern einfach über USB flashen?
Für die USB-PICs gibts eine Firmware mit einem Bootloader. Dann kannst du einfach den PIC über USB flashen. Im Fernando Heitor Forum gibts einige Beiträge dazu. Und auf der Microchip Seite gibts auch Infos dazu. www.fernando-heitor.de www-microchip.ccom mfg Schoasch PS.: Microchip hat ein Demoprogramm womit man über USB eine Spannung an einem ADc-Eingang einlesen kann. Schau mal unter PICDem USB oder so. mfg Schoasch
@Schoaschi Danke für den Hinweis. Der Beitrag unter: http://www.fernando-heitor.de/index.php?option=com_smf&Itemid=27&topic=436.0 und http://www.holger-klabunde.de/usb/18f2550.htm bestätigen mir, dass ich den PIC erst flashen muss damit ich ihn über USB programmieren kann. Das finde ich umständlich da ich seit jahren die Cypress AN2131 einfach über USB programmiere ohne, dass ich einen Bootloader brauche (Plug & Progam). (Stell dir vor ich muss auf 1000 Geräte erst einen Bootloader spielen damit ich sie flashen kann. Da mache ich ein Monat nichts anders...) Jetzt würde mich interessieren ob man beim AT90USB oder enCoReIII auch extra einen Bootloader braucht. Hat da jemand Erfahrung?
Ich denke eine Lösung gefunden zu haben! Atmel bietet FLIP 3.0.0 zum Programmieren über USB an. http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886 Hat schon jemand mit Flip 3 für AT90USB gearbeitet? Bzw. hat jemand Erfahrung mit dem Flashen eines jungfräulichen AT90USB?
Mit Flip hab ich Erfahrung, Ja.. Aber nicht mit dem AT90USB sondern mit dem AT89C5131. Funktioniert mittlerweilen ganz gut, obwohl ich zu Beginn Schwierigkeiten hatte, weil die kostenlose Entwickerumgebung die ich nutze nicht das nötige Hex-Format erzeugt hat. (Ich möcht ja immer nicht mehr sagen, denn wenn etwas falsches dabei ist, dann wird man ja hier im Forum sofort in der Luft zerrissen) Was willste denn genau wissen? Vielleicht kann ich es dir beantworten.
@Andreas, ich möchte ein neues Projekt mit einem einem USB-Controller beginnen der einen Flash hat und über USB programmiert werden kann. Laut dem Posting vom Schoaschi (weiter oben) geht das beim PIC nicht (man braucht vorher einen Bootloader). Aus diesem Grund schaue ich mir den AT90USB646 von Atmel genauer an. Leider gibt es mit diesm Controller noch wenig Erfahrungen. Haupsächlich möchte ich wissen: Kann der AT90USB ohne Bootloader direkt mit Flip programmiert werden? Kann der GCC Compiler (in Kombination mit dem AVR Studio) verwendet werden? Wo kann man einen AT90USB bestellen? Mir scheint, dass für den AT90USB noch nicht viel Unterstützung verfügbar ist. Daher werde ich mir auch den enCoReIII genauer ansehen.
>ich möchte ein neues Projekt mit einem einem USB-Controller beginnen >der einen Flash hat und über USB programmiert werden kann. Viel Spass. Ich hoffe, dass du bei USB ein wenig Erfahrung hast, wenn nicht, hoffe ich, dass du viel Zeit hast. Ich hatte auch keine Erfahrung, deswegen brauchte ich Zeit, sehr viel Zeit. >Kann der AT90USB ohne Bootloader direkt mit Flip programmiert werden? Normalerweise befindet sich der Bootloader in einem Sektor des Speicher des Chips und wird da fabrikmäßig aufgespielt. Den kannst du, wenn du willst überschreiben oder einen eigenen Bootloader drüberschreiben (wieder viel Spass!). Den Bootloader starten tust du indem du bestimmte Pins beim Starten oder Resetten auf Low setzt. Wenn der Bootloader nicht startet oder gelöscht ist, dann kann FLIP nicht mehr programmieren, und du brauchst einen parallelen Prommer, ganz einfach. Es gibt da auch noch ein Flag (BLJB - Bootloaderjumpbit), wenn du das setzt, und in der Zielsprungadresse kein Bootloader ist, dann ists auch vorbei mit FLIP. Bei mir hat aber FLIP immer ausgereicht und ich hatte nie Probleme, außer, dass ich anfangs irgendwie nicht das richtige Hex Format mit meiner Entwicklungsumgebung bekam. >Kann der GCC Compiler (in Kombination mit dem AVR Studio) verwendet werden? Wie schon gesagt, hab ich nur Erfahrung mit dem AT89C5131 was ja ein 8051 Derivat ist, kein ARM oder AVR. Dazu hab ich den auch noch in Assembler programmiert, deswegen kann ich dir da leider nicht helfen. >Wo kann man einen AT90USB bestellen? Tja, da hatte ich auch ein paar Probleme. Über solche Stores wie Conrad, Farnell, usw. konnte ich meinen nicht beziehen. Wenn ich bei spezialisierten Distriputoren angerufen habe, wollten die gleich wissen, wie viele LKW voll ich haben will. Die kleinste Bestellmenge war dann irgendwann 230 Stück (?, ca.), weil die so von Atmel abgepackt sind. Schließlich fand ich aber einen, der das auch ein wenig unkomplizierter gehandhabt hat und bei dem ich auch Kleinmengen bestellen konnte. Ich möchte die E-Mailadresse nicht posten, weil ich ihn noch selbst brauche und ich ihn nicht ärgern will. Schreib eine E-Mail an root(at)andreas-knorr(dot)de und du bekommst sie. >Mir scheint, dass für den AT90USB noch nicht viel Unterstützung >verfügbar ist. Daher werde ich mir auch den enCoReIII genauer ansehen. Das hatte ich damals genauso festgestellt. Aber der AT89C5131 war ein 8051 und das hatte ich zumindest gekannt, auch ließ er sich beinahe beliebig oft programmieren, deswegen nahm ich den. Die Bücher, die ich aber über USB gekauft habe, beziehen sich in ihren Beispielen aber meist auf die enCoRe. Ich hatte immer den Eindruck, dass die enCoRe nicht so für das ISP (In-System-Programming) gedacht sind, sondern nur für Verkaufsware, die man nur einmal programmieren muss. Dazu gibts zwar offensichtlich Chips mit Flash, aber die sind nur für Entwickler in niedriger Stückzahl bestimmt. Da kann ich mich aber auch irren, das wirst du schon rausfinden....
@Andreas, danke für dein ausführliches Posting! Ich habe bei Farnell, Distrilec und RS um den AT90USB646 angefragt und von allen erfahren, dass der Controller noch nicht in ihrem Lieferprogramm ist. Außerdem habe ich gelesen, dass der GCC Compiler den Controller auch noch nicht unterstützt. Da ich das Projekt jetzt starten muss und ich nicht auf die Verfügbarkeit von Controller oder Compiler warten will werde ich mein Glück mit dem PIC PIC18F4550 beginnen. Dieser ist verfügbar und es gibt viele AppNotes mit USB-HID Beispielen. Ich muss zwar auf jeden Controller einen Bootloader spielen, aber flashen muss ich die dinger sowieso...
Hallo Wauschi, ich habe gerade über den PIC18F4550 Daten im Netz gesucht weil ich auch ein Projekt machen möchte. Deshalb meine Frage wie sind denn deine Erfahrungen mit dem Bootloader? Danke für die Info. P. Sommer
Hallo zusammen Also ich kann den PIC18F4550 nur weiter empfehlen. Ich sehe auch keine Probleme mit dem Bootloader, weil dieser mit wenig Aufwand gebaut werden kann. 1000 Stück würde man sowieso anderweitig programmieren. Eine einfache Schaltung findest du z.B. hier. Sie funktioniert mit dem Microchip bootloader. http://burger-web.com/Projects/PIC18F4550USB/de_PIC18UsbBoard.htm.de Bin mir sicher, dass dir hier im Forum jemand einen Bootloader für den Anfang rauf spielen würde, falls es notwendig ist:) Beste Grüsse
Also der AT90USB1287 wird mit einem USB-Bootloader ausgeliefert, der sich um Bootloader-Bereich des Controllers befindet. Der Bootloader ist weitgehend zu dem des AT89C5131 kompatibel, benutzt also denselben DFU-Befehlssatz. Allerdings kann man den AT90USB natürlich auch wie alle anderen AVRs über die SPI-Schnittstelle programmieren, hierbei muß natürlich der Bootloader gelöscht werden. Mein damals für den AT89C5131 geschiebenes Programmiertool, das auf den Cypress-Treiber aufsetzt (FLIP und der Atmel-Treiber sind einfach zu umständlich), werde ich in Kürze für den AT90USB erweitern, da ich erst vor ein paar Tagen die ersten Muster des Controllers bekommen habe. http://www.technik-forum.info/atm
Ich benutze Dein Tool auch und finde es klasse. Vor allem ist es sehr einfach zu bedienen. Da ich allerdings viel experimentieren und des Öfteren neue FW einspiele, stört mich ein wenig dass bei jedem Flashen die Fuses neu gesetzt werden. Ist das unbedingt nötig? Das geht ja nur maximal 1000 mal. Kann man dafür vielleicht in einer neuen Version auch einen Haken dafür einführen? cu, olly...
moin moin,
@Erwin,
>...den AT89C5131 geschiebenes Programmiertool
dann nimmt bitte die Messagebox für SO28-Gehäuse irgendwie per
Einstellung raus..das nervt immer.
Mit Gruß
Pieter
Hallo, gesagt, getan. Die neue Version 1.3 des Upload-Tools liegt auf dem Server. Änderungen: Die "nervige" Messagebox ist weg. Die Fuses können wahlweise geschrieben werden. AT89C5130 wird jetzt auch unterstützt. Demnächst auch für AT90USB128. http://www.technik-forum.info/atm
moin moin, @Erwin # Neu: Jetzt wird auch der AT89C5130A mit 16k Speicher unterstützt. Leider liefert dieser Controller die selben Parameter wie der AT89C5131A, so daß keine automatische Unterscheidung möglich ist. Frage, da ich keine 5130 habe, was liefert ein Leseversuch ab Adr. 4000H beim 5130? 0FFH und ok? Wenn nicht ok, Typ gefunden. Wenn doch ok, was bringt ein Schreibversuch? Ist dann zwar nicht "die feine Art", schafft aber Klarheit. Eventuell kann man ja auch das letzte Byt nehmen, wenn das Prg nicht bis dahin kommt, braucht man auch nicht zu löschen. Blöde nur wenn der Programmierer grade die Zelle 7FFFH als 0FFH lesen will... Mit Gruß Pieter
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.