Forum: Mikrocontroller und Digitale Elektronik AVRs über USB programmieren!


von Guest (Gast)


Lesenswert?

Hallo,

folgendes Szenario: Bisher habe ich meine ATmegas immer über meinen 
selbstgebauten Programmieradapter programmiert. Das wäre das SI-Prog 
(seriell) oder das DT-006 (parallel). Übertragen habe ich die Programme 
dann über Pony-Prog.

Das klappte bisher auch ganz gut, nur musste jetzt natürlich ein neues 
Notebook her, wo kein serieller und kein paralleler Anschluss mehr 
vorhanden ist. Dieses Problem kennen sicher viele ;-)

Deshalb will ich jetzt über USB programmieren, aber unbedingt wieder 
über PonyProg (d.h. es kommt kein AVR mkII in Frage, welches ich aber 
auch in greifbarer Reichweite hätte).

Ich habe vor einiger Zeit z.B. mit dem CP2102 (USB-to-UART-Bridge) 
gearbeitet und vor kurzem stach mir der FT232 ins Auge (lässt sich 
besser löten als der CP2102).
Mit diesen Bausteinen bekäme ich am Laptop ja wieder einen (virtuellen) 
seriellen Com-Port (da über USB) den ich in Pony-Prog für die 
Programmierung auswählen könnte.
Nur... hat das von euch schonmal jemand versucht, ob das Ganze nachher 
hinhaut?
Hätte an die normalen RS232-Signale des FT232's dann einen bzw. mehrere 
MAX232 angeschlossen (zur Pegelwandlung) und erst dann die Schaltung des 
SI-Prog-Kabel dort angeschlossen. Dann eben meine Signale auf den µC 
verbinden.

Kann mir einer hierzu irgendwelche Erfahrungen mitteilen, oder eventuell 
alternativen? Sieht jemand schon Probleme die hier mit sich kommen 
könnten?
Ich möchte aber ganz klar KEIN Programmiergerät kaufen.

von Guest (Gast)


Lesenswert?

Ergänzung:

Bzw. die Pegelwandlung bräuchte ich ja gar nicht, im SI-Prog-Adapter 
waren ja immer 5V1-Z-Dioden drin, damit ich wieder auf 5V käme. Die kann 
mir der FT232 ja schon ausgeben...

von Hannes L. (hannes)


Lesenswert?

Ponyprog veranstaltet Bitbanging. USB ist für Bitbanging ungeeignet. 
Meist funktioniert es nicht, falls es funktioniert, wird es extrem 
langsam.

...

von Guest (Gast)


Lesenswert?

Bitbanging? Habe gerade mal Wiki und Google benutzt aber nicht 
gefunden... was meinst du mit "Bitbanging"?

von Schubi (Gast)


Lesenswert?

Nix gefunden?
Dann guck doch mal hier:
Beitrag "DTR geziehlt togeln"

von Sönke G. (cycrow)


Lesenswert?

Hi,ich hab durchaus gelesen, dass du Ponyprog nutzen willst, aber auch 
nach Alternativen gefragt.

Ich bin sehr zufrieden mit dem AMADEUS von Bernhard Michaelis.
http://home.arcor.de/bernhard.michelis/

Der ist für viele AVRs und PICs. Ich glaub es fehlen ein paar Tinys.

Ist zwar auch nur mit der Software von dort nutzbar, aber hat mir am 
Laptop treue und schnelle Dienste geleistet. Und mit ebenjener Software 
komm ich super klar.

Darauf ist ein FTDI232 verbaut.

von Guest (Gast)


Lesenswert?

@ Schubi: Danke, jetzt kann ich mir schon bisschen was darunter 
vorstellen.

@  Sönke Gilbrich: Die Schaltung zum Amadeus ist schon sehr umfangreich, 
aber durchaus nicht schlecht. Ich werde das im Auge behalten und 
vielleicht sogar mal aufbauen. Aber zuerst will ich mein kleines 
Projekt, wie oben beschrieben, einfach mal probieren. Vielleicht klappts 
ja?!

Danke :-)

von Εrnst B. (ernst)


Lesenswert?

Der Vollständigkeit halber: Es gibt auch einige USB-Programmer, die ohne 
FTDI etc auskommen, und das USB-Protokoll direkt auf einem AVR 
implementieren:

http://www.ullihome.de/index.php/USBAVR-ISP/de
http://www.fischl.de/usbasp/

Um mal zwei mit recht einfacher Hardware zu nennen.

Edit: ob die mit PonyProg gehen? Keine Ahnung. Aber zumindest beim 
ersten scheint auch eine Windows-Applikation dabei zu sein. Vielleicht 
reicht die dir ja?

von Christian U. (z0m3ie)


Lesenswert?

Nein, Ponyprog bedient nur Bitbanging interfaces. Warum man so scharf 
auf Ponyprog ist, kann ich mir aber auch nicht so ganz erklären.

von Guest (Gast)


Lesenswert?

@ Ernst Bachmann: Das aus deinem ersten Link ist ja wie das mkII welches 
ich - mehr oder weniger - sowieso zur Verfügung habe.

Das 2. sieht aber auch interessant aus... Danke hierfür.

von Lou C. (lou)


Lesenswert?

Hallo zusammen,
Also seid mir nicht böse, aber ich wundere mich immer welche Probleme 
(&Schaltungen bzw. Software) bei dem Thema "AVR & USB" auftauchen.
Ponyprog undso... gacker

1. Wenn die Hardware was taugt (keep it simple)
   kann mein einen 9-Öcken-RS232-to-USB konverter verwenden.
   => am besten einfach mal ein paar kaufen!!
2. Wenn die Software was taugt, geht das ohne Probleme mit RS232 oder 
(!)
   einem virtuellen comport (siehe 1)

Tipp:
http://mschz.chipmuenk.de/01/
Die "Programmierschaltung" (echt übertrieben) funktioniert an RS232
oder (!) USB (einfach die Serien-Rs weglassen).
Die Software kommt mit RS232 oder (!) einem virtuellen Comport zurecht.
Kompiliert & "downloaded" per hotkey.
Achja, und ein "realtime" terminal gibt's umsonst dazu,
d.h. man kann locker in 30min (wenn überhaupt) ein lauffähiges AVR 
system zambarschteln.

Wer braucht mehr für daheim??
lou

BTW: kennt jemand ein besseres (feature mäßig) Forum? Da kommt man sich 
ja vor wie zur Zeiten von C64 & co...

von Christian U. (z0m3ie)


Lesenswert?

>1. Wenn die Hardware was taugt (keep it simple)
>   kann mein einen 9-Öcken-RS232-to-USB konverter verwenden.

Welche Hardware soll denn was taugen ? PonyProg macht Bitbanging dazu 
braucht man nunmal alle Statusleitungen die die meissten "9 eur" USB/Ser 
Wandler nunmal nicht biten. Da kann deine Bitbanging Hardware noch so 
hochwertig sein. Weiterhin liegt es in der natur der Sache das das 
Toggeln der Statusleitungen über USB Ar*** langsam ist weil für jedes 
Toggeln 2 Pakete übertragen werden müssen, bei echter RS232 geht das in 
Hardware...

>   => am besten einfach mal ein paar kaufen!!
Wenn du zuviel geld hast schicks mir lieber.

>2. Wenn die Software was taugt, geht das ohne Probleme mit RS232 oder
>(!)
>   einem virtuellen comport (siehe 1)

Eben so undurchsichtig welche Software soll denn was taugen ? Jede 
Bitbanging Software die Serielle Interfaces anspricht wird auch mit nem 
virtuellen Com port klarkommen, dazu muss sie nix taugen. Was hinter dem 
virtuellen Comport kommt zählt ...

>Tipp:
>http://mschz.chipmuenk.de/01/

Also die Seite ist bei mir in MacOS gar nicht erst darstellbar.
Im Firefox ist sie dann nnicht lesbar aber er zeigt sie wohl korrekt an.
jedoch helfen die Informationen niemandem weiter. Dort ist ein Serieller 
Bitbanging Adapter erklärt der sich aus einem USB Port mit Spannung 
versorgt. Es ging hier aber genau darum das keine Seriellen 
Schnittstellen mehr vorhanden sind.

>Die "Programmierschaltung" (echt übertrieben) funktioniert an RS232
>oder (!) USB (einfach die Serien-Rs weglassen).

Quark, die funktioniert nur an RS232 und bezieht aus USb nur ihre 
Versorgungspannung (echt übertrieben)

>Die Software kommt mit RS232 oder (!) einem virtuellen Comport zurecht.
>Kompiliert & "downloaded" per hotkey.

Und was macht sie mit dem Virtuellen Comport ohne Hardware ?

>Achja, und ein "realtime" terminal gibt's umsonst dazu,
>d.h. man kann locker in 30min (wenn überhaupt) ein lauffähiges AVR
>system zambarschteln.

Aha

>Wer braucht mehr für daheim??

jemand der keinen Seriellen Port mehr hat wie der Fragesteller.

>BTW: kennt jemand ein besseres (feature mäßig) Forum? Da kommt man sich
>ja vor wie zur Zeiten von C64 & co...

Bin mir sicher das Patches willkommen sind

von Guest (Gast)


Lesenswert?

Also ich leide garantiert nicht an einer zu dicken Brieftasche, und 
werde mir auch nicht x-USB-RS232-Adapter auf "gut Glück" kaufen.

Christian Ulrich hat es mir vorweg genommen, das verlinkte Board oben 
nimmt sich wirklich nur den Strom aus dem USB-Port. Aber das ist in 
meinem Falle ja keine Abhilfe.

Hat von euch schon einer nen gekauften USB-RS232-Wandler erfolgreich mit 
PonyProg benutzt?

Der FTDI unterstützt ja das BitBang an sich, aber ist wohl trotzdem kein 
100%iger Ersatz zur echten RS232-Schnittstelle. Bisher habe ich mit den 
verschiedensten Einstellungen (im EEProm des FT232's) das ganze nicht 
für PonyProg nutzen können. Man merkt das PonyProg nicht weit kommt, da 
sich die Software scheinbar aufhängt und dann aber nach 20-30sec. mit 
Fehler abbricht.

Noch jemand ne Idee, oder andere Infos?

Hat eigentlich jemand Erfahrung mit PCMCIA-Seriell-Adaptern? Die sind ja 
im Endeffekt über PCI angebunden. Das dürfte weniger Probleme geben, 
oder?

von martin.c (Gast)


Lesenswert?

Hallo,

ich habe einen AVRISP (mit RS232) über einen PCMCIA-Seriell-Adapter 
angeschlossen und kann mit AVRStudio programmieren.
Zwei USB-Seriell-Wandler (9 Euro, 35 Euro) haben nicht mit AVRStudio und 
AVRISP zusammengearbeitet, darum habe ich die PCMCIA-Karte gekauft.

Gruß,
Martin Cibulski
http://www.martin-cibulski.de/atm/

von Hannes L. (hannes)


Lesenswert?

Guest wrote:
> Also ich leide garantiert nicht an einer zu dicken Brieftasche, und
> werde mir auch nicht x-USB-RS232-Adapter auf "gut Glück" kaufen.

Dann bau Dir doch für 7 Euro den Programmer von Christian Ulrich. Der 
ist zudem noch zukunftsicher, kann also später auch die AVRs, die es 
heute noch nicht gibt.

>
> Christian Ulrich hat es mir vorweg genommen, das verlinkte Board oben
> nimmt sich wirklich nur den Strom aus dem USB-Port. Aber das ist in
> meinem Falle ja keine Abhilfe.
>
> Hat von euch schon einer nen gekauften USB-RS232-Wandler erfolgreich mit
> PonyProg benutzt?

Mir fällt kein vernünftiger Grund ein, warum man das tun sollte.
- Ponyprog unterstützt nur Bitbanging (das Timing macht dabei der PC).
- USB ist paketorientiert, muss also für jede Bitänderung ein komplettes 
Datenpaket schnüren, das zerstört das Timing.

Dazu kommt noch die Tatsache, dass Ponyprog der Entwicklung 
hinterherläuft, also die neuesten am Markt verfügbaren AVRs nicht 
unterstützt. Der Einsatz von Ponyprog ist nur dann zu rechtfertigen, 
wenn der Rechner (seine Schnittstellen) das unterstützt und man den 
billig-ISP-Adapter bereits funktionsfähig hat (er funktioniert auch ohne 
USB nicht an jedem Rechner). Ansonsten ist Pony vertane Zeit.

>
> Der FTDI unterstützt ja das BitBang an sich, aber ist wohl trotzdem kein
> 100%iger Ersatz zur echten RS232-Schnittstelle.

Bitbanging und USB vertragen sich nicht. Es geht zumindest das Timing 
flöten. Das gibt Nebeneffekte wie versehentlich verstellte Fuses usw.

> Bisher habe ich mit den
> verschiedensten Einstellungen (im EEProm des FT232's) das ganze nicht
> für PonyProg nutzen können. Man merkt das PonyProg nicht weit kommt, da
> sich die Software scheinbar aufhängt und dann aber nach 20-30sec. mit
> Fehler abbricht.

Was hast Du nur immer mit Deinem Ponyprog???

>
> Noch jemand ne Idee, oder andere Infos?

Beim heutigen Preis der AVRs kommt eigentlich nur ein Programmer mit 
eigener Intelligenz (eigenem Controller) in Frage, der das ISP-Timing 
selbst macht und mit dem PC nur noch (seriellen) Datentransfer nach 
RS232 oder USB macht. So ein Teil wird nicht wirklich teurer als ein 
ISP-Adapter mit Bustreiber und wird von AVR-Studio und einigen 
Alternativprogrammen unterstützt.

>
> Hat eigentlich jemand Erfahrung mit PCMCIA-Seriell-Adaptern? Die sind ja
> im Endeffekt über PCI angebunden. Das dürfte weniger Probleme geben,
> oder?

Die sind aber im Endeffekt teurer und unhandlicher als z.B. Christians 
Lösung.

Ich benutze inzwischen das STK500 und gelegentlich den Dragon. 
Allerdings hatte ich mich auch mal mit einem eigenen ISP-System 
beschäftigt (und es auch lange benutzt), weil Pony auf meinem ollen 
Rechner (mit echten Schnittstellen!) nicht zu Potte kam.

Wenn Du Zugang zu einem AVRISP hast, dann denke doch mal über Bootloader 
nach. Siehe Peter Danneggers Projekt in der Codesammlung.

...

von Lou C. (lou)


Lesenswert?

Hallo liebe Forenmitglieder!

hier ein paar Kommentare von mir

Also wie schon erwähnt, funktioniert die von mir erwähnte Schaltung 
einwandfrei mit einem "billig"-USB-RS232 Konverter.
Sie ist dezent langsamer als per RSR232. Aber das läßt sich wirklich 
verkraften. Wer's noch schneller mag (warum?), kann ja einen 
RS232-bootloader verwenden. Da dieses "simpel-Interface" MOSI/MISO & 
RS232 gleichzeitig unterstützt.

>>   => am besten einfach mal ein paar kaufen!!
> Wenn du zuviel geld hast schicks mir lieber.

Glaub' das lohnt nicht, ich hab ja nur 9-Euro... ;)
Also 9-Euro sollte jeder in EINEN Konverter investieren können.
Bevor man sich mit irgendeinem FTDI-Chip rumschlägt o.Ä.

Natürlich gibt es Leute die sich lieber einen Monat mit der 
Programmierung rumschlagen, anstatt das Zielprojekt umzusetzen. Aber 
jeder darf natürlich machen was er will. Is'n freies Land ;)

Die Idee an der erwähnten Schaltung ist, daß das nötige Interface 
(RS232-AVR), separat (steckbar) ist.
d.h. auch wenn man 30 AVR-Projekte hat, benötigt man nur ein Interface 
(1 Euro ?) + 1 RSR323-USB adapter (9 Euro).

Das nenne ich Effizienz. U like?

>Eben so undurchsichtig welche Software soll denn was taugen

holla. wenn ich "pony-prog" sehe muß ich kotzen.
wir leben im Jahre 2007.
guckst Du nochmal unter http://mschz.chipmuenk.de/01/
[ist freeware ohne trail !]

> Also die Seite ist bei mir in MacOS gar nicht erst darstellbar.

Oha, hier gibt's mac-user.... mein Beileid ;)
Ich glaube DU hast zuviel Geld! - was sagst Du jetzt?

> Quark, die funktioniert nur an RS232 und bezieht aus USB nur ihre
> Versorgungspannung (echt übertrieben)

drum braucht man ja auch einen RS232-USB Konverter. (lies den Text)
Willst Du mich auf den Arm nehmen?

Viel Erfolg beim "Programmieren" wünscht,
Lou

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Christian Ulrich wrote:
>>Tipp:
>>http://mschz.chipmuenk.de/01/
>
> Also die Seite ist bei mir in MacOS gar nicht erst darstellbar.

Tröste dich, bei mir unter Windows geht auch nichts sinnvolles.

von Lou C. (lou)


Lesenswert?

Stefan B. wrote:
> Christian Ulrich wrote:
>>>Tipp:
>>>http://mschz.chipmuenk.de/01/
>>
>> Also die Seite ist bei mir in MacOS gar nicht erst darstellbar.
>
> Tröste dich, bei mir unter Windows geht auch nichts sinnvolles.

hm. da steht.
"- THIS INTERNET PAGE HAS BEEN DESIGNED FOR FIREFOX ONLY -"
vielleicht geht's ja mit Firefox...

;)

von Hannes L. (hannes)


Lesenswert?

Lou Cyfer wrote:
> hm. da steht.
> "- THIS INTERNET PAGE HAS BEEN DESIGNED FOR FIREFOX ONLY -"

Dann steck' Dir doch Deine Seite in den (sagichnicht).

Warum schreibst Du dem Benutzer vor, welchen Browser er benutzen soll???
Damit sperrst Du doch einen Großteil der Internetbenutzer aus!
Ich denke, wir sind ein freies Land? (war übrigens Dein Zitat)
Eine vernünftig designte Webseite sollte auf allen gängigen Browsern 
laufen.

...

von Lou C. (lou)


Lesenswert?

pfui, pfui. So etwas sagt man nicht, Hannes.

Ich schreib doch niemand etwas vor. (ist ja auch nicht meine Page)
Firefox ist in 2 Min installiert.
Give it a try!

BTW: hab's gerade mit IE probiert. War irgwendwie auch alles "lesbar"...

Was ist denn noch so "gängig"?

Da Lou

von Christian U. (z0m3ie)


Lesenswert?

Also lou ich versteh deine Lösung immer noch nicht man soll also diese 
komische Schaltung aufbaun+ nen 9 Eur USB-RS232 Adapter kaufen + n USB 
Port opfern + irgend ne proprietäre Software nutzen für die es in 2 
Jahren spätestens keinen Support mehr gibt ? Statt für 10 Eur nen USB 
Programmer aufzubaun mit dem man direkt aus dem AVR Studio flashen kann, 
der 10x so schnell wie deine Lösung ist und wo die Software direkt vom 
Chiphersteller kommt ? Zudem soll man um überhaupt erst an den 
Schaltplan und Software zu kommen den Firefox installieren ? 
Entschuldige mit Effizienz hat das nun wirklich nichts mehr zu tun...

von Hannes L. (hannes)


Lesenswert?

Lou Cyfer wrote:
> pfui, pfui. So etwas sagt man nicht, Hannes.

Da hast Du völlig recht! Ist normalerweise auch nicht mein Stil.

> Firefox ist in 2 Min installiert.

FF ist bei mir installiert, trotzdem mag ich es nicht, wenn mich der 
Webdesigner unnötigerweise nötigt, einen bestimmten Browser zu benutzen. 
Da verzichte ich gern auf dessen Seite.

Ich habe den Link allerdings mangels Interesse (ich flashe mit 
AVR-Studio, brauche also keine Fremdsoftware dazu) nicht verfolgt, die 
Seite also nicht gesehen. Daher konnte mir auch nicht auffallen, dass es 
nicht Deine Seite ist.

Zurück zum Thema: Christian hat es ziemlich auf den Punkt gebracht. Die 
Zeit von Ponyprog, Bitbanging-ISP usw. ist vorbei.

Willst Du Zuverlässigkeit und traust Deinen eigenen Lötereien nicht, 
dann kauf das AVRISP (MK II) oder gar den Dragon, ansonsten bau 
Christians Programmer nach.

...

von Lou C. (lou)


Lesenswert?

Hai Uli!

Ist das Deine Lösung?
http://www.ullihome.de/index.php/USBAVR-ISP/de#USB_AVR-ISP

Da kann natürlich die Lösung, die ich gewählt habe nicht mithalten.
Deine ist natürlich erheblich aufwendiger, aber auch 
cooler/professioneller.

Hab jetzt nicht alles komplett durchgelesen, aber ich schätze das 
entspricht im Ansatz der Russenlösung (der hieß glaube ich Igor, oder 
so), die als erstes USB via "AVR only" realisiert hat (schon ein paar 
Jahre her), oder?

Problem:
- wie programmiere ich "das erste mal" den AVR? (über usb?)
- Platine (ich steh' auf Lochraster; Aufbau geht für meine Zwecke 
schneller)
Thema:
- 10x langsamer: ich hab irgwendetwas im Bereich 1-2 kbyte/s
  (schnell genug für meine Zwecke; bootloader ist immer eine Option)
- Software: hab bisher nur den 8535 verwendet. Da läuft's einwondfrei.

Nochmal: ich will niemand zu etwas zingen. Finde die "chipmuenk"-Lösung 
nur
sehr einfach & effizient.

Wenn Du Deine Lösung vermarkten willst, will ich Dir natürlich Dein 
Geschäft auf keinen Fall verderben. Wußte ich leider nicht.

Denke die von mir erwähnte Lösung ist eher eine "super-simpel"-Lösung 
für den Hobby-User. Auch ich bin nur Hobby user.

BTW: habt ihr echt keinen Firefox installiert..?
     ;)

BTW2: sorry für OT

von Christian U. (z0m3ie)


Lesenswert?

>Hab jetzt nicht alles komplett durchgelesen, aber ich schätze das
>entspricht im Ansatz der Russenlösung (der hieß glaube ich Igor, oder
>so), die als erstes USB via "AVR only" realisiert hat (schon ein paar
>Jahre her), oder?

ja, kenn ich auch noch igorplug hieß das ding glaub ich. Ich benutze den 
obdev Treiber dafür.

>Problem:
>- wie programmiere ich "das erste mal" den AVR? (über usb?)

4 Drähte vom LPT zur ISP vom Programmer Widerstände brauchst nicht drin 
da die in den ISP leitungen schon drin sein. Das Henne-Ei Problem hat 
man bei Controller basierten programmern natürlich immer aber sobald der 
Bootloader drin ist ...

>- Platine (ich steh' auf Lochraster; Aufbau geht für meine Zwecke
>schneller)

gibts bei mir für 3 Eur incl Versand zum Selbstkostenpreis.

>- 10x langsamer: ich hab irgwendetwas im Bereich 1-2 kbyte/s
>  (schnell genug für meine Zwecke; bootloader ist immer eine Option)

muss jeder selbst wissen, wenn man mal was nach try and fail 
programmiert nerven lange Programmierzeiten schon arg.

>- Software: hab bisher nur den 8535 verwendet. Da läuft's einwondfrei.

Die controller gibts noch ? ;)

>Wenn Du Deine Lösung vermarkten willst, will ich Dir natürlich Dein
>Geschäft auf keinen Fall verderben. Wußte ich leider nicht.

Ich will gar nichts vermarkten oder sehen Platinenpreise von 2 Eur nach 
Vermarktung aus ? Ich will nur Anfängern ein ordentliches Werkzeug an 
die Hand geben. Mich regts dabei nur immer auf wenn Sie Bitbanging 
programmer nachbaun und beim 3. Flash versuch sind die Fuses plötzlich 
falsch gesetzt weil sies entweder in Ponyprog verstellt haben oder beim 
Bitbanging was schief gelaufen ist.

>BTW: habt ihr echt keinen Firefox installiert..?
Unter Linux ja und nebenbei zum Mac und Kosten...
Ich hab mir nen Mini Mac gekauft damit ich meine Software auch unter 
MacOS testen kann. Nicht weil ich ein Mac Fanatiker bin, oder zu viel 
Geld habe.

von Paul Baumann (Gast)


Lesenswert?

Hier sind ein paar Links:
http://www.xs4all.nl/~dicks/avr/usbtiny/

dort: "USBTINY to SPI-Konverter"
Dieser Apparat funktioniert mit dem AVR-Studio. Da kann man seinen alten
LPT-Programmer dranhängen. Auf Grund der einfachen Schaltung habe ich 
das mal auf ein Steckbrett gebracht und ausprobiert. Es geht fehlerlos.
(Die Lastkondensatoren für den Quarz fehlen in der Schaltung; 2*22p 
müssen
dran, sonst schwingt der Quarz nicht)

http://www.rototron.info/?Page=USBAVR/USBAVR.ASPX
Das ist die Schaltung des AVR-DOPER, allerdings hat er den 
Schaltungsteil zur "Hochspannungs"-Programmierung weggelassen.

http://www.obdev.at/products/avrusb/avrdoper.html
Hier ist der originale AVR-Doper. Dieses Gerät scheint mir am 
sinnvollsten,
da man auch versehentlich "verfuste" Kollegen wieder zum Leben erwecken 
kann.

Nicht hauen, das waren nur ein paar Hinweise zur Güte. ;-)

MfG Paul

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

@ Guest (Gast):
Kauf Dir eine PCMCIA/Cardbus/Cardexpress Karte mit den entsprechenden 
Anschluessen. Insbesonders, wenn Du mit Ponyprog arbeiten willst, dass 
ja Bitbanging am seriellen Port macht.

von Martin (Gast)


Lesenswert?

Schau dir doch mal den Usbprog von 
http://www.embedded-projects.net/index.php?page_id=135 an.

Der bietet noch andere Porgrammieradapter...

mfg Martin

von Lou C. (lou)


Lesenswert?

Christian Ulrich wrote:
> 4 Drähte vom LPT zur ISP vom Programmer Widerstände brauchst nicht drin
> da die in den ISP leitungen schon drin sein. Das Henne-Ei Problem hat
> man bei Controller basierten programmern natürlich immer aber sobald der
> Bootloader drin ist ...

ha! jetzt hab ich Dich! und wenn man jetzt "nur" einen usb-laptop hat???
"Es war das Jahr 2010; es gab keinen LPT port mehr; aber M$ & Co sorgten 
zumindes für einen virtual comport..."

Aber Spaß beiseite, wenn Du den LPT-port schrottest, hast Du ein 
defektes Motherboard. Auch nicht so witzig...
Dann lieber einen AVR "zombifizieren".
Was kann passieren? Wenn die Fuses (absichtig/fahrlässig) auf external 
Xtal stehen, kann man ja kurz einen anschließen, oder?!

"bitbanging for ever; lang lebe RS232" (wieder ein neues Wort gelernt ;)

"Nur der Fluß der Zeit, wird uns eines Besseren belehren."
der Lou

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Auch bei USB gibt es geschossene Sicherungen und kaputte Stecker, ggf 
auch auf dem Mainboard, mit dem gleichen Effekt wie ein kaputter LPT.

von Peter D. (peda)


Lesenswert?

Es ist schon erstaunlich, wie hartnäckig sich Atmel-AVR weigert, von 
Atmel-8051 abzugucken und einen factory Bootloader reinzubrennen.
Man muß ihn ja nicht benutzen und kann ihn überschreiben.


Das gepufferte SPI können sie sich ruhig auch abgucken.


Peter

von Lou C. (lou)


Lesenswert?

Uwe Bonnes wrote:
> Auch bei USB gibt es geschossene Sicherungen und kaputte Stecker, ggf
> auch auf dem Mainboard, mit dem gleichen Effekt wie ein kaputter LPT.

5 Euro USB-hub davor. ferdsch.

von Christian U. (z0m3ie)


Lesenswert?

>ha! jetzt hab ich Dich! und wenn man jetzt "nur" einen usb-laptop hat???
>"Es war das Jahr 2010; es gab keinen LPT port mehr; aber M$ & Co sorgten
>zumindes für einen virtual comport..."

Dann schriebt man mir mal ne liebe mail und bekommt halt nen 
programmierten controller wobei ich das aber nicht jeden tag machen 
möcht zwecks ein/auslöten

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

@ Lou Cyfer (lou):
Der Hub ist auch nicht das Allheilmittel. Ohne externes Netzteil oder 
wenn man vergessen hat das Netzteil einzuschalten, oder die 
Steckerleiste mit dem externen Netzteil noch ausgeschaltet ist oder... 
kann man trotzdem die Mainboardsicherung schiessen, und der Hub muss mit 
seinem Stecker auch in das Mainboard.

von Guest (Gast)


Lesenswert?

Ich melde mich auch mal wieder zu Wort, war ein paar Tage verhindert, 
sorry.

Also das die Fuses bei den Billig-Programmern mal verstellt werden, habe 
ich leider auch schon feststellen müssen. Ärgerlich sowas. Konnte diese 
Controller aber dank meinem JTAG ICE (auch seriell) wieder retten und 
zurücksetzen.

Also die Chipmunk-Lösung fällt definitiv raus, wenn ich jetzt schon auf 
USB umsteige dann auch richtig, d.h. ohne noch einen fertigen Converter 
zu kaufen. Dann lieber eine Lösung wie deas USB AVR ISP.

Zu diesem hätte ich da noch ein paar Fragen, die du mir sicher 
beantworten kannst, Christian:
- Wofür ist das Poti R15 da? Nur um die 5V Betriebsspannung fürs Target 
ggf. auf 3,3V herunter regeln zu können, oder?
- Wozu findet sich RxD und TxD auf der Stiftleiste wieder? Kann ich die 
z.B. noch mit dem UART des µC-Controllers verbinden, und dann über 
dieses Board gleichzeitig auch diesen im HyperTerminal bedienen/abhören?

Charlys-Layout gefällt mir da auch ganz gut. Sehr klein, fast wie ein 
USB-Stick. Für mich aber selbst wohl leider nich realisierbar... was mir 
hier aber im Schaltplan aufgefallen ist: Er hat da ein EPROM drin 
(24C65). Nur aus neugierde: Wozu?

Überlege mir gerade dein USB AVR ISP nachzubauen... muss mal schauen was 
ich noch alles hier hab. Mir graust es nur davor, den Mega8 vorher 
bespielen zu müssen. Aber vielleicht hab ich noch ein Board hier im Müll 
liegen, wo er provisorisch mal drauf passen würde :-)

Schön auch zu sehen, dass es das AVR-ISP-Tool ebenfalls für Linux gibt! 
Toll! Danke!

von Guest (Gast)


Lesenswert?

Vergiss die Frage mit R15... habs kapiert. Meine Augen sind heute morgen 
noch nicht ganz offen gewesen ;-)

von Dirk F. (dirk-frerichs)


Lesenswert?

hi

Rx Tx  ist für eine später option "debug" da
kann auch als usb-> seriellwandler dienen

der EEprom ist als idee glaube um einen "stand-alone" programmer zu 
haben
also programm drauf ---> irgendwo in der welt an den AVR und 
programmieren

von Christian U. (z0m3ie)


Lesenswert?

>Wozu findet sich RxD und TxD auf der Stiftleiste wieder? Kann ich die
>z.B. noch mit dem UART des µC-Controllers verbinden, und dann über
>dieses Board gleichzeitig auch diesen im HyperTerminal bedienen/abhören?

genau, geht in beide Richtungen kannst senden und empfangen der ISP 
stellt bei sich die Baudrate ein, die du im Hyper terminal einstellst

>Charlys-Layout gefällt mir da auch ganz gut. Sehr klein, fast wie ein
>USB-Stick. Für mich aber selbst wohl leider nich realisierbar... was mir
>hier aber im Schaltplan aufgefallen ist: Er hat da ein EPROM drin
>(24C65). Nur aus neugierde: Wozu?

Die Idee ist wie Dirk schon richtig sagt n standalone Programmer ich hab 
die Software dafür aber noch nicht fertig. Ich hab hier auch noch glaub 
3 Platinen mit seinem Layout liegen wo der USb Stecker auf der falschen 
Seite ist. Ich kann damit nix anfangen (mag das mit dem USB-A Stecker eh 
net so gern) wenn du willst kannst eine haben.

>Überlege mir gerade dein USB AVR ISP nachzubauen... muss mal schauen was
>ich noch alles hier hab. Mir graust es nur davor, den Mega8 vorher
>bespielen zu müssen. Aber vielleicht hab ich noch ein Board hier im Müll
>liegen, wo er provisorisch mal drauf passen würde :-)

Naja du musst ihn ja nur ein mal flashen das da was schiefgeht ist schon 
recht unwarscheinlich und in den ISP leitungen sind eh widerstände drin 
kannst also einfach ein paar dräthe von der ISP Schnittstelle zum 
Paralellport ziehen und dann den Bootloader draufspielen danach muss ihn 
ja eigentlich nicht mehr flashen.

>Schön auch zu sehen, dass es das AVR-ISP-Tool ebenfalls für Linux gibt!
>Toll! Danke!

Das ist mit Lazarus kein Problem normalerweise auch MacOS nur hab ich da 
noch ein paar probleme mit der libusb.

von Guest (Gast)


Lesenswert?

Vielen Dank für die Antwort!

Hört sich ja sehr aufregend an :-)

>Ich hab hier auch noch glaub
>3 Platinen mit seinem Layout liegen wo der USb Stecker auf der falschen
>Seite ist. Ich kann damit nix anfangen (mag das mit dem USB-A Stecker eh
>net so gern) wenn du willst kannst eine haben.
Sind die fertig bestückt und geflasht? Man müsste nur den USB-Stecker 
auf die andere Seite löten (das bekäme ich schon hin :D )
Was wolltest denn dafür haben?

von Christian U. (z0m3ie)


Lesenswert?

Nein, sind nur die Platinen und eine könntest so haben.

von Guest (Gast)


Lesenswert?

Nein dann lieber erstmal nicht, danke trotzdem. Ich denke ich bau es 
dann doch lieber etwas größer auf... Muss mal schauen was ich noch alles 
hier hab.

Danke schonmal für die ganzen Antworten.

von Guest (Gast)


Lesenswert?

Ich hoffe ich darf das Thema nach ein paar Tagen nochmal hoch holen.

Habe da noch eine Frage zum Schaltplan des USB AVR ISP:
Die 3,3V-Z-Dioden, welche an Data+ und Data- angeschlossen sind, 
benötige ich bei einer reinen 5V-Ausführung ja nicht, oder?

Vielen Dank euch im Vorraus!

von Dirk F. (dirk-frerichs)


Lesenswert?

die 5V version brauch die zdioden ..
da USBdata pegel 3,3V pegel sind

die 3,3V version darf direkt , also ohne z-dioden

von Guest (Gast)


Lesenswert?

Du hast recht, nach einigem Suchen wurde mir das bestätigt. Schade, dass 
sowas nicht im Wikipedia-Artikel steht, der sonst so schön ist :-)

Naja, dann klingt das natürlich einleuchtend. Vielen Dank! Irgendwie bin 
ich davon ausgegangen, dass USB 0 bzw. 5V als logisch 0 bzw. 1 
verwendet, da auch  eine 5V Versorgung zur Verfügung gestellt wird. So 
kann man sich täuschen...

von Christian U. (z0m3ie)


Lesenswert?

Steht aber in meinen Bestückungsplänen die hätte man ja nur mal anschaun 
solln. Da gibts ja ne 5V und 3,3V Version von der AVR-ISP mini

Tatsächlich sollte USb auch mit 5V Datenpegeln klarkommen laut 
Spezifikation nur halten sich da offenbar einige Hub Hersteller nicht so 
ganz dran mit 3,3V funktionierts einfach öfter. Wobei die Z-Dioden auch 
ab und zu gerade an externen Hubs Probleme bereiten deswegen bau ich 
eigentlich nur noch die 3V Programmer auf.

von Guest (Gast)


Lesenswert?

Achso, also könnte es mit 5V auch noch funktionieren. Ich bin nämlich 
gerade am überlegen, ob ich nicht doch mal ein Gerät gebaut hat, welches 
direkt mit 5V-Pegeln über USB kommuniziert hat... kann aber auch sein, 
dass ich mich täusche.
Für mich machte das nur einfach keinen Sinn, umso klarer wird es mir 
jetzt natürlich.
Auf Versuchsspiele werde ich mich dann natürlich nicht einlassen, 
sondern auch auf 3,3V zurück greifen.

Danke euch.

von Guest (Gast)


Lesenswert?

Vergiss aber nicht den Vorwiderstand der Z-Diode, sonst hast du nicht 
lange Freude an dieser.

von Christian U. (z0m3ie)


Lesenswert?

Was istn das jetzt fürn hochqualifizierter Beitrag ? Die Schaltung ist 
schon ok.

von Guest (Fragesteller) (Gast)


Lesenswert?

Das kam nicht von mir... keine Ahnung wer sich da für witzig hält. 
Bezweifle nicht, dass deine Schaltung geht, die gefällt mir sogar recht 
gut. Ich hab nur gerade etwas wenig Zeit sonst hätte ich sie schon 
längst aufgebaut. Und die nächsten Tage bin ich erstmal auf Dienstreise, 
aber vielleicht wirds ja danach mal was :-)

von Guest (Fragesteller) (Gast)


Lesenswert?

Guten Morgen,

ich hoffe mir kann nochmal einer unter die Arme greifen (was aber nicht 
bildlich gemeint ist):

Ich habe mir das AVR-ISP zwischenzeitlich fertig aufgebaut, nach 
Schaltplan von ullihome.de aber anderem Layout.
Den Controller habe ich mit einem mkII programmiert. Hier war nur 
seltsam, dass ich den Controller löschen konnte, Fuses & LockBits auch 
lesen, das Programm überspielen, aber anschließend nicht verifizieren 
konnte (bzw. rücklesen).
Nun gut, habe es dann aber doch mal so gelassen, da er meldete 
"Programming... OK".

Das AVR-ISP habe ich dann mit dem PC verbunden und es wurde ein 
USB-Device erkannt, welches dann als "Unbekanntes Gerät" installiert 
wurde. Danach kam aber rechts unten die Sprechblase "USB-Gerät wurde 
nicht erkannt". Im Geräte-Manager war es trotzdem ohne 
Ausführungszeichen bei den USB-Geräten aufgeführt, sonst aber nirgendwo.
Vorher wurde natürlich das AVR-ISP-Tool und der Windows-Treiber 
(Installer) installiert (beides, da ohne den Windows-Treiber das 
AVR-ISP-Tool immer meldete, dass die libusb0.dll nicht vorhanden sei).

Als Controller habe ich einen neuen ATmega8 verwendet, mit der aktuellen 
Firmware (Stand 25.09.07).

Was habe ich falsch gemacht? Kann der Controller eventuell doch nicht 
richtig bespielt worden sein? Aber dann würde er doch nicht als 
USB-Gerät erkannt werden, oder?
Beim einstecken des AVR-ISP leuchtet übrigens die rote und grüne LED.

Kann mir jemand weiterhelfen? Habe es nun an 2 Rechnern versucht, 
überall das gleiche. Habe an allen beiden Rechnern natürlich 
Administrations-Rechte.

verzweifelt

von Dirk F. (dirk-frerichs)


Lesenswert?

ich würde den nochmals löschen und mal langsam brennen
also ISP freq. runtersetzen

hast du die widerstände und die z-dioden drin ?
oder hast du die 3,3V version gebaut ?

die 5V version mit den z-dioden KANN manchmal stress machen an 
verschiedenen USB ports

teste mal einen anderen , und KEIN hub dazwischen

und versuch den treiber mal manuell zuzuweisen

von Guest (Fragesteller) (Gast)


Lesenswert?

Habe die 5V-Version mit Z-Dioden gebaut.

Habe den µC zwischenzeitlich über einen parallel-Programmer gelöscht, 
neu geflasht (mit anschließender verifizierung): Programm ist 
erfolgreich im Flash.

Das AVR-ISP ist direkt mit einem USB des PCs verbunden, ohne 
zwischenstation oder verlängerungskabel.

Den Treiber manuell zu installieren schlägt fehl, da Windows in der .inf 
keine Hardware-Informationen findet (an beiden Rechnern).

Es handelt sich um Windows XP mit Service Pack 2.

Was nun?

von Christian U. (z0m3ie)


Lesenswert?

Was hast du denn da für ne inf genommen ?

von Guest (Fragesteller) (Gast)


Lesenswert?

Die aus der usb-avr-isp_driver_2007-09-22.zip:
- usb-avr-isp
- usb-avr-isp_boot

Und auch die, die über den Installer in "C:\Programme\AVR-ISP Drivers" 
Driver abgelegt werden.

Die will er alle nicht?!

Habe zwischenzeitlich mal noch die Fuses über PonyProg wie folgt 
geändert (für "mit Bootloader":
BOOTSZ=00
BOOTRST=0
CKOPT=0
BODLEVEL=1
BODEN=1
CKSEL=1111
SUT=11
(Falls die Frage aufkommt, ob ich bei PonyProg beachtet habe, dass ein 
"checked" = 0 bedeutet: Ja wurde beachtet).

Jetzt leuchtet keine LED mehr und das AVR-ISP wird immer noch gleich 
erkannt.

Habe ich etwas falsch gemacht?

von Christian U. (z0m3ie)


Lesenswert?

Sicherlich, irgendwas muss schon falsch sein sonst würds funktionieren 
nur was ist von ferne manchmal etwas schwierig zu sagen. Also 
grundsätzklich funktioniert der Treiber bei vielen Leuten wenn dein 
AVR-ISP also vom Windows schon erkannt wird und du in die Treiber 
Installations Geschichte kommst sollte USB schon funktionieren. Warum er 
dann den Treiber nicht erkennen soll ist mir n Rätsel.
genauso können wenn du die Fuses umsetzt nicht einfach die LEDś anders 
leuchten es sei denn der Programmer läuft gar nicht mehr was du jedoch 
verneinst indem du ja sagst das USB geht. Irgendwie passt das nicht so 
ganz zusammen bei dir.

Am besten du flasht nochmal alles mit AVRDude genau nach meiner 
Anleitung unter Hilfe auf meiner Seite.

von Guest (Fragesteller) (Gast)


Lesenswert?

Ja ich glaube darauf wirds hinaus laufen. Mit AVR-Dude habe ich auch 
schonmal gearbeitet, sollte ich wieder hinbekommen.

Muss ich wohl morgen mal sehen, dass ich den µC mal austausche und einen 
noch jungfräulichen versuche.

Kannst du mir verraten, was denn der Vorteil ist, wenn ich die Firmware 
mit Bootloader benutzen? Was hat die ohne Bootloader denn anderes?

Vielen Dank dir schonmal für deine Bemühungen und deine Hilfe :-)

von Fisch (Gast)


Lesenswert?

Hallo!
Ich habe dasselbe Problem wie Guest (Fragesteller).
Hatte erst die STK500v2 Firmware drauf und habe eben mit avrdude auf die 
neue Bootloader-Version umgestellt. Und auch die Fuses wie beschieben 
umgestellt. Jetzt findet Windows aber wie oben schon beschrieben nur ein 
unbekanntes Gerät und alle LEDs sind aus. Woran könnte es liegen?

Gruß Fisch

von Guest (Fragesteller) (Gast)


Lesenswert?

Oha, das freut mich nun aber einerseits irgendwie, dass ich nicht der 
Einzige bin, der das Problem hat.

Da spar ich mir das herunterlöten des ATmega8 mal. Ich hab als ich das 
kurz geätzt habe zum Glück 2 Platinen gemacht. Kann ja dann einfach mal 
die 2. komplett bestücken und diesen Controller dann mit AVRDude 
bespielen. Aber jetzt hab ich nicht mehr wirklich viel Hoffnung, dass es 
was bringt.

Naja, probieren geht über studieren :-)

Melde mich auf jeden Fall wieder, weis nur noch nicht, ob ich das morgen 
noch schaffe, aber bis zum Wochenende bestimmt.

von Christian U. (z0m3ie)


Lesenswert?

So nochmal kurz ganz genau findet Windows bei eich beiden ein 
unbekanntes Gerät ? In dem Fall läuft der Controller nämlich gar nicht 
mehr ich hab die Fuses eigentlich getestet aber nicht das sich da doch 
noch n Fehler eingeschlichen hat ich hab mit avrdude sehr selten was 
gemacht kann die vielleicht mal jemand nachrechnen ?

von Guest (Fragesteller) (Gast)


Lesenswert?

Hallo,

beim ersten einstecken wird zuerst ein USB-Device gemeldet, was dann als 
"Unbekanntes Gerät" installiert wird (ohne Ausrufezeichen im 
Geräte-Manager).

Ich werd nachher mal versuchen, ob ich mein bereits fertiges Board über 
das mkII nochmal verbinden kann. Über den Parallel-Programmer bekomme 
ich keine Verbindung mehr. Vielleicht kann ich dann ja nochmal die Fuses 
kontrollieren... Nachrechnen kann ich die leider nicht.

von Guest (Fragesteller) (Gast)


Lesenswert?

Hallo nochmal,

ich habe gerade mein zweites AVR-ISP aufgebaut und das Teil mal mit 
unprogrammiertem Controller über USB angeschlossen. Auch hier kommt "USB 
Gerät wurde nich erkannt".

Womit stellst du denn die Fuses ein, Christian? Und wie setzt du sie 
dort? Ich will nicht behaupten, dass auf deiner Seite sich bei den Fuses 
die du dort angibst, ein Fehler eingeschlichen hätte, aber ich hab nur 
noch diesen ATmega8, von dem ich mich nicht auch noch ausschließen 
möchte.

von Guest (Fragesteller) (Gast)


Lesenswert?

Melde mich hier nochmal zu Wort, ich habs jetzt hinbekommen.

Habe nun das Programm nochmal ganz normal aufgespielt und mit PonyProg 
die FuseBits gesetzt, wie auf ullihome.de in der Hilfe zu sehen 
(Variante OHNE Bootloader).
Jetzt wurde das Teil sofort als "AVR ISP Bootloader" erkannt und mit dem 
ISP-Tool kann ich es schonmal benutzen (ob das dann auch weiter hinhaut, 
weis ich noch nicht, kann ich gerade nicht testen).

Aber der "Communication Port" ist bei mir noch nicht installiert. Ist 
das richtig so?

Freue mich über weitere Antworten, und hoffe es nimmt mir keiner übel, 
dass ich nun 3x hintereinander geschrieben habe...

von Christian U. (z0m3ie)


Lesenswert?

>Habe nun das Programm nochmal ganz normal aufgespielt und mit PonyProg
>die FuseBits gesetzt, wie auf ullihome.de in der Hilfe zu sehen
>(Variante OHNE Bootloader).

Damit läuft der Bootloader solang wie keine Applikation drauf ist wenn 
du ne Applikation draufgespielt hast kommst du nicht mehr an den 
Bootloader.
Setz doch mal noch die fehlenden Fuses für die Boot Section grösse und 
den Bootloader, und lies diese mit avrdude aus dann können wir das mal 
korrigieren.

>Aber der "Communication Port" ist bei mir noch nicht installiert. Ist
>das richtig so?

Ja, den gibts nur bei der STK500 und AVR910 Firmware der Bootloader und 
alle anderen Firmwares laufen mit einem HID USB Treiber.

von Guest (Fragesteller) (Gast)


Lesenswert?

Okay, du hast recht. Habe jetzt die STK500 Applikation aufgespielt - 
Klappt bestens.

Fehlen also noch die FuseBits für den Modus "mit Bootloader". Laut 
deiner Website ist der Unterschied ja nur dieses eine Bit: BOOTRST=0

Diese Angabe ist aber schon sicher, oder? Wenn ich das dann habe, kann 
ich dir gerne mal den Hex-Code für die Fuses auslesen - dann sehen wir, 
ob sich vielleicht in diesem ein Fehler eingeschlichen hatte.

Melde mich wieder. Vielen Dank auch :-)

von Christian U. (z0m3ie)


Lesenswert?

Ja, probier das mal wär gut.

von Guest (Fragesteller) (Gast)


Angehängte Dateien:

Lesenswert?

Sooooo, da scheint sich bei dir wirklich ein Fehler eingeschlichen zu 
haben.

Auf den Bildern habe ich dir mal die FuseBits angehängt, wie sie in 
PonyProg gesetzt werden müssen, für die Version MIT Bootloader.
Ausserdem habe ich das dann mit avrdude wieder zurück gelesen, auch 
hiervon ist der Output im Anhang.

Gegenrechnung habe ich auch gemacht, geht ja einfach über 
http://palmavr.sourceforge.net/cgi-bin/fc.cgi
So passt es also :-)

Vielen Dank für deine Mühe und die Offenheit des Projektes, Christian 
Ulrich. Weiter so :-)

von Guest (Fragesteller) (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch der avrdude-output

von Christian U. (z0m3ie)


Lesenswert?

Dann sind  meine Fuses doch aber richtig oder ? 0xBF zu 0xFF ist 
sicherlich nur die Brown out Detection

von Guest (Fragesteller) (Gast)


Lesenswert?

Hmm... stimmt, hast recht. Kann mir aber nicht vorstellen, dass das bei 
mir Probleme gemacht haben soll.
Aber die brown out detection brauche ich hier ja nicht. Komme auch so 
klar ;-)

Jetzt würde mich nur interessieren, warum mein erster µC sich einfach 
verabschiedet hat... aber das wird wohl ein ungelöstes Rätsel bleiben.

Danke dir.

von Christian U. (z0m3ie)


Lesenswert?

Naja das ist bei Bitbanging immer die Gefahr villeicht hat dein 1. 
Controller die Fuses einfach falsch interpretiert. Die Timings mit 
Bitbanging Programmern sind ja nicht so toll

von Guest (Fragesteller) (Gast)


Lesenswert?

Guten Morgen,

ja, so muss es wohl sein.

Nachdem nun die USB-Verbindung funktioniert und auch das Tool zum AVR 
USB ISP seinen Dienst wohl richtig verrichtet, habe ich aber immer noch 
Probleme, einen ATmega32 zu programmieren.

Habe den Programmer als STK500 programmiert und verschiedene 
ISP-Frequenzen durchprobiert. AVR-Studio findet den Programmer auch, 
jedoch kommt immer bei "Entering Programming Mode..." dann eben das 
"FAILED". Kann auch keine Fuses auslesen, Verbindungen sind alle in 
Ordnung.

Darf ich dir mal eine STK500-Log (wie auf deiner Seite beschrieben) 
erstellen und zukommen lassen?

von Christian U. (z0m3ie)


Lesenswert?

Ja kannst du gern tun jedoch hab ich schon einige mega32 geflasht ohne 
probleme, versuch mal die schutzwiderstäde in den isp leitungen etwas 
kleiner zu machen oder testweise zu brücken.

von Guest (Fragesteller) (Gast)


Lesenswert?

Habe die Widerstände mal gebrückt, verändert hat sich nichts. Sehr 
merkwürdig, mit meinem parallelen DT006 konnte ich den Controller 
flashen. Jetzt ist guter Rat teuer...

Sag mal, die Steckbrücke K1 kann ich nun ja offen lassen, richtig? Die 
wurde nur zum flashen des ATmega 8 gebraucht.

von Christian U. (z0m3ie)


Lesenswert?

Solltest alle Jumper offen lassen. Hast n Oszi da ?

von Guest (Fragesteller) (Gast)


Lesenswert?

Also ich hab die Jumper so:
K4: gesteckt (aber egal, da der Pin nicht aufs Target-Board verbunden 
wird. Dieses hat eine eigene Spannungsversorgung
K5: gesteckt (Bootloader erzwingen)
K1: offen/gesteckt, beides ausprobiert.

Ein Oszi hab ich da. Was soll denn gemessen werden?

von Christian U. (z0m3ie)


Lesenswert?

Wiso hast du den K5 gesteckt ? Dann kann doch der Programmer gar nicht 
laufen ?! wenn nur der Bootloader gestartet wird ...

Mesen kannst du ja mal wie die Kommunikation auschaut SCK,MOSI müssen 
daten vom Programmer kommen Reset muss runtergezogen werden und auf MISO 
müssen die Antworten vom Controller kommen.

von Sascha (Gast)


Lesenswert?

Hallo,

ich habe eine kurze Frage zu dem AVRisp Board und wollte dafür nicht 
unbedingt ein neues Thema starten.

Von dem USB Stecker geht die "DATA-"-Leitung über 68 Ohm (=R4) in den 
PB0-Pin. Aber wieso hängt an derselben Leitung noch ein Pull-up 
Widerstand von 2,2kOhm (R3)???  Bei der "DATA+"-Leitung ist auch keiner 
angebracht und für logische Pegel zum Einlesen, braucht man auch keinen. 
Also was ist Sinn und Zweck?

Gruß
Sascha

von Christian U. (z0m3ie)


Lesenswert?

Steht in der USB Spec ;) Darüber erkennt der USb Host das ein Gerät 
angeschlossen wurde. Je nach Spannungspegel auf der Datenleitung auch 
noch ob es ein Full Speed oder Low Speed Gerät ist.

von Sascha (Gast)


Lesenswert?

oohh vielen dank,
dann muss ich mich da wohl ein bisschen einlesen :)

von Guest (Fragesteller) (Gast)


Lesenswert?

>Wiso hast du den K5 gesteckt ? Dann kann doch der Programmer gar nicht
>laufen ?! wenn nur der Bootloader gestartet wird ...

Ich kann den Programmer ja übers Tool als STK500 "definieren". So bleibt 
er dann auch, ausser das AVR-Studio bricht mit dem Programmierfehler ab, 
dann ist er wieder im Bootmodus (auch wenn K5 offen ist, habs eben 
versucht).
Sonst bekäme ich ja auch den Virtuellen COM nicht, und könnte gar nicht 
erst verbinden?!

>Mesen kannst du ja mal wie die Kommunikation auschaut SCK,MOSI müssen
>daten vom Programmer kommen Reset muss runtergezogen werden und auf MISO
>müssen die Antworten vom Controller kommen.

Das muss ich dann wohl auf morgen verschieben, heute wird das leider 
nichts mehr...

Mit welcher Version von AVR Studio wurde das denn schon erfolgreich 
getestet? Ich benutze Version 4.13

von Christian U. (z0m3ie)


Lesenswert?

>Ich kann den Programmer ja übers Tool als STK500 "definieren". So bleibt
>er dann auch, ausser das AVR-Studio bricht mit dem Programmierfehler ab,
>dann ist er wieder im Bootmodus (auch wenn K5 offen ist, habs eben
>versucht).

Häää ? irgendwie ist da bei dir einiges im argen. Also normalerweise 
läufts so, das du ihn über das Tool flasht und dann start Application 
machst danach ist die Applikation am laufen und in den Bootmodus kommst 
du erst weider wenn du ihn über den Button in der Toolbar des AVR-ISP 
Tools da rein schickst.

>Sonst bekäme ich ja auch den Virtuellen COM nicht, und könnte gar nicht
>erst verbinden?!

Den solltest du wenn die STK500 Software drauf ist immer bekommen es sei 
denn du schickst ihn in den Bootmodus oder hast K5 gesteckt.

>Mit welcher Version von AVR Studio wurde das denn schon erfolgreich
>getestet? Ich benutze Version 4.13

Benutze hier 4.13.528 ist aber auch mit der davor getestet und der 4.12. 
Kann mir auch nicht vorstellen das es aus der Richtung noch Probleme 
gibt.

von Guest (Fragesteller) (Gast)


Lesenswert?

Gut zu wissen.

Also K5 habe ich jetzt offen gelassen, der Programmer blieb nun auch 
nach dem abziehen vom USB als STK500. Jedoch kann ich einfach nicht 
programmieren...

Ich habe schon 3 Controller durchprobiert, 2x ATmega16 1x ATmega32, habe 
die Verbindungen mehrfach geprüft, und ich komme einfach nicht mehr 
weiter... verzweifelt

Hier nochmal meine Versuche:
- K5 offen
- K1 offen bzw. auch gesteckt schon versucht
- K4 immer gesteckt jedoch wird der Pin auf dem Target-Board nicht 
verwendet da eine eigene Stromversorgung vorhanden ist.

Ablauf:
- AVR USB ISP über USB verbunden
- Tool gestartet, STK500 gewählt und auf "Write" geklickt, unter 
"Options" die ISP-Speed eingetragen (z.B. 1khz) und das STK500 Protokoll 
ausgewählt -> "Write" geklickt
- Tool schließen bzw. auf "Start Application" geklickt (kommt so wie ich 
das sehe aufs gleiche raus, beidesmal startet der µC dann die 
Application
- AVR Studio gestartet und mich mit dem STK500 verbunden (bei mir ist 
das COM5)
- Hier kann ich z.B. unter "Board" die Voltages lesen und schreiben, und 
die STK500 ISP Frequenz ebenfalls lesen. Alles andere wo er aber in den 
"Programming Mode" muss, schlägt jedoch fehl.

Die Verbindungen vom AVR USB ISP zu meinem Target-Board:
Programmer             Target (ATmega16/32)
SCK_OUT                SCK (PB7/Pin 8)
RESET_OUT              RESET (wenn K1 gesteckt, direkt mit Pin 9 
verbunden, dieser liegt am Board sonst über 10k auf +5V)
MISO_OUT               MISO (PB6/Pin 7)
MOSI_OUT               MOSI (PB5/Pin 6)
GND                    GND/0V

Verbunden über 20cm Flachbandkabel.

Mittlerweile habe ich die 220R bzw. 1k Widerstände in den ISP-Leitungen 
am Programmer wieder eingesetzt.

Der µC auf meinem Target läuft mit einem 16MHz Quarz und ist auch mit 
den Fuses auf dieses externe Quarz eingestellt. Aber auch nagelneue 
Controller wurden ausprobiert, die noch mit dem internen 1MHz 
arbeiteten.

Habe ich hier vielleicht schon unbewusst etwas falsch gemacht?

von Guest (Fragesteller) (Gast)


Lesenswert?

Habe jetzt mal mit dem Oszi nachgemessen. Es passiert an folgenden Pins 
was, wenn ich im AVR-Studio versuche in den Programming Mode zu kommen:
- MOSI: geht von 0V auf 5V für 660ns
- SCK: geht von 5V für 310ns auf 0V
- MISO: keine Reaktion
- RESET: geht von 5V auf 0V. Nach 500ns geht das Signal wieder, wie am 
Bild eines sich aufladenden Kondensators, auf +5V (für den Anstieg 
braucht das Signal weitere 500us).

Ich hoffe diese Angaben waren genau genug und es kann mir einer 
weiterhelfen.

Bedanke mich im Vorraus.

von Guest (Fragesteller) (Gast)


Lesenswert?

Wir kommen der Sache näher... (vergiss die obigen Messungen :D )

Zuerstmal: Da lag ein Versehen meinerseits vor. Hatte Die Verbindung von 
PB2, welche ja mit RESET_OUT verbunden sein sollte, nicht über den 
Jumper sondern vor dem Jumper angeschlossen. Der Jumper unterbrach also 
nur die Verbindung des RESET_OUT zum Target-Board.

Dies habe ich jetzt behoben:
Ich komme zwar immer noch nicht in den Programming Mode, aber der 
Programming Mode wird nicht mehr mit "Failed" verlassen (Leaving 
Programming Mode) sondern mit OK und die Verbindung zum STK500 wird auch 
nicht mehr unterbrochen (passiert wenn das Verlassen des 
Programmiermoduses fehlschlägt).

Habe ich jetzt noch was vergessen? Muss ich eigentlich im AVR-Studio 
nach dem Verbinden, unter der Registerkarte "Board" noch die 
ISP-Frequenz manuell einstellen?

von Christian U. (z0m3ie)


Lesenswert?

>Zuerstmal: Da lag ein Versehen meinerseits vor. Hatte Die Verbindung von
>PB2, welche ja mit RESET_OUT verbunden sein sollte, nicht über den
>Jumper sondern vor dem Jumper angeschlossen. Der Jumper unterbrach also
>nur die Verbindung des RESET_OUT zum Target-Board.

Damit hat sich der programmer natürlich beim versuch in den programming 
Mode zu kommen selbst resettet, -> ;)

>Ich komme zwar immer noch nicht in den Programming Mode, aber der
>Programming Mode wird nicht mehr mit "Failed" verlassen (Leaving
>Programming Mode) sondern mit OK und die Verbindung zum STK500 wird auch
>nicht mehr unterbrochen (passiert wenn das Verlassen des
>Programmiermoduses fehlschlägt).

So solls sein. Die Info hast du vorher aber ja auch nicht gegeben gehabt 
sonst hätt ich dir das gleich sagen können.

>Habe ich jetzt noch was vergessen? Muss ich eigentlich im AVR-Studio
>nach dem Verbinden, unter der Registerkarte "Board" noch die
>ISP-Frequenz manuell einstellen?

jain die Einstellung macht das gleiche wie im avr-isp tool, stell die 
nicht zu niedrig irgendwie hängt sich die stk500.exe weg wenn di isp 
Frequenz zu niedrig ist passiert auch mit den original Atmel 
Programmern. 125 khz oder ähnlich ist immer gut da laufen auch 1 Mhz 
Controller sauber mit und es ist nicht zu niedrig. probier mal.

von Guest (Fragesteller) (Gast)


Lesenswert?

Kurz als Info: Die Frequenz die ich übers AVR USB ISP Tool einstelle, 
wird dann von der, die ich im AVR-Studio als ISP-Frequenz auswähle 
geändert, richtig?

Ich werd da nachher mal etwas herumspielen.
Muss ich eigentlich den Stk500 Oscillator (ich glaube so stand es im 
AVR-Studio über der Option, wo ich die ISP-Frequenz einstelle) auch 
ändern bzw. etwas einstellen?

von Hannes L. (hannes)


Lesenswert?

> Ich werd da nachher mal etwas herumspielen.

Na ob das der richtige Weg ist? Systematisches Vorgehen halte ich für 
sinnvoller, "Herumspielen" kostet nur Dir und anderen Leuten unnötige 
Zeit. Müsstest Du die Zeit, die Christian für Dich gebraucht hat, 
vergüten, dann kämen da schon mehrere STK500 oder DRAGONs raus...
;-)

...

von Guest (Fragesteller) (Gast)


Lesenswert?

Nun, wenn jeder so geldgeil wäre, gäbe es nirgendwo mehr Leute, die wie 
hier, in Foren versuchen den Leuten zu helfen.

Also ich konnte immer noch keine Verbindung aufbauen... habe 
verschiedene Frequenzen ausprobiert aber es klappt einfach nicht?! 
Jumper K1 und K5 sind offen.

>Kurz als Info: Die Frequenz die ich übers AVR USB ISP Tool einstelle,
>wird dann von der, die ich im AVR-Studio als ISP-Frequenz auswähle
>geändert, richtig?

>Ich werd da nachher mal etwas herumspielen.
>Muss ich eigentlich den Stk500 Oscillator (ich glaube so stand es im
>AVR-Studio über der Option, wo ich die ISP-Frequenz einstelle) auch
>ändern bzw. etwas einstellen?

Kann mir da noch jemand Klarheit verschaffen?

von Christian U. (z0m3ie)


Lesenswert?

Musst du wohl noch mal messen.
SCK -> Takt
MOSI -> Daten
MISO -> Antwort von deinem Controller

Ansonsten scheint mir dein Kabel etwas lang und brücken der Widerstände 
versuchen. Viel kanns eigentlich nicht mehr sein.

von Guest (Gast)


Lesenswert?

Naja, ob das Kabel wirklich zu lange ist... an meinem anderen Programmer 
(jedoch über parallel) habe ich es erfolgreich über 1,5m getestet. Aber 
ausschließen kann ich es ja nicht, dass es hier wirklich nicht zu lange 
ist...

Die Widerstände in den ISP-Leitungen habe ich gerade nochmal gebrückt, 
was aber keine Verbesserung brachte.

Mit dem Oszi kann ich erst am Montag wieder messen, zuhause habe ich 
leider keins.

von Guest (Fragesteller) (Gast)


Lesenswert?

Der Fehler scheint gefunden. Warum auch immer, aber der Reset-Pin wird 
bei mir vom Programmer nicht mehr auf GND gezogen, wenn er versucht zu 
programmieren. Ich weis aber, dass es schon ging (wurde ja 
nachgemessen), darum werde ich dem ja wohl auch noch auf die Spur 
kommen.

Es scheint jetzt erst einmal alles so zu funktionieren. Ohne gebrückte 
Leitungen und ohne verkürztes Kabel.

Vielen Dank an alle, besonders an dich, Christian Ulrich.

von Guest (Fragesteller) (Gast)


Lesenswert?

Eine Frage hätte ich noch:

Habe jetzt versucht, den Programmer unter Windows Vista Ultimate 64bit 
(meinem Notebook) zu installieren. Bei der Installation meldet Vista, 
dass es zwar den Treiber gefunden hat, aber die angegebene Datei nicht 
finden kann?!

Ist da schon was bekannt? Oder hat das schon jemand unter Vista 64bit 
zum Laufen bekommen?

Den Treiber manuell zu installieren schlug ebenfalls fehl.

von Christian U. (z0m3ie)


Lesenswert?

Dort ist nichts getestet die USBasp komaptible Firmware sollte aber 
laufen.

von Guest (Fragesteller) (Gast)


Lesenswert?

Schade schade... aber wäre das nicht etwas für die Zukunft, einen 64bit 
Treiber für Vista, um das AVR USB ISP zu betreiben? Immerhin werden neue 
PCs nur noch mit Vista ausgeliefert, und nahezu jeder hat dann schon 
einen 64bit Prozessor - die meisten auch mit 64bit Betriebssystem.

von Christian U. (z0m3ie)


Lesenswert?

Es gibt doch mittlerweile eine AVRISPmkII kompatible Firmware die läuft 
überall. Also kein Problem mehr.

von Johannes S. (johanness)


Lesenswert?

Inzwischen scheint es wirklich eine Möglichkeit zu sein, 
PCMCIA-RS232-Adapter werden gerade für etwa 20 Euro verramscht, vor zwei 
Jahren kosteten die noch etwa 100 Euro. Den Adapter von Christian selber 
bauen bleibt da aber noch drunter, und außerdem macht Basteln Spaß ;-)

Nebenbei ist in Christians Adapter deutlich vielseitiger als 
RS232-Adapter plus Primitivprogger.

ExpressCard-RS232-Adapter zumindest der günstigeren Preisklasse sind 
jedenfalls nicht für Bitbanging geeignet, habe so ein Billigteil mal an 
einem fremden Notebook anschließen sollen (meins hat trotz intern 
genutztem PCI Express noch einen PCMCIA-Einschub). In dem Adapter war 
ein USB-RS232-Adapter verbaut, den PCI-Express-Bus hat die Karte gar 
nicht angetastet. War wahrscheinlich billiger, weil es dafür schon Chips 
gab. Außerdem werden die Transferraten nicht mal an die Grenzen von USB 
stoßen...

[edit] Huch, worauf habe ich denn gerade geantwortet? Irgendwie habe ich 
mir einen Beitrag eingebildet, den ich jetzt nicht mehr sehe, der 
sinngemäß hieß "Kauft euch einen RS232-Adapter fürn Einschub in den 
Laptop"... Wo issn der hin?

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.