Hallo, ich habe mir das USB AVR Lab nachgebaut: http://www.ullihome.de/wiki/USBAVRLab/index Leider funktioniert der Progger als AVRISPmkII vom AVR Studio V4.19 aus nicht richtig (unter WinXP SP3): 1. Problem: mitten beim Programmieren hängt sich der Progger plötzlich auf, die LEDs Blau und Rot flackern ganz schnell abwechselnd, AVR Studio schmeißt Fehlermeldung aus, Progger muss "resetet" werden 2. Problem: Im Gerätemanager sind zu dem Progger unter "Jungo" zwei Geräte aufgeführt: a)AVRISP mkII b)WinDriver Nach einiger Zeit ist plötzlich der Progger aus dem AVR Studio verschwunden/nicht mehr aufrufbar, parallel dazu ist Gerät a)AVRISP mkII aus dem Gerätemanager verschwunden. Die Probleme treten auch auf, wenn man mit einer sehr geringen Geschwindigkeit programmiert, z.B 1MHz oder langsamer. Das Target läuft übrigens auf 16MHz. Habe jetzt schon ziemlich viel zum Thema gegoogelt, leider ohne direkte Erfolge. Am ehesten käme vielleicht folgendes in Betracht, Zitat: "Das AVR Studio reagiert komisch, nach einem Update (AVRISPmkII,JTAGICEmkII,STK500v2) Das kann an der Treiberinstallation der Treiber aus dem AVR Studio liegen *löschen Sie mit dem kostenlosen Tool USBDeview.exe alle AVR Einträge *Suchen Sie in der Registry nach Jungo und AVRISP, und löschen Sie den Schlüssen *starten Sie das System neu, nach einer erneuten Installation des Treiber sollte alles sauber laufen" von http://www.ullihome.de/wiki/USBAVRLab/FAQ Bevor ich jetzt irgendwas mache, um das Problem zu lösen, frage ich lieber noch mal hier nach, ob jemand eine konkrete Idee hat. Viele Grüße, Daniel
Dan1el schrieb: > "Das AVR Studio reagiert komisch, nach einem Update > (AVRISPmkII,JTAGICEmkII,STK500v2)..." Ach so, habe übrigens kein Update vorgenommen, dachte aber, wegen der relativ neuen AVR Studio Version 4.19 könnte dort das Update schon serienmäßig integriert sein!?!
Willst du aus einem bestimmten Grund den Programmer als AVRISPmkII verwenden? Ich verwende ihn als STK500v2, da funktioniert er bestens.
Hubert G. schrieb: > Ich verwende ihn als STK500v2, da funktioniert er bestens. Ich versuche grade, den Progger als STK500v2 "umzumodeln". Die neue Firmware ist schon aufgespielt. Leider möchte XP jetzt einen Treiber (für den virtuellen COM-Port, wie ich das verstehe), siehe: http://www.ullihome.de/wiki/USBAVRLab/Firmwares/SK500v2 unter "Installation Nachdem der Programmer angesteckt wurde, fragt Windows nach einem Treiber. Diesen bringt es selbst mit, allerdings muss mittgeteilt werden, welcher Treiber zu diesem Gerät gehört. Das macht man mit einer INF Datei, die hier heruntergeladen werden kann." Wenn ich auf hier klicke, lande ich hier: http://www.ullihome.de/wiki/USBAVRLab/download und finde dort keinen COM-Port-Treiber...
Dan1el schrieb: > Nachdem der Programmer angesteckt wurde, fragt Windows nach einem > Treiber. Diesen bringt es selbst mit, allerdings muss mittgeteilt > werden, welcher Treiber zu diesem Gerät gehört. Das macht man mit einer > INF Datei, die hier heruntergeladen werden kann." Ach so, im pdf stehts, man soll wie üblich den ordner "drivers" wählen und dann den ordner "raw". Hab den com-Treiber jetzt installiert.
So, fertig installiert, STK500 läuft ganz gut, nur oft kommt nach dem
Programmübertragen "Program" und anschließendem "Verify" die
Fehlermeldung
>FLASH byte address 0x0000 is 0x00 (should be 0x0C).. FAILED!
Kann man da was machen?
Habe schon den zu beschreibenden Controller getauscht. Auch die
Programmiergeschwindigkeit runtergeschraubt.
Wenn beim ersten Durchlaf von "Verify" ok kommt, kann beim zweiten
durchaus wieder obige Fehlermeldung auftreten, obwohl am
Programm(speicher) nichts geändert wurde...
Dazu kann ich nichts sagen, ich bekomme praktisch keine, nicht nachvollziehbare, Fehlermeldungen. Es könnte ein Spannungsproblem sein. Ich habe die Z-Dioden in den USB-Datenleitungen weggelassen. Anstelle der 3,9V Z-Diode bei Supply, habe ich eine mit 4,1V genommen. Die Versorgungsspannung wird dann auf 3,3V geregelt.
Das hört sich alles sehr danach an als ob du da kalte Lötstellen oder auf einem Wackligen Steckboard gebaut hast.
Dan1el schrieb: > FLASH byte address 0x0000 is 0x00 (should be 0x0C).. FAILED! Kenne ich. Kommt dann, wenn ich mit dem AVRISPMK II auf die per Fuse deaktivierte SPI-Schnittstelle zugreifen will (passiert mir manchmal, wenn ich vorher noch den Dragon über JTAG dranhatte). Also wohl definitiv ein Fehler auf dem SPI-Anschluss.
Danke für die Antworten! Hubert G. schrieb: > Es könnte ein Spannungsproblem sein. Ich habe die Z-Dioden in den > USB-Datenleitungen weggelassen. Die sind bei mir auf 3V9 erhöht. Werde sie mal probeweise rausnehmen. Christian U. schrieb: > Das hört sich alles sehr danach an als ob du da kalte Lötstellen oder > auf einem Wackligen Steckboard gebaut hast. Über halbkalte Lötstellen hatte ich auch schon nachgedacht, allerdings keine entdeckt. Ist alles sauber auf einer Platine aufgebaut. Auch keine Flussmittelreste o.ä. zwischen den Leiterbahnen. Allerdings ist der Sockel vom M8 ein Billigsockel, die haben manchmal Kontaktprobleme beim Löten (hatte leider keinen anderen passenden zur Hand). Sebastian Möller schrieb: > versuche bitte mal mit avrstudio5 zu flashen. Ist das zu empfehlen? Mein Bastelrechner ist ein älterer 1GHz-PIII-Rechner mit XP, habe mal irgendwo gelesen, dass das AVR Studio 5 tierisch Resourcen frißt. Bekommt man es denn im Zweifelsfall wieder sauber deinstalliert? Martin N. schrieb: > Dan1el schrieb: >> FLASH byte address 0x0000 is 0x00 (should be 0x0C).. FAILED! > > Kenne ich. > Kommt dann, wenn ich mit dem AVRISPMK II auf die per Fuse deaktivierte > SPI-Schnittstelle zugreifen will Du meinst, beim Target per Fuse SPI aktivieren? Hab ich beim M328 noch nie bewusst wahrgenommen, muss ich mal ins Datenblatt gucken...
Wenn ab und zu mal ein Verify Fehler kommt, dann einfach den SPI Takt mal runterstellen.
Ich meinte, dass Du evtl. ein Kontaktproblem haben könntest. Dass Du also hin und wieder die SPI-Verbindung durch eine schlechte Leitung verlierst. Und bitte nichts an dem Fusebit verstellen! Das passt so, wenn er sich schon ansprechen lässt! Kontrolliere nochmal ganz genau deine Verbindungen auf dem Board.
Simon K. schrieb: > Wenn ab und zu mal ein Verify Fehler kommt, dann einfach den SPI Takt > mal runterstellen. Hab ich schon gemacht, ändert nichts am Problem Die Supply-Geschichte um den Transistor habe ich übrigens weggelassen, da meine Targets alle mit 5V laufen und extern versorgt werden. Und die Leitung USIG1 habe ich auch freigelassen. emsen schrieb: > Ich meinte, dass Du evtl. ein Kontaktproblem haben könntest. Dass Du > also hin und wieder die SPI-Verbindung durch eine schlechte Leitung > verlierst. Werde ich morgen noch mal in Ruhe schauen.
So, habe jetzt jede einzelne Leiterbahn unter definiertem Strom ausgemessen, Kontaktprobleme dürften mit an Sicherheit grenzender Wahrscheinlichkeit ausgeschlossen werden können. Mal was ganz anderes, der verwendete Rechner hat, glaube ich, USB 1.1. Kann das die Probleme verursachen? Und kann man über die Systemsteuerung von Windows herausfinden, welche USB-Version der Rechner hat?
An der USB-Verbindung sollte es nicht liegen, dann würde die Software den progger mit entsprechenden Fehlermeldungen ablehnen. Da ein Fehler beim Lesen gemeldet wird, ist der Programmablauf schon über den Verbindungsaufbau PC-Progger hinaus. Eine erste Kontrolle der ISP- Verbindung besteht im Lesen des Kontrollertyps über die Signatur - sie stellt einen der einfachsten Vorgänge dar. Studio5 ist viel zu neu, da holt man sich damit nur zusätzliche Komplikationen herein. Bleib beim Studio4, erst wenns dort geht, sollte man auf Studio5 gehen.
Danke für die Antwort! Hier übrigens noch der Schaltplan. Als Software wie gesagt USB AVR Lab, am liebsten als AVRISPmkII (www.ullihome.de). Was mich ein wenig irritiert, ist, dass die Spannungsdetektion über PC2 (=ADC1) nicht richtig funktioniert. Ich habe deshalb eine Dauerverbindung von diesem Port über 10k zu Vcc (+5V) hergestellt und den R gegen Masse ganz weggelassen. Wenn ich den Spannungsteiler wie im Schaltplan gezeigt aufbaue, leuchtet die eine LED nicht auf und AVR-Studio meckert eine zu niedrige Versorgungsspannung an. Aber ob das mit den Programmier- und Verifyabstürzen zusammenhängt???
Hier gibts noch einen übersichtlicheren Schaltplan und Zusatzinfos: http://staff.ltam.lu/feljc/electronics/bascom/Ulliprog.pdf
OK so langsam wirds klar. USB benötigt auf den Datenleitungen 3,6V !!!!! Wenn du mein Supply weglässt und keine Z-Dioden in die Datenleitungen hängst zeigt dein Hostcontroller dir nen Vogel. Z-Dioden in den Datenleitungen verschleifen das Signal schön, so das Hubs oft nicht mehr damit klarkommen. Ergo einfach nach Schaltung baun oder sich mit der Materie auseinandersetzen. Das betrifft übrigends die meissten Probleme bei Selbstbauten, zu denen ich dann Support leisten darf. Nochmal die Bitte an alle, die meinen es besser zu wissen aber sich mit USb nicht auskennen: Baut einfach nach meiner Schaltung, ich denke mir schon was dabei. Und die Spannungsverorgung ist nicht nur fürs Target sondern hauptsächlich für den Programmer.
Christian U. schrieb: > Und die Spannungsverorgung ist nicht nur fürs > Target sondern hauptsächlich für den Programmer. Man kann bestimmt auch drei Si-Dioden (DUS) in Flussrichtung gepolt vorschalten, die verbraten ebenfalls um die 2V. Den Elko würd ich dann aber in jedem Fall hinter die Dioden klemmen.
Die Datenspannung für USB sollte schon halbwegs stabil sein, das mit den Dioden dürfte funktionieren aber ob sicher ist auch wieder sone sache.
>Nochmal die Bitte an alle, die meinen es besser zu wissen aber >sich mit USb nicht auskennen: Baut einfach nach meiner Schaltung, ich >denke mir schon was dabei. Oh, da hat aber jemand ein großes Ego. @Themenstarter In Anbetracht der oben genannten Probleme und der Tatsache, dass der original Atmel ISPMK-II 39,-EUR kostet, wieder einmal ein perfektes Beispiel, dass sich ein Selbstbau nicht lohnt! Schönen Abend
Hans_Dampf schrieb: > > In Anbetracht der oben genannten Probleme und der Tatsache, dass der > original Atmel ISPMK-II 39,-EUR kostet, wieder einmal ein perfektes > Beispiel, dass sich ein Selbstbau nicht lohnt! > > Schönen Abend Wenn man aber berechnet das mir mein Nachbau etwa €5.- gekostet hat, dann lohnt sich Selbstbau schon. Die eigenen Ideen sollte man vielleicht weg lassen. Auch einen schönen Abend.
Hans_Dampf schrieb: > In Anbetracht der oben genannten Probleme und der Tatsache, dass der > original Atmel ISPMK-II 39,-EUR kostet, wieder einmal ein perfektes > Beispiel, dass sich ein Selbstbau nicht lohnt! Man lernt aber nix dazu, wenn man ein Fertigteil kauft! Hans_Dampf schrieb: >>Nochmal die Bitte an alle, die meinen es besser zu wissen aber >>sich mit USb nicht auskennen: Baut einfach nach meiner Schaltung, ich >>denke mir schon was dabei. > > Oh, da hat aber jemand ein großes Ego. Ich finde Christians Einwand an dieser Stelle schon legitim! Seine Aussage hat wahrscheinlich weniger mit Ego als mit Genervtsein zu tun.
Was ich noch nicht ganz verstehe, soll das Target mit der selben (oder gleichen) Spannung wie der M8 auf dem Programmieradapter betrieben werden oder sind 5V bei "normalen" AVR-Targets sinnvoller? Immerhin können viele AVRs ihre Maximalgeschwindigkeit nur bei 5V erreichen und die Programmiergeschwindigkeit soll ja < 1/4 der Betriebsfrequenz vom Target sein. Will man mit 4MHz proggen, muss das Target ja wenigstens auf 20MHz laufen...
@Dan1el: bei dem übersichtlicheren Schaltplan sind beide Z-Dioden an die gleiche USB-Leitung (D-) angeschlossen. Habe das USB-Lab auch nach dem Progger_USB.PNG Schaltplan aufgebaut. Es läuft im Prinzip, aber nur mit der niedrigsten ISP-Frequenz. Wenn ich versuche, diese hoch zu drehen, treten Fehler auf. Zurücklesen des Flash geht scheinbar auch nicht richtig.
AR schrieb: > bei dem übersichtlicheren Schaltplan sind beide Z-Dioden an die gleiche > USB-Leitung (D-) angeschlossen. Danke für den Hinweis, war mir gar nicht aufgefallen! AR schrieb: > Habe das USB-Lab auch nach dem Progger_USB.PNG Schaltplan aufgebaut. > Es läuft im Prinzip, aber nur mit der niedrigsten ISP-Frequenz. > Wenn ich versuche, diese hoch zu drehen, treten Fehler auf. > Zurücklesen des Flash geht scheinbar auch nicht richtig. Auf welcher Geschwindigkeit läuft dein Target? Welche Fehler treten auf, was zeigen die Dioden dabei an? Läuft dein Progger mit 5V?
Kann es sein, dass hier ein "Pegelproblem" vorliegt? Der Programmieradapter soll wegen dem USB-Port-Pegel mit ca. 3V betrieben werden, das Target benötigt aber für höhere Taktraten 5V (-Pegel)!?!! Von da her ist diese Idee mit dem Leistungstreiber vermutlich recht sinnvoll: Beitrag "USBASP vs USB-Doper, warum Leistungsgatter"
Christian U. schrieb: > Die Datenspannung für USB sollte schon halbwegs stabil sein, das mit den > Dioden dürfte funktionieren aber ob sicher ist auch wieder sone sache. Eigentlich könnte man auch einen LM317 und zwei Widerstände nehmen...
Hubert G. schrieb: > Sicherer wäre wohl ein 3,3V LowDrop Regler. Kann man sowas auf älteren Mainboards (z.B. PentiumIII-MB) finden und wenn ja, wie sieht so ein Teil erwartungsgemäß aus? > Kann es sein, dass hier u.U. ein "Pegelproblem" vorliegt: > > Der Programmieradapter soll wegen dem USB-Port-Pegel mit ca. 3V > betrieben werden, das Target benötigt aber für höhere Taktraten 5V Konkret: Der Progger läuft jetzt mit 3,3V recht gut. Wenn ich aber mein Board mit M328, 20MHz Taktrate und 5V Betriebsspannung dranhänge, gibts Probleme (Progger-Abstürze), vermutlich, weil die Pegel nicht stimmen. Kann das sein?
So Regler gibt es wohl in fast allen Gehäuseformen, ob auch auf einem Mainboard kann ich nicht sagen. Solange der Progger mit 3,3V läuft sollte es auch mit einem Target mit 5V keine Probleme geben.
Welchen H-Pegel benötigt denn ein AVR beim Programmiertwerden minimal, wenn er mit 5V betrieben wird? Steht das irgendwo konkret im Datenblatt?
Unter Electrical Characteristics. In meinem Mega8 Datenblatt auf Seite 268
Hubert G. schrieb: > Unter Electrical Characteristics. > In meinem Mega8 Datenblatt auf Seite 268 Danke! (Bei mir ab Seite 237) Die Programmierleitungen am M8 (Progger) liegen auf PB2 bis PB5. Wenn der Progger auf 3,3V läuft und das Target auf 5V, bekommt das Target als HI-Pegel min. ca. 2,4V vom Progger. Es benötigt min. 0,6 Vcc, also 1,98V. Dazwischen liegen recht niederohmige Widerstände, dürfte also ok sein. Im Gegenzug bekommt der Progger vom Target über MISO als HI-Pegel min. 4,2V. Maximal soll der Progger als HI-Signal aber nur Vcc + 0,5V bekommen, also 3,8V. Dazwischen ein R von ca. 50 bis 100 Ohm (je nach Schaltplan)... ob das gut ist??? Der Progger bekommt ja ein HI-Signal, dass seine Maximum Ratings um mindestens (!) 0,4V übersteigt!
Wenn man die Arbeitszeit rechnet, die der Nachbau nun an Zeit für die Fehlersuche verschlungen hat, ist das ein sehr teurer Nachbau geworden. Dafür hätte man sich einen AVR ISP mkII und ein AVR Dragon leisten können. Mir ist das immer noch unbegreiflich, warum immer alles aus der Bucht und Geiz ist Geil sein muss. Die 40€ für den Programmer haben sich bei mir schon bezahlt gemacht. Ich konnte die Zeit nutzen zum lernen und probieren, ohne mich mit irgendeinem Nachbau auseinander setzen zu müssen. Stimme zu, man kann dadurch auch was lernen. Aber das kann man doch immer noch, wenn man erstmal die ersten Gehversuche hinter sich hat. Aber man weiß, das man immer noch ein Programmer besitzt, der funktioniert. Trotzdem noch viel erfolg mit dem Teil. Und hoffentlich bald auch freude beim Programmieren damit. MFG Stephan
@Stephan Ich möchte austüfteln, warum der Progger nicht 100% läuft. (habe noch einen anderen AVR-Programmierer, darum geht es nicht) Mittlerweile läuft der AVRISPmkII-Klon recht sauber mit 1MHz Programmiertakt. Abstürze kommen aber trotzdem noch vor. Ausserdem müsster er ja eigentlich auch bei 4MHz stabil laufen können, wenn das Target auf 20MHz getaktet ist. Hier stürzt er aber in über der Hälfte der Fälle gnadenlos ab. Habe leider kein DSO, sonst würde ich mir mal die Flanken anschauen...
Dan1el schrieb: > @Stephan > > Ich möchte austüfteln, warum der Progger nicht 100% läuft. > (habe noch einen anderen AVR-Programmierer, darum geht es nicht) > > Mittlerweile läuft der AVRISPmkII-Klon recht sauber mit 1MHz > Programmiertakt. Abstürze kommen aber trotzdem noch vor. > > Ausserdem müsster er ja eigentlich auch bei 4MHz stabil laufen können, > wenn das Target auf 20MHz getaktet ist. Hier stürzt er aber in über der > Hälfte der Fälle gnadenlos ab. > > > Habe leider kein DSO, sonst würde ich mir mal die Flanken anschauen... Okay, rein zum lernziel, will ich irgendwann auch mal einen Programmer nachbauen. Aber wie schon gesagt, da dass Original nicht sehr teuer ist, macht es kaum sinn, wenn man sich als alleiniges Gerät einen Nachbau macht um ein paar Euro zu sparen. MFG Stephan
Die Transistor Z-Dioden Schaltung ist als Stromversorgung ausreichend stabil. LM317 oder 3V3 regler kann man natürlich nehmen ich hab aber versucht verhältnismässig günstig zu bleiben. Und bis auf die Temperaturunstabilität hat die Schaltung keine Nachteile. Und -20 oder +40° hat man selten auf dem Schreibtisch.
Christian U. schrieb: > Die Transistor Z-Dioden Schaltung ist als Stromversorgung ausreichend > stabil. LM317 oder 3V3 regler kann man natürlich nehmen ich hab aber > versucht verhältnismässig günstig zu bleiben. Und bis auf die > Temperaturunstabilität hat die Schaltung keine Nachteile. Und -20 oder > +40° hat man selten auf dem Schreibtisch. Finde ich im Prinzip auch eine gute Idee mit Zenerdiode und Transistor. Habe nur leider absolut keine passende Zenerdiode und müsste etliche 1N4148 in Reihe schalten mit dem Problem, dass ich entweder 3V oder 3,6V erhalte je nach Anzahl (Steckbretttestung). Bei LM317 ist man wegen dem Poti "spannungsflexibel" :O)
Besser ist ja nie ein Problem. Also einfach den Spannungsteiler mit 3V Output einstelln und gut is :)
Christian U. schrieb: > Besser ist ja nie ein Problem. Also einfach den Spannungsteiler mit 3V > Output einstelln und gut is :) der LM317 hat eine Referenzspannung von 1,25V zwischen "Out" und "Adj". Der Spannungsteiler muss also, nach Masse gemessen, 2,05V haben. Damit kommt man dann auf 3,3. Der 317er braucht eine Mindestlast. Eine Spannungsumschaltung 5/3.3 braucht man nicht, sofern man die Datenleitungen, die zum Mega8 des Programmers gehen, mit einem entsprechenden Widerstand versieht. Dann wird über die Schutzdioden des Mega alles, was zuviel ist, in die 3.3V abgeleitet. Als Spannungsregler nehm ich mir hier den "LP2951xx-3.3x". Der macht präzise 3.3V ohne externes Widerstandsgefummel und man hat einen Power-Good-Ausgang, den man mit ~Reset des Mega verbinden kann(Muss man aber die SO8 oder PDIP8 Gehäuse nehmen). mfg mf
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.