Forum: Mikrocontroller und Digitale Elektronik seriell ISP sehr langsam


von Steffen Z. (Gast)


Lesenswert?

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

von Roland P. (pram)


Lesenswert?

Vermutlich noch mit USB/Seriell Adapter?
Da hilft wohl nur nen AN910 Programmer (o.ä.) zu bauen.

Gruß
Roland

von Dirk F. (dirk-frerichs)


Lesenswert?

http://www.ullihome.de/index.php/USBAVR-ISP/de
auch sehr gut

nutze ihn selbst weil ich an 3 verschiedenen rechnern sitze

von Steffen Z. (Gast)


Lesenswert?

ja ein von fdti. gibt es eine variante direkt von usb auf isp? damit man 
nicht 5 zwischenstecker braucht?

von Christian U. (z0m3ie)


Lesenswert?

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.

von Steffen Z. (Gast)


Lesenswert?

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

von Benedikt K. (benedikt)


Lesenswert?

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).

von Steffen Z. (Gast)


Lesenswert?

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.

von Steffen Z. (Gast)


Lesenswert?

ich habs geschafft, ich habe nur vergessen auf ext.Oszi umzustellen

von condor (Gast)


Lesenswert?

hallo

das Menü im Terminalmodus geht bei mir auch nicht richtig.

aber ansonsten ist das ding echt toll

von Christian U. (z0m3ie)


Lesenswert?

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 ...

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

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...

von Christian U. (z0m3ie)


Lesenswert?

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 ... ?

von Benedikt K. (benedikt)


Lesenswert?

Keine Ahnung, hat mich auch gewundert. Um Fehler auszuschließen habe ich 
direkt die Hex Datei verwendet, ohne diese neu zu kompilieren.

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Ich habe die Daten mal angehängt:
Diese Daten sendet der AVR an Hyperterminal, wenn man menue eingibt.

von condor (Gast)


Lesenswert?

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

von Christian U. (z0m3ie)


Lesenswert?

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...

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

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 ?

von Christian U. (z0m3ie)


Lesenswert?

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...

von Benedikt K. (benedikt)


Lesenswert?

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 ?

von Christian U. (z0m3ie)


Lesenswert?

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...

von Schorsch (Gast)


Lesenswert?

@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.

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

Ohne den Programmer anzusprechen ?
Mit oder Ohne Targetversorgung ?
Ist in dem Fall der Virtuelle comport noch da ?
Geht der Terminalmodus noch ?

von Benedikt K. (benedikt)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

Passiert das selbe auch ohne den Mega168 ????

von Benedikt K. (benedikt)


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

Ohne mega168 passiert das selbe. Es liegt also nicht daran.

von Christian U. (Gast)


Lesenswert?

@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 ...

von Christian U. (z0m3ie)


Lesenswert?

@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 !

von Benedikt K. (benedikt)


Lesenswert?

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...

von Christian U. (z0m3ie)


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

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.

von Steffen Z. (Gast)


Lesenswert?

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

von Christian U. (z0m3ie)


Lesenswert?

was sagt es denn genau ?
Ich kenn keine Fehlermeldung mit Spannung prüfen.
Ist das Target denn versorgt?

von Steffen z. (Gast)


Angehängte Dateien:

Lesenswert?

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....

von Christian U. (z0m3ie)


Lesenswert?

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.

von Steffen Z. (Gast)


Angehängte Dateien:

Lesenswert?

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

von Benedikt K. (benedikt)


Lesenswert?

Hast du ISP ausgewählt ? Vermutlich nicht...

von Steffen Z. (Gast)


Lesenswert?

ja steht auf ISP

von Benedikt K. (benedikt)


Lesenswert?

Ich bekomme bei mir den gleichen Fehler, wenn ich auf HV Programmierung 
stelle. Überprüf nochmal, ob bei programming mode wirklich ISP steht.

von Christian U. (z0m3ie)


Lesenswert?

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 ?

von Benedikt K. (benedikt)


Lesenswert?

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 ?

von Steffen Z. (Gast)


Angehängte Dateien:

Lesenswert?

hier das Board Tab

von Steffen Z. (Gast)


Angehängte Dateien:

Lesenswert?

hier das Prog Tab

von Benedikt K. (benedikt)


Lesenswert?

Müsste VTarget nicht 5V betragen ? Überprüf mal die Spannungsteiler am 
ADC.

von Steffen Z. (Gast)


Lesenswert?

Also der Spannungsteiler geht. Es liegen 4,9V am ADC an.

von Christian U. (Gast)


Lesenswert?

Wenn am Spannungsteiler 4,5V anliegen wieso zeigt er dann 0V an ?
Und wo liegen 4,5V an ? vorm Spannungsteiler oder am AVR ?

von Steffen Z. (Gast)


Lesenswert?

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.

von Christian U. (Gast)


Lesenswert?

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.

von Steffen Z. (Gast)


Lesenswert?

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?

von Steffen Z. (Gast)


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

Vor dem Spannungsteiler liegen 5V an ? Das heißt der Programmer AVR 
zieht die Spannung auf 0V ?

von Steffen Z. (Gast)


Lesenswert?

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.

von Steffen Z. (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe den 33k Wiederstand gegen einen 100Ohm ausgetauscht und nun 
liegt 1V am AVR an. AVRStudio zeigt ganze 2,5V an. s.Bild

von Benedikt K. (benedikt)


Lesenswert?

Seltsam. Bei mir steht da genau 5V.

von Steffen Z. (Gast)


Lesenswert?

Was hast du für Wiederstände drin, welchen AVR? Wie hoch ist deine 
Spannung nach dem Spannungsteiler?

von Benedikt K. (benedikt)


Lesenswert?

33k und 22k. Das ergibt ziemlich genau 2V, wenn 5V anliegen.

von Steffen Z. (tuschi)


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

Bei dir funktioniert das Programmieren und Auslesen jetzt also ?

von Steffen Z. (tuschi)


Angehängte Dateien:

Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

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.

von Steffen Z. (tuschi)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

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 ?

von Steffen Z. (tuschi)


Lesenswert?

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?

von Steffen Z. (tuschi)


Lesenswert?

Na ich finde das Teil seht interessant. Vielleicht sollte man sich mal 
zusammensetzten? Ich habe in 14 Tagen Urlaub ;-).

von Benedikt K. (benedikt)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

>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.


von Steffen Z. (tuschi)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

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.

von Steffen Z. (tuschi)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

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 ?

von Steffen Z. (tuschi)


Lesenswert?

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?

von Steffen Z. (tuschi)


Lesenswert?

@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.

von Christian U. (z0m3ie)


Lesenswert?

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

von Steffen Z. (tuschi)


Lesenswert?

ne ich hab deine Schaltung nachgebaut. Und dann auch mit deinem USBasp 
Hex File programmiert.

von Benedikt K. (benedikt)


Lesenswert?

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.

von Steffen Z. (tuschi)


Lesenswert?

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.

von Christian U. (Gast)


Lesenswert?

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.

von Christian U. (Gast)


Lesenswert?

Was ich eigentlich damit sagen wollte, compiliert euich die Quellen mal 
selber  sind ja für alles AVR Studio Projekte da...

von Christian U. (z0m3ie)


Lesenswert?

keine Antwort ?
gehts nun ?

von Steffen Z. (tuschi)


Lesenswert?

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

von Christian U. (z0m3ie)


Lesenswert?

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...

von Steffen Z. (tuschi)


Lesenswert?

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

von Christian U. (Gast)


Lesenswert?

Schreib mir mal ne Mail, ich schick dir mal ne compilierte Version.

von Benedikt K. (benedikt)


Lesenswert?

Poste doch die Datei am besteher hier, dann habe ich auch was davon.

von Christian U. (z0m3ie)


Lesenswert?

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.

von Steffen Z. (tuschi)


Lesenswert?

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.

von Benedikt K. (benedikt)


Lesenswert?

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 ?

von Christian U. (z0m3ie)


Lesenswert?

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 :)

von Christian U. (z0m3ie)


Lesenswert?

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...

von Benedikt K. (benedikt)


Lesenswert?

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...

von Christian U. (Gast)


Lesenswert?

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.

von Steffen Z. (tuschi)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

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 ?

von Steffen Z. (tuschi)


Lesenswert?

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.

von Christian U. (z0m3ie)


Lesenswert?

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.

von Steffen Z. (tuschi)


Lesenswert?

was mich wundert, mit der neuen Firmeware geht das auch mit dem AD 
Wandler richtig. Mit der Alten nicht. Habs mit 2 Mega8 getestet.

von Christian U. (z0m3ie)


Lesenswert?

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...

von Steffen Z. (tuschi)


Lesenswert?

ich kann dir gern mal meinen Adapter schicken, oder zumindest einen 
Mega8.

von Christian U. (z0m3ie)


Lesenswert?

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.

von Steffen Z. (tuschi)


Lesenswert?

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
Noch kein Account? Hier anmelden.