Hallo zusammen, ich bin vom parallel zu einem seriell ISP gewechselt, da mein neues Lapi keine parallel Anschluß hat. Nun dauert die Programmübertragung sehr lange. Ich nutze PonnyProg und einen ATmega 8. Wenn man ein Programm überträgt dauert das ca. 45min. Wie kann ich das ändern, das es schneller geht? Danke & Gruß Steffen
Vermutlich noch mit USB/Seriell Adapter? Da hilft wohl nur nen AN910 Programmer (o.ä.) zu bauen. Gruß Roland
http://www.ullihome.de/index.php/USBAVR-ISP/de auch sehr gut nutze ihn selbst weil ich an 3 verschiedenen rechnern sitze
ja ein von fdti. gibt es eine variante direkt von usb auf isp? damit man nicht 5 zwischenstecker braucht?
Hast du mal den Link über deinem Beitrag angeschaut ? AVR910 würd ich nicht nehmen der kann in der Original Version nur Word Mode und die modifizierte muss auch mit jedem neuen Controller modifiziert werden.
Hallo, ich habe mir nun den USBAVR gebaut. Nun habe ich aber Problem mit dem Treiber. Wenn ich den Programmer an den Rechner anschließen meldet sich Windows um den Treiber zu installieren. Wenn ich nun den von der Webseite nehme, dann meldet Windows (Code 28) "Die Installation ist fehlgeschlagen, da für diese Geräteinstanz kein Funktionstreiber angegeben wurde." Was mach ich da falsch? Wie bekomm ich das Teil zum laufen? Ich habe das unter Win2k und WinXP probiert. Danke Steffen
Da hier anscheinend schon einige den USBAVR-ISP gebaut haben: Funktioniert bei euch das Menü im Terminalmodus ? Bei mir gibt es keine Möglichkeit die Geschwindigkeit einzustellen, dafür gibt es noch eine 3. Auswahlzeile mit Hyroglyphen. Wenn ich das auswähle hängt sich Hyperterminal auf (da anscheinend der AVR abgestürzt ist).
Hallo Benedikt, wenn ich schon so weit wäre... bei mir hängt es an der Installation, wobei ich nicht weis ob das Teil überhaupt geht. Bei mir leuchtet die grüne LED schon mal.
hallo das Menü im Terminalmodus geht bei mir auch nicht richtig. aber ansonsten ist das ding echt toll
Also, im Terminalmodus kann man keine Geschwindigkeit einstellen, das heisst eigentlich schon aber nur mit Atmega168 da es in den 8er einfach nicht mehr reinpasst. Die ISP geschwindigkeit kann aber Problemlos über das AVR Studio eingestellt werden im Tab "Board" die ISP Geschwindigkeit einstellen, und diese Einstellung nutzt der USBAVR ISP und speichert sie auch im EEPROM. Damit sind leider z.Z. die 3 Mhz ISP Freq die er Hardwareseitig kann nicht benutzbar sondern maximal 1,5 Mhz aber damit kann man auch gut leben ich flashe regelmässig Atmega64 damit und brauch dazu ca 15 sek. wobei das auch noch nicht ausgereizt ist da im Moment beim flashen nicht gepollt wird sondern eine feste Wartezeit genutzt wird die programmiergeschwindigkeit wird also wenn ich mal wieder Zeit hab was ander Firmware zu machen noch beachtlich steigen. Der Terminalmodus kann im Moment 2 Sachen, einstellen der AVR Studio Firmwareversion, damit der nervige Dialog mit "Falsche Software Version bitte Updaten" nicht kommt, und um mal schnell zu schaun ob der Controller der dran hängt läuft und was das für einer ist ist ohne das AVR Studio zu starten ist er auch gut. Ihr berichtet alle das es nicht funktioniert ich wüsste aber keinen Grund weswegen, außerdem hab ich noch keine Mail dazu bekommen ?! Probiert bitte mal mehrere Schnittstellengeschwindigkeiten aus eigentlich sollte das egal sein bei mir Perosönlich ist das auch so aber villeicht ist da ja doch noch was ... Also Hyperterm auf, auf die Entsprechenede Schnittstelle verbinden, m e n u e Enter eingeben (natürlich ohne Leerzeichen) Dann muss eigentlich der Terminalmodus kommen ...
Bei mir das so aus im Hyperterminal. Ich denke nicht, dass das normal. Wenn ich die komischen Sachen auswähle ist mir sogar schonmal der PC abgestürzt...
Komisch, ich hab den auf 3 XP Rechnern am laufen und überall läufts. kannst du irgendwie mal nen log davon machen ? Mit nem Programm was die Kommunikation in ne Datei schreibt oder ähnliches ? Nur bis die Anzeige da ist also keine weiteren Tastendrücke oder ähnliches. Villeicht kann das das Hyperterm sogar... Du kannst auch die MENUE_size mal auf einen festen Wert setzen (Zeile 90 main.c) vielleicht gibt sizeof(menue) ja nicht die Anzahl der array elemente zurück. Aber warum sollte das bei mir mit der selben Firmware klappen ... ?
Keine Ahnung, hat mich auch gewundert. Um Fehler auszuschließen habe ich direkt die Hex Datei verwendet, ohne diese neu zu kompilieren.
Ich habe die Daten mal angehängt: Diese Daten sendet der AVR an Hyperterminal, wenn man menue eingibt.
Bei mir ist es das selbe im terminalmode wie bei Benedikt K. aber ansonsten ist das ding echt toll und geht auch ohne probleme in Studio
Ich versteh gerad nicht warum aber mal sehn kommt Zeit kommt rad ;) Der Terminal Modus fliegt aus der 8er Software eh bald raus und wird durch nen Bootloader ersetzt die Einstellungen können dann über pc Software gemacht werden und die Firmware mal schnell ausgetauscht gegen SPI-Logger oder I2C Logger Firmware und natürlich Updates...
Beim programmieren bekomme ich relativ oft diesen Fehler. Ist das ein Problem mit der ISP Verbindung oder mit der Vebindung PC-Programmer ? Wird die Einstellung des Programmiergeschwindigkeit eigentlich gespeichert ?
Das deutet auf eine zu hohe ISP Geschwindigkeit hin und ja die ISP Speed wird gespeichert. Da der USBAVRISP ja mit einem 12 Mhz Quarz arbeitet werden die STK500 frequenzen folgendermassen umgesetzt hatte ich noh nicht dokumentiert. 1843200 = 1,5 Mhz 460800 = 375 khz 115200 = 93,75 khz 57600 und kleiner = 1 khz Möglich sind: 1 khz 93,75 khz 187,5 khz 375 khz 750 khz 1,5 Mhz 3 Mhz aber das geht nur wenn man die ISP Frequenz extern setzt z.b. über den Terminalmodus also nur mit Atmega168 z.Z. sobald der Bootloader da ist wird man das aber auch mit einer kleinen Software vom PC aus einstellen können... Die Einstellung bleibt dann solang erhalten bis man im AVR Studio was neues einstellt...
Wenn ich die ISP Frequenz mit AVR Studio einstelle und zurücklese passt der Wert. Starte ich AVR Studio aber neu und lese den Wert wieder ein, wird keine Frequenz angezeigt. Selbst beim Auslesen oder programmieren des AVRs mit kleinen Geschwindigkeiten kommt der Fehler. Sobald einmal der Fehler kommt, scheint manchmal garkeine Kommunikation mit dem Programmer möglich zu sein, denn ich kann dann manchmal nichtmal die ISP Frequenz einstellen. Kann es sein, dass die Standardfrequenz die 1,5MHz sind ?
Standardfrequenz sind 750 khz, sollt ich die vielleicht runtersetzen ? Das das AVR Studio die Frequenz nach einem neuen Connect auf den programmer nicht anzeigt it normal und eine AVR Studio interne Geschichte deswegen ist trotzdem die richtige Frequenz gesetzt. Das mit deinen ISP fehlern ist komisch du kannst ja Testweise mal die schutzwiderstände in den isp leitungen durch 0 Ohm Brücken ersetzen. Villeicht ist es auch tatsächlich ein Problem mit der PC kommunikation schliesslich verwende ich hier einen Software USB Treiber der sich auch nich 100%ig an die Spezifikation hält. Aber für meinen Teil hat er auf mehreren Rechnern noch keine Probleme gemacht das dürfte sich auch mit einem Log nachweisen lassen du kannst ja mal einen machen...
@Christian Habe gerade mal einen Blick auf deine Schaltung geworfen. Wäre es nicht ganz gut, dem ATmega noch zwei Blockerkondensatoren von 100nF zu spendieren? Auch würde ich die Zener-Dioden an DATA+ und DATA- unbedingt weglassen, denn die haben eine sehr hohe Kapazität. Evtl. könnte das der Grund sein, warum einige Probleme mit der Inbetriebnahme haben. Ich werde mir heute Abend das Teil auch mal aufbauen und dann berichten.
Es scheint so, als wenn das Problem am Timeout vom AVR Studio liegt: Ich habe die Fuses und die ID ausgelesen (geht wunderbar), dann den Flash. Das ist der große Block mit den vielen FF. Dieser kam aber erst nach dem Fehler an ! Es scheint also, dass diese Datenblock (aus irgendeinem Grund) verspätet ankam (vielleicht weil ich den ISP Takt auf 1kHz gestellt habe ?) und AVR Studio in der Zwischenzeit den Vorgang durch einen Timeout abgebrochen hatte. Danach kommen überall Fehler, da anscheinend der zu spät empfangene Datenblock alles blockiert. Wenn ich AVR Studio neu starte, geht es wieder. Allerdings hatte ich auch schon ein paarmal den Fall, dass der Programmer garnichtmehr erkannt wurde (die USB Verbindung war aber noch OK). Dann musste ich den Programmer kurz vom USB Port abklemmen. Wie ist das eigentlich bei USB: In den Specs steht irgendwas, dass 5V Pegel auf den Datenbleitungen nichts beschädigen dürfen. Heißt das nur, das nix kaputtgehen darf, oder dass auch dann noch der Datentransfer funktionieren muss ? Es gibt nämlich etliche Schaltungen (z.B. der Igor Plug), die verwenden einen 3,3V oder 3,5V Regler für den AVR.
Ich meinte das mit dem Logfile eher so: http://www.ullihome.de/index.php/USBAVR-ISP-Help/de#AVR-Studio 1khz solltest du nicht nehmen mindestens 93 damit das per Hardware SPI gemacht wird. Software ist immer sone sache. Villeicht ist das auch das problem da das STK500 normalerweise 4khz als kleinste ISP Frequenz nutzt und darauf die Timeouts abgestimmt sind... Hast du denn mit 115,... khz auch Probleme ? Das mit der Programmer Kommunikation ist mir bisher 1x aufgefallen scheint irgendwas damit zu tun zu haben wenn das Target ständig dransteckt ich konnt aber noch keinen richtigen Zusammenhang finden. Da brauch ich noch mehr infos wann das genau passiert und in welchem Zusammenhang das scheint ja nicht so häufig zu sein zumindest bei mir nicht. Laut Spezi sollte 5V ok sein hatte aber mit viele Host Controllern probleme wenn ich die 3,3V Z-Dioden nicht bestückt hatte kommen anscheinend viele nicht so richtig mit klar.
Christian Ulrich wrote: > Hast du denn mit 115,... khz auch Probleme ? Ja: Dann funktioniert es fast nie (seltsamerweise ging es am Anfgang mal). Ich muss mal schauen, vielleicht habe ich ein Hardwareproblem. > Das mit der Programmer Kommunikation ist mir bisher 1x aufgefallen > scheint irgendwas damit zu tun zu haben wenn das Target ständig > dransteckt ich konnt aber noch keinen richtigen Zusammenhang finden. Eben hatte ich wieder das Problem, dass ich das USB Kabel ziehen musste, da der Programmer nicht erkannt wurde: Ich hatte lediglich längere Zeit das Target angeschlossen gehabt.
Ohne den Programmer anzusprechen ? Mit oder Ohne Targetversorgung ? Ist in dem Fall der Virtuelle comport noch da ? Geht der Terminalmodus noch ?
Ich habe es gerade eben mehrmals reproduzieren können: mega168 an den Programmer anschließen, USB einstecken, halbe Stunde warten, versuchen zu connecten: geht nicht Der Port ist noch da (bei mir COM9), lässt sich aber nicht mehr öffnen. Weder mit dem AVR studio noch mit einem anderen Programm.
Und ich habe es noch ein paarmal ausprobiert (nochmal mit mega168): Bei allen Baudraten außer 9600Baud kommt der Fehler, dass die Baudrate ungültig wäre. Ich dachte er STK500 läuft mit 115,2kBaud ? Ich mache das ganze jetzt mal ohne mega168.
@Schorsch hatte dein Posting übersehen, ich glaub nicht das die Blockkondensatoren soo viel bringen. USB liefert eine sehr saubere Spannung. Die Dioden sind auch kein Problem die Frequenzen sind nicht hoch genug als das dei Kapazität dami viel Probleme bereiten könnte. Sicher nicht die idealste Lösung aber sollte klein billig und einfach aufzubauen sein ...
@Benedikt Ich kann deinen Fehler nicht nachvollziehen. Ich habs mehrfach mit 2 Programmern an 3 rechnern versucht die Programmer lagen jeweils eine Stunde angeschlossen rum ich hab einmal kurz nach dem anschließen verbunden und nach ner Stunde wieder. Kein Fehler !
Ich habe noch mehr Fehler: An meinem Notebook (WinXP Home) geht noch weniger: Programmer wird erkannt, Treiber installiert. Wenn ich mit einem Terminalprogramm verbinde, höre ich diesen Hardware entfernt Sound, und wenn ich es nochmal probiere kommt ein Bluescreen und der Rechner startet neu...
Das sollte laut USB Spezifikation gar nicht möglich sein. Bei windows 98 hätte ich gesagt gut die USB implementation ist Fehlerhaft... Aber bei XP ist das arg verdächtig. Ich kann hier mit eminem Bus an Windows XP machen was ich will selbst Kurschlüsse verzeiht er ohne zu murren. Den Treiber bringt Windows XP selber mit ich weiß nicht wo das herkommen soll. Ich denke auch deine Hardware ist nicht fehlerfrei bei den komischen Effekten die du beschreibst. Hast du mal etwas rumgespielt ? mal ohne Z-Dioden usw.
Die Hardware habe ich überprüft: Die ist OK. Anstelle der 68Ohm Widerstände habe ich 47 verwendet, und für den ISP Anschluss überall 100 Ohm statt den 1k/100 Ohm gemischt. Geschwindigkeiten von <115kHz funktionieren, darüber wird der AVR nicht mehr erkannt. Das Notebook startet ohne die 3,3V Z-Dioden nicht mehr neu, aber der Programmer meldet sich etwa im 1-10s Rhytmus an und ab. Ich habe auch mal die kürzesten Kabel verwendet die ich habe (0,8m USB kabel), aber daran liegt es nicht.
Das der Programmer bis 115khz erkannt wird ist ja schon mehr als erträglich. Aber den Fehler mit deinem Notebook kann ich mir beim besten Willen nicht erklären. Interessieren würde mich mal ob es im HID Mode läuft dazu kannst du die USBasp Firmware einfach mal draufbrennen dann muss er eigentlich mit AVRdude ansprechbar sein.... Was man auch noch probieren könnte ist die Z-Dioden raus und extern 3,3 statt den 5V USB einspeisen damit alles auf 3,3V läuft und man den Fehlerfall mit den hohen Kapazitäten der Z-Dioden ausschaltet. Aber das kann ich mir eigentlich auch nicht vorstellen da das ding ja an etlichen Rechnern problemlos läuft.
Hello, nach dem ich das Teil zum laufen gebracht habe, habe ich am Anfang auch die Fehlermeldung mit dem zu schnellen Takt bekommen. Nun wird der Adapter gefunden aber wenn ich was progrmmieren oder auslesen will, dann meckert AVR Studio das es keine verbindung herstellen kann und ich solle die Spannung prüfen. Was muß ich ändern das ich damit auch programmieren kann? Danke & Gruß Steffen
was sagt es denn genau ? Ich kenn keine Fehlermeldung mit Spannung prüfen. Ist das Target denn versorgt?
hm, jetzt bekomm ich wenn ich eine Verbindung herstellen möchte diese Meldung, was soll ich hier updaten, und was ist das für eine Version? 0.b....
Auf meiner Seite ist eine Hilfe Seite. Die Software Version wird im EEPROM gespeichert, wie du da so einen krummen Wert reinbekommen hast ist mir allerdings ein rätsel.
Hallo, hier die aktuelle Fehlemeldung, die bekomme ich immer, der AVRISP wird aber vom AVR Studio erkannt. Ich habe am Target die Spannung gemessen, und die ist 5V. Egal was ich mache, es wird keine Verbindung hergestellt. Was kann ich jetzt noch machen? Danke & Gruß Steffen
Ich bekomme bei mir den gleichen Fehler, wenn ich auf HV Programmierung stelle. Überprüf nochmal, ob bei programming mode wirklich ISP steht.
Ich hab diesen Fehler noch nie gesehen, die Lösung würd ich aber gern Dokumentieren das ist sicher eine Einstellungssache. Mach mal bitte noch Screenshots von den Board und Program Tabs. Und mach einen Log wie es in der Hilfe beschrieben ist. @Benedikt wie schauts bei dir aus ? Noch was rausgefunden ?
Ich habe die Schaltung nochmal überprüft. Die Verbindungen sind alle OK. Da es mit geringen Frequenzen geht, läuft die Schaltung generell also. Also gehe ich davon aus, das der Aufbau OK ist. Die eingestellte Geschwindigkeit wird nicht gespeichert, oder ? Mit der Defaulteinstellung wenn ich AVR Studio starte, wird der angeschlossene AVR erkannt. Sobald ich auf >=115kHz stelle, wird der AVR nicht mehr erkannt. Ich dache die Defaulteinstellung wäre höher ?
Müsste VTarget nicht 5V betragen ? Überprüf mal die Spannungsteiler am ADC.
Wenn am Spannungsteiler 4,5V anliegen wieso zeigt er dann 0V an ? Und wo liegen 4,5V an ? vorm Spannungsteiler oder am AVR ?
hm, das weis ich auch nicht, ich habe direkt am AVR gemessen. Ich werde mir jetzt mal einen 2. Controller programmieren. Das dauert aber 2 Stunden.
an Avr sollten max 2,5 V sein dazu ist der Spannungsteiler ja da. Warscheinlich hast du deinen AVR damit auch zerschossen. Irgendwas muss da mit deiner Bestückung nicht hinhauen.
Guten morgen, nach dem ich mir den 2. Controller progrmmiert habe war das gleich wieder. 0V in der VTarget anzeige. Wenn ich nun 5V am AVR anlege, dann geht das gute Stück. Warum sollen nur 2,5V anliegen?
Also ich habe das eben noch mal gecheckt. Der Spannungsteiler funktioniert, es liegen 2V an so lange der AVR nicht eingesteckt ist. Wenn ich den dann einstecke, dann ist am AVR Anschluß gleich 0V dran. Nun habe ich mir gleich mal einen 3, noch neuen AVR programmiert und da ist genau das gleiche Problem. Ich nutze den ATmega8.
ja das scheint so, egal welchen der AVR´s ich benutze. wenn ich aber den 33k Wiederstand kleiner machen, dann kommt auch mehr Spannung an.
Ich habe den 33k Wiederstand gegen einen 100Ohm ausgetauscht und nun liegt 1V am AVR an. AVRStudio zeigt ganze 2,5V an. s.Bild
Was hast du für Wiederstände drin, welchen AVR? Wie hoch ist deine Spannung nach dem Spannungsteiler?
hm da weis ich nicht was ich falsch gemacht habe. Jedenfalls ist die Spannung weg sobald der AVR drin steckt. Nun habe ich die Wiederstände geändert, und nun geht es, und fehler sind nicht mehr aufgetreten.
hm, naja, bis auf Program, Verify und Read geht alles :-( . Also wenn ich was prorammieren will, dann scheint der auch was zu übertragen, man sieht das an dem Fortschrittleiste unten rechts im AVR Studio. Wenn der fertig ist dann kommt die gleiche Meldung wie bei dir. s. Anhang.
Setz mal die Programmiergeschwindigkeit auf 115,2kHz und schau mal ob es dann geht. Falls dann nichtmal mehr die Fuses gelesen werden können, liegt das Problem vermutlich an der Software.
Ich könnte in die Luft springen, ich habe eben mal die avr_usbasp_hex draufgespielt und es läuft auf Anhieb. Vorher hatte ich nur die avr_hex Software drauf. Nur das mit dem Spannungsteiler geht immer noch nicht, aber egal, es läuft ja mit einem 100Ohm Wiederstand. Jetzt liegt da 1V an und das scheint dem AVRStudio zu reichen. Eine Frage hab ich noch, wozu sind die LED´s da? Bei mir leuchtet nur die grüne.
Also das mit der Target Spannungs auslesen Funktioniert, da musst du irgend nen Schaltungs oder Bestückungsfehler gemacht haben. Zu dem ISP problem bei mir funktioniert die Software SPI (<115,2khz) recht schlecht. Und die Hardware SPI sehr gut. Bei die Benedikt scheint es genau andersherum. Villeicht hängt das sogar etwas an der Controllercharge meine 4 Programmer sind alle mit ATM8 aus der selben Charge. Aber ich weiss von anderen Leuten das es dort auch ähnlich ist. Wenn du lust und Zeit hast kannst du ja die Software SPI etwas tunen man muss ja nur die Wartezeiten ändern und kann dann höhere Programmiergeschwindikeiten auch mit Software SPI fahren. das ganze könnte man durch ein define auslösen falls nochjemand sie selben Probleme hat.
Ich habe bei mir mal die avrisp_usbasp_hex draufgemacht: Jetzt zeigt AVR Studio auch 0V an... Was ist eigentlich der Unterschied zwischen avrisp_usbasp_hex und avr_isp_hex ?
Also ich hab die Schaltung hoch und runter gecheckt, wenn ich den AVR weglasse und 5V anlege, dann liegt funzt der Spannungsteiler. Sobald ich den AVR draufstecke dann geht das nicht mehr. Ich werd mir die Tage mal einen neuen AVR bestellen. Mal sehn was damit ist. Wo kann ich nachschauen welche ISP Frequenz ich nutze?
Na ich finde das Teil seht interessant. Vielleicht sollte man sich mal zusammensetzten? Ich habe in 14 Tagen Urlaub ;-).
Steffen Z. wrote: > Wo kann ich nachschauen welche ISP Frequenz ich nutze? Hier: http://www.mikrocontroller.net/attachment/22729/Bild1.jpg Auf 115kHz stellen und Write anklicken.
>Was ist eigentlich der Unterschied zwischen avrisp_usbasp_hex und >avr_isp_hex ? avr_isp_hex ist für meine Hardware und avrisp_usbasp_hex ist meine Firmware für den USBasp da der USBasp keinen ADC belegt hat funktioniert die Spannungsmessung dort logischerweise nicht. Allerdings ist das ein Bug dort sollten ja dann natürlich immer 5V zurückgegeben werden fällt mir gerad auf :) ich änder das gleich mal.
ok, die Fequenz hab ich gefunden. Ich habe eben mal ein paar Test´s durchgeführt, wenn ich einen ATmega8 dran habe dann kann ich bis 1.845Mhz Daten lesen und schreiben. Wenn ich einen ATmega8535 dran habe, dann geht das nur mit 115.2Khz. Das mit der Spannung, also bei mir liegt ca. 1V am ADC an und AVR Studio zeigt aber 2,5V an. Irgendwie scheint der doch was zu lesen.
Ist doch richtig, der ADC kann da Referenz = 2,65 V maximal diese ab. deshalb ist dort ein Spannungsteiler davor und was sagt uns der Name Teiler richtig das er teilt :p Der ADC Wert wird dann intern wieder korrekturgerechnet. Ist also soweit alles richtig. Nur das bei 5V am Target ungefähr 2,5 V am AVR sein sollten. Also hast du die Widerstände entweder falsch bestückt oder einer ist gebrückt oder oder oder. Oder aber da sind wirklich 2,5V am Target.
So wie ich das verstanden habe, sind die 2,5V sind am Target und die 1V am Spannungsteiler. Das kommt hin. Das Problem liegt vermutlich in der USBASP Software: Anscheinend misst der ADC Eingang, aber der Port ist auf Ausgang geschaltet.
aja, das hab ich verstanden. Wenn man den Aref nicht beschaltet dann läuft der intern mit 2,56V. Mein Spannungsteiler liegt an 5V und am AVR liegt 1V an. Ich bin nur froh das das überhaupt geht. Nur die Bedeutung der LED´s kenn ich noch nicht. Bei mir leuchtet immer nur die grüne. Die andern bleiben dunkel.
USBasp Software ?? Steffen hast du da USBasp Hardware ?? Soweit ich gelesen hatte hast du meine Hardware verwendet ?! Verwendest du die USBasp Software ?? >Das Problem liegt vermutlich in der USBASP Software: Anscheinend misst >der ADC Eingang, aber der Port ist auf Ausgang geschaltet. Quatsch. Wenn ich das eben im Datenblatt richtig gesehn hab spielt die Datenrichtung der Ports gar keine Rolle wärend eine ADC Convertierung läuft. Ausserdem is der Pin ist zu keinem Zeitpunkt als Ausgang beschaltet. Hab ich auch gerade nochmal nachgemessen. Bei dir funktioniert das mit der Targetspannung doch auch oder Benedikt ?
Also ich nutze seit heute früh auch die USBasp Software, seit dem geht das auch erst richtig bei mir. Und der spannungsteiler geht so lange wie kein AVR eingesteckt ist. Wenn der drinsteckt, dann geht die Spannung gegen null. Und das AVRStudio zeigt dann auch 0V an. Wenn ich den 33k Widerstand gegen einen 100Ohm ersetze dann liegt am AVR 1V an bei 5V Targetspannung. Das AVRStudio zeigt dann 2,5V an. Nicht das ein interner Pullup Widerstand das verursacht?
@Christian noch mal zur Hardware, ich habe das so nachgebaut wie du es auf deiner Seite hast. Und dann habe ich heute früh die USBasp Software drauf gemacht.
Die vom Fischl ? Und dann programmierst du mit avrdude oder was ? Dort kann der Port natürlich auf Ausgang geschaltet sein dann nimm doch einfach den 33K Widerstand raus dann hast du da keine Verbindung mehr zum Target
ne ich hab deine Schaltung nachgebaut. Und dann auch mit deinem USBasp Hex File programmiert.
Christian Ulrich wrote: > >>Das Problem liegt vermutlich in der USBASP Software: Anscheinend misst >>der ADC Eingang, aber der Port ist auf Ausgang geschaltet. > > Quatsch. Wenn ich das eben im Datenblatt richtig gesehn hab spielt die > Datenrichtung der Ports gar keine Rolle wärend eine ADC Convertierung > läuft. Definitv doch: Schaltet man den Pin auf Ausgang, misst man immer 0 oder 1023 je nachdem ob der Port auf Low oder High ist ! > Ausserdem ist der Pin ist zu keinem Zeitpunkt als Ausgang beschaltet. Hab > ich auch gerade nochmal nachgemessen. Bei dir funktioniert das mit der > Targetspannung doch auch oder Benedikt ? Mit der normalen Software ja, mit der USBasp nicht. Steffen hatte mit der normalen Software ähnliche Probleme wie ich, aber die USBasp Software scheint bei ihm zu funktionieren. Daher wollte ich diese auch mal ausprobieren.
ja die USBasp läuft ganz gut und auch fehlerfrei. Nur das mit dem Spannungsteiler klappt noch nicht so recht. Wie gesagt, ich habe jetzt einen 100Ohm drin, da zeigt mir AVRStudio 2,5V an und das schein zu reichen. Zumindest bekomm ich keine Fehler mehr.
Dann muss das Hex File defekt sein, ich hatte solch einen Effekt schon mal mit nicht gezippten hex files erklären kann ich ihn nicht da eigentlich ja Checksummen pro Zeile drin stehen... Ich lad nacher mal die aktuellen Quellen hoch, ich hab heut auch einen Bootloader geschrieben bloss ne Applikation die ihn bedient muss noch her, da hab ich noch ein paar Probleme mit der libusb. Was ich an den problemen nicht verstehen kann ist das beides exact die selbe Firmware ist nur beim USBasp andere Ports für die LED´s verwende werden. Der rest sollte gleich sein also versteh ich nicht wie da solche Effekte zustandekommen sollen.
Was ich eigentlich damit sagen wollte, compiliert euich die Quellen mal selber sind ja für alles AVR Studio Projekte da...
Hello, ich bin heute noch nicht dazu gekommen. Ich werd das am WE mal testen und dann melde ich mich am Montag wieder. Gruß und schönes WE Steffen
Ich habe gestern abend mal einen aktuellen Snapshot auf meiner Entwicklungsfirmware hochgeladen. Dort ist z.b. ein neuer USB Treiber drin vielleicht behebt das deine USB Probleme Benedikt. Ausserdem ist die RS232 nun durchgeschliffen solang man nicht Programmiert wird also alles was auf dem 10 pol. Stecker auf TxD und RxD gesendet/empfangen wird direkt an den virtuellen Com port auf dem pc weitergeleitet. Ist aber noch ungetestet da ich am We keine 2 Programmer hier hab. Die hex files hab ich mangels Tests noch nicht geändert einfach mal compilieren und schaun...
So heute hab ich versucht die Firmeware selbst zu compilieren. Leider hängt sich mein AVRStudio dabei auf. Was auch immer der Grund ist, ich weis es nicht. Aber egal, es geht so hallwegs mit der 1.Firmeware. Noch mal Danke & Gruß Steffen
Du compilier dir bitte die Quellen selbst mal das AVR Studio hast du ja. Ich kann auch nicht verstehen warum das AVR Studiom beim compilieren abstürzen soll ist mir auch noch nie passiert und ich setzte auf arbeit die Stabile und Zuhaus die beta ein... Es ist mir lieber wenn die Leute die die Quellen compilieren können dies auch tun um defekte an den Hexfiles bei Übertragung o.ä. auszuschliessen. Ersetzen möcht ich die alten Hexfiles bis der Bootloader samt PC Software läuft noch nicht.
Hello, das AVRStudio wollte die WINAVR Software haben. Die habe ich installiert und seitdem hängt sich das Studio auf sobald ich GCC Code Compilieren will. Alles andere geht. Und da ich mit der AVR Progammiererei erst angefangen habe, bin ich auch ein bissel ratlos. @Christin, ich schich dir mal eine eMail.
Ich habe die Software AVRISP_M8_STK500.aps compiliert und in den mega8 geladen. Er wird erkannt, ich kann mit einem Terminalprogramm den COM Port aber nicht öffnen, und AVRStudio kann sich nicht verbinden (Timeout). Wie installiert man den neuen USB Treiber ?
kein PC Treiber sondern eine neue Version des USB AVR Treibers von obdev. Ich hab aber schon bemerkt das es nicht geht, muss sich irgendwo ein fehler eingeschlichen haben. Ich werd mir das mal ansehen so kanns gehn wenn man n paar stunden ohne Ziehlhardware programmiert :)
So, hab mich eben noch mal drangesetzt und den Fehler beseitigt die Baudrate des USART wurde falsch eingestellt. Da zumindest der Anfang der Kommunikation zwischen AVR Studio und Prommer mit an die USART gesendet werden muss da er ja noch nicht weiß das diese Kommunikation vom AVR Studio kommt hat das alles aufgehalten da die Baudrate irgendwo um die 100 baud gesetzt wurde und das Studio hat nen Timeout gemacht. Hab die aktuellen Sourcen mit 3 Programmern gegengecheckt und sie haben sich alle gegenseitig einwandfrei geflasht. 3 USB Controller hab ich probiert auch hier schaut alles gut aus. Würd mich mal interessiern was bei deinem Notebook nun passiert Benedikt, da es ja ne neue Version des USB Treibers ist...
avr-gcc.exe -mmcu=atmega8 main.o usbdrv.o usbdrvasm.o usb_uart.o isp.o stk500protocol.o timer.o vt100.o vt100_menue.o led.o -o AVRISP.elf main.o: In function `SetSTK500Ver': ../main.c:304: undefined reference to `MENUE_is_key' main.o: In function `MAIN_tasks': ../main.c:259: undefined reference to `MENUE_task' main.o: In function `Oncharrecived': ../main.c:123: undefined reference to `MENUE_init' ../main.c:124: undefined reference to `MENUE_update' make: *** [AVRISP.elf] Error 1 Build failed with 4 errors and 0 warnings...
Rebuild All hilft sicher :) oder du löscht die alten Objektdateien vorher. Projekt ist die AVRISP_M8_STK500.aps aber ich hab deinen Fehler mit keinen der Projekten nachvollzogen bekommen von daher gehe ich davon aus das noch alte Objektdateien in deinem Verzeichnis rumliegen.
Hello, @Christian, dein Flashfile funktioniert. Nun geht das auch mit dem Spannungsteiler 33k/22k. Nur wenn man einen AVR am ISP Anschluß absteckt, dann geht die grüne LED aus, und nur duch an und abstecken am Rechner wieder an. Das passiert nur, wenn man vorher per AVRStudio was gemacht hat damit.
Die grüne LED Zeigt an, das 5V von deinem Target kommen und auch Reset anscheinend richtig angeschlossen ist. Wenn irgendeine Bedingung nicht erfüllt ist blinkt sie Rot z.b. wenn man den ISP Stecker verdreht hat... Ich hab das eben mehrfach probiert und bei mir gehts. Da scheint aber noch etwas mit dem neuen USB Treiber im Busch zu sein auf jeden Fall wird der Programmer bei mir nicht immer erkannt. ich bin gerad dabei den Fehler zu suchen.
OK, es scheint keinen Fehler zu geben jedenfalls lag es bei mir daran das ein anderes Programm ständig alle RS232 absucht und dabei die vom Programmer immer geöffnet hatte wenn ich drauf zugreifen wollte. Ich hab gerad 4x nen Atmega64 Programmiert den ISP Stecker abgezogen vor und nach dem abziehen des ISP Steckers die Verbindung zum AVR Studio getrennt und danach gleich wieder Fuses ausgelesen und Programmiert ich bekomm deinen Fehler nicht nachvollzogen. Kannst du bitte einen exakten Ablauf aufschreiben was du machst ? Hast du am SPI auf deiner Zielschaltung irgendwas dranhängen ?
also ich stecke den ISP Stecker an meine Progammieradapter, der hat einen Textoolsockel einen Quarz + Kondanator mehr ist nicht dran. Wenn ich dann den AVR per Studio anspreche, dann geht das alles ganz gut, ich kann alles machen. Wenn ich dann den AVR vom ISP abstecke geht die grüne aus und mann kann keine Verbindung mehr aufbauen. Das geht nur wenn man das Ganze am USB rauszieht und wieder ansteckt. Dieser Problem habe ich mit der ersten Version nicht.
Absolut unverständlich ich schmeiß nachher mal test weise den LED kram aus einer Firmware raus und schick sie dir mal sehn was dann passiert. Ich habs jetzt mit 3 Targets versucht nirgends ist dein Fehler nachvollziehbar.
was mich wundert, mit der neuen Firmeware geht das auch mit dem AD Wandler richtig. Mit der Alten nicht. Habs mit 2 Mega8 getestet.
Das ist bei mir schon immer gelaufen wie auch die Geschichte mit dem an/abstecken bei mir Problemlos geht und ich hab heut schon viel an Kombinationen getestet. Und die ADC Routinen hab ich nicht angerührt...
ich kann dir gern mal meinen Adapter schicken, oder zumindest einen Mega8.
Das muss doch rauszukriegen sein. Lies das Programm nochmal aus dem Controller und vergleich die Hexfiles. Im Notfall kannst du ihn mir wirklich mal 2 Tage schicken. Aber ich würd gern versuchen das rauszukriegen. Wir müssen ja auch nich jeden Fuzel ins Forum schreiben per Mail geht das auch. Ich denke fast dein Programmierkabel verschreibt sich oder irgendwas derartiges. Wenn deine Hexfiles gleich sind schick mir das ausgelesene mal per Mail mal sehn obs auch mit meinem noch übereinstimmt.
Ja, das werd ich mal am WE machen, da hab ich reichlich Zeit. Bis dahin Steffen
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.