Forum: Mikrocontroller und Digitale Elektronik USB AVR ISP


von Christian U. (z0m3ie)


Lesenswert?

So, will ich mal mein Projekt der letzten 2 Wochen vorstellen.
Wieder mal n Programmer ;)

Motivation war die Anfälligkeit der original AVR-ISP. Raus gekommen ist 
ein recht einfaches günstiges Hardwaredesign welches eigentlich nur aus 
nem Atmega8 ner USB buchse Wanenstiftleisten und Vogelfutter. Kann 
einseitig geätzt und aufgebaut werden dann hat man nur den 10 Poligen 
ISP Verbinder wenn mans 2-Seitig macht kann man auch noch den 6-Poligen 
und Micromatch mit der selben Belegung wie 6-Polig ISP Bestücken.

-ISP Frequenz wird bis zu 3 Mhz unterstützt.
-STK500v2 kompatibel
-Anzeige vom Target Status mit LEDs (angeschlossen,falsch 
angeschlossen,nicht angeschlossen)
-Terminal Modus in dem Einstellungen gemacht werden können und auch ohne 
Programmer Software Informationen über das Target angezeigt werden 
können
-im Windows vorhandener USB Treiber nutzbar
-die Firmware kann mit leichten Anpassungen auch in der USBasp Hardware 
verwendet werden (fertig kompilierte Version auf meiner Seite)

mehr informationen gibts hier 
http://www.ullihome.de/index.php/Hauptseite#USB_AVR-ISP

von Mike (Gast)


Lesenswert?

Hört sich echt gut an!
Probier ich mal aus ...

von Knut (Gast)


Lesenswert?

Ja, sieht wirklich gut aus. Hättest du evtl. den Schaltplan mal als PDF 
oder so?

von Mike (Gast)


Lesenswert?

@ Knut Die meisten hier (ich eingeschlossen) arbeiten doch eher mit 
Eagle.

@ Christian Ulrich
Wär toll wenn du die Schaltung auch als Eagle-Datei auf deine Seite 
stellen würdest.

Hört sich schonmal gute an ... hab leider kein target

von S. W. (Gast)


Lesenswert?

> Motivation war die Anfälligkeit der original AVR-ISP.

Worin besteht denn diese Anfälligkeit?

von Knut (Gast)


Lesenswert?

Ja, von mir aus natürlich auch Eagle, würd mir die Schaltung halt gerne 
mal ansehen.

von Christian U. (z0m3ie)


Lesenswert?

Ich habe erstmal die Schaltung und Layouts im PDF Format hochgeladen, 
mit Eagle hab ich noch meine Probleme mit der For/Backward notation die 
will nämlich meine Brücken die ich als Freie Gehäuse im Target eingefügt 
habe perdu nicht haben hat villeicht jemand nen Tipp für mich ?? Ich 
finds n bissle sinnlos im Schaltplan Brücken einzuzeichnen wegen Eagle 
...

>Worin besteht denn diese Anfälligkeit?

Das kann ich dir nicht so genau sagen ich ha b schliesslich keine 
Schaltung für die Dinger und auch keine Lust dort Fehler zu suchen. Ich 
hab vor 3 Wo 2 Programmer mit einer Schaltung zerschossen ich weiß bis 
heut nicht warum. Mit meiner Schaltung kann ich das ding einwandfrei 
Flashen. Und das war nicht das erste mal, in der Produktion gehen die 
Dinger regelmässig drauf sicher nicht ganz unbegründet aber ich war 
überrascht wie Robust meine Schaltung dagegen ist ich hab gestern sogar 
nen Atmega8 wiederbelebt der sich mit keinem anderen Programmer mehr 
ansprechen liess weder STK200 noch 500 oder AVRISPmkII will damit aber 
nicht sagen das die Sache ein Allheilmittel ist. Die SPI vom Atmega8 
scheint nur recht robust zu sein und die Schutzwiderstände tun ihr 
übriges.

Ich hab in der Schaltung übrigens die Padflächen der Dual LED etwas 
grösser gemacht damit kann man nun auch 2 1206er LEDS auflöten. Der 
RXE010 muss nicht unbedingt bestückt werden das ist ein Polyswitch der 
den USB davor bewahrt das ein Target mal zuviel Strom zieht ist ne 
schöne Schutzbeschaltung aber die meisten USB Controller schalten auch 
von sich aus ab und nach nem erneuten hochfahren gehen sie sogar wieder 
;)
Der Rest der Bauteile dürfte sehr einfach zu beschaffen sein bzw in den 
meisten Bastelkisten rumfliegen ....

Und zum Thema ich hab kein Target die Schaltung lässt sich problemlos 
mit der kostenlosen Version ansehen drucken und warscheinlich sogar 
bearbeiten die 250 Pin grenze ist denk ich nicht erreicht. Ich werd 
natürlich trotsdem versuchen die Eagle Files zu generieren will ja 
niemanden zwingen Target zu nutzen ...

von Christian U. (z0m3ie)


Lesenswert?

Ich hab mal ein paar Bilder von einem meiner Samples hochgeladen, die 
Platine ist leider schon leicht angelaufen :(

Wenn sich genau Leute zusammenfinden würde ich auch Platinen bestellen.
Wer Interesse hat, schreibt mir einfach ne mail.

von ecslowhand (Gast)


Lesenswert?

1. Gutes Projekt, danke !

2. o.k., am Layout könnte man noch was machen

3. "Ich werd
natürlich trotsdem versuchen die Eagle Files zu generieren will ja
niemanden zwingen Target zu nutzen ..."

Da hier überwiegend EAGLE-Files verwendet werden, wird man also von den 
EGALE-Nutzern genötigt mit "ihrem" Programm zu arbeiten. Also mach Dir 
als TARGET-User nicht solche Gedanken. TARGET bietet wenigstens die 
Möglichkeit, in das EAGLE-Format zu exportieren (und zu importieren).

Ich finde den Gedanken, dass sich EAGLE-User auch mal mit TARGET 
beschäftigen müssen, gar nicht sooo schlecht .... :)

Lg EC

von saddevil (Gast)


Lesenswert?

hi

ich hab mir das in Eagle gebastelt
in dem ich widerstände als "brücken" eingesetzt hab
PAD's sind dann deaktiviert


der programmer funzt jedenfalls einwandfrei ..
und ich flashe alle 5min mal  :-)

von Christian U. (z0m3ie)


Lesenswert?

>Ich finde den Gedanken, dass sich EAGLE-User auch mal mit TARGET
>beschäftigen müssen, gar nicht sooo schlecht .... :)

Naja ich hab früher auch mal mit Eagle gearbeitet wurde beruflich zu 
Traget "gezwungen" mittlerweile hab ich mir aber auch Privat ne Light 
gekauft hat schon was für sich ab und zu. Auch wenn ich nicht beurteilen 
möchte welches Programm besser ist.

von Knut (Gast)


Lesenswert?

@Christian

Danke für das PDF.

Das Teil gefällt mir sehr gut, ich werde das am WE auf jeden Fall mal 
aufbauen. Ich bin schon sehr gespannt, wie schnell es ist.

Noch ein Hinweis: im Schaltplan ist fälschlicherweise 16MHz als 
Quarzfrequenz eingetragen. Evtl. willst du es ja verbessern.

von Christian U. (z0m3ie)


Lesenswert?

Oh ha, das provoziert natürlich Fehler wird gleich geändert

von Christian U. (z0m3ie)


Lesenswert?

Eagle Files stehen nun auch zur verfügung

von Mike (Gast)


Lesenswert?

Mist ... ist Christian's Seite down ?

von Christian U. (z0m3ie)


Lesenswert?

Mike wrote:
> Mist ... ist Christian's Seite down ?

ist wieder da, weiss auch hatt mit 1und1 sonst keine Probleme.

von Thomas (Gast)


Lesenswert?

Hallo Christian,

prima Ding dein USB AVR ISP. Ich hab die Firmware für den USBASP von dir 
mit AVR Studio zum laufen bekommen. Mein Problem ist, dass ich mit 
ARVDUDE keine Verbindung zustande bekomm. Ich erhalt dann immer die 
folgenden Fehlermeldungen...

stk500_getsync(): not in sync: resp=0x00
ser_open(): can't open device "com3": Zugriff verweigert

Hat jemand den USB AVR ISP schon mal mit AVRDUDE zum laufen bekommen?

Danke
ciao
Thomas

von Christian U. (z0m3ie)


Lesenswert?

Das Protokoll ist STK500v2 ;)

Wird aber wahrscheinlich nicht wahnsinnig viel nützen da es mit avrdude 
noch irgendwelche anderen Probleme gibt, ich kann mir im Moment nicht 
richtig erklären woran das liegen soll denn das AVR Studio und die 
STK500.exe kommen wunderbar damit zurecht bisher in jeder Lebenslage 
also muss das Protokoll ja stimmen. Leider scheint avrdude aber auch 
kein Kommunikationsprotokoll mitloggen zu können so das man mal schnell 
nachschauen könnte an welcher Stelle es hakt. Villeicht kennt ja doch 
jemand einen undokumentierten Switch oder eine möglichkeit ein debug Log 
zu schreiben oder so ?! -v reicht jedenfalls nicht.

Ich bin aber auch dabei das AVR910 Protokoll noch zu implementieren 
damit gehts dann sicher (hoff ich).
Ausserdem besteht noch die Möglichkeit die USBasp Firmware zu benutzen 
wenns denn unbedingt avrdude sein muss damit gehen dann halt die LEDs 
nicht und die netten extra Features sind nicht da.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

versuch mal -v -v -v -v. Das sollte dann für mehr als genug Ausgaben 
sorgen.

Matthias

von Christian U. (z0m3ie)


Lesenswert?

Sehr schön danke, hat geklappt Fehler ist das ich ISP_MULTI nicht 
implementiert hab und avrdude diesen nutzt um die fuses auszulesen warum 
auch immer macht eigentlich nicht soo viel sinn da es ja einen separaten 
Befehl dafür gibt aber naja. Ich werd versuchen das noch in den 
Controller zu quetschen mal sehn ob ichs noch rein bekomm oder an 
anderer Stelle noch ein paar Bytes frei bekomme.

von Christian U. (z0m3ie)


Lesenswert?

So, SPI_MULTI ist implementiert ich hab nur gerade nix zum flashen zur 
hand, wenn jemand simples Fuse oder Deviceid auslesen mit avrdude 
probieren könnte wär nett.

Kommandozeile:

avrdude -c stk500v2 -P comxx


-p mit entsprechendem Target muss natürlich noch dazu.

Ich habe beide Hexfiles upgedated (für meine Hardware und USBasp). 
Ausser SPI_MULTI hab ich noch nen kleinen Bug beseitigt und die Blaue 
Led (bei USBasp gibts die nicht) blinkt jetzt wärend Datentransfers.

von dirk-frerichs (Gast)


Lesenswert?

hi

das ist ja fein ...

ich würde aber auch keinen grund sehen AVRdude zu nutzen wenn es aus dem 
AVR studio  funzt ...

von Christian U. (z0m3ie)


Lesenswert?

Naja es gibt ja noch Linux und MacOS wo es kein AVR Studio gibt, und ich 
will den leuten ja nicht den weg verbauen den sie gehen wollen :) Will 
ja nahezu alles an Software unterstützen deshalb kommt das AVR910 
Protokoll ja auch noch.

von dirk-frerichs (Gast)


Lesenswert?

aha
.. dann hau rein :-)

von THW (Gast)


Lesenswert?

Hallo Christian,

ich hab Probleme den USBAVR-ISP unter Windows 2000 zum laufen zu 
bekommen. Mit Windows XP gibts keine Probleme aber bei Windows 2000 
bekomm ich nur ganz selten eine Verbindung zum USBAVR-ISP und selbst 
dann funktioniert die Programmierung nicht. Als Treiber unter Windows 
2000 gibt es ja 2 zur Auswahl, den "Communication Port" und den 
"Bootloader". Ich habe den "Communication Port" verwendet. Wie kann man 
denn den Bootloader nutzen? Das Gerät meldet sich ja dann nicht mehr als 
serielle Schnittstelle am Rechner an.

viele Grüße
Thomas

von Christian U. (z0m3ie)


Lesenswert?

Der Bootloader Treiber ist nur für den Bootloader gedacht, der wird nur 
aktiv wenn der Bootloader auch aktiv ist. Über den Bootloader kann man 
natürlich auch nicht Programmieren.

Die usbser.sys von W2K kommt mit der CDC nicht 100%ig klar. Es gibt 
einen Workaround indem du die usbser.sys von XP nimmst dazu musst du 
auch die msports.dll von xp benutzen. Diese Möglichkeit ist aber noch 
reichlich ungetestet wir können uns egrn nochmal per Mail dazu 
unterhalten. Ich kann dazu warscheinlich auch kein fertiges 
Treiberbundle bauen da der Treiber von Microsoft kommt und ich den 
natürlich nicht so einfach mitliefern kann.

von Thomas W. (thw)


Lesenswert?

Hallo Christian,

ich hab auch mal noch ein bisschen rumprobiert. Ich verwende die 
USBasp-Hardware. Mit der aktuellen Firmaware (25.05.2007) für den USBasp 
funktioniert bei mir auch unter WindowsXP das Auslesen nicht mehr, ich 
kann aber den Controller programmieren nur beim vergleichen meldet 
AVRStudio einen Fehler (mit der Version vom 28.03.2007 hat das noch 
funktioniert). Mit der Firmware für deinen USBAVR-ISP von 25.05.2007 
dagegen funktioniert unter WindowsXP alles(allerdings funktionieren dann 
die LED's nich mehr, da ich ja die USBasp Hardware verwende).
Mit AVRDUDE kommt bei mir bei programmieren immer 0x0000 als Device 
Signature heraus...ist das normal?

Unter Windows2000 könnte ich also Erfolg haben, wenn ich diese beiden 
Dateien ersetze oder gibt es da noch mehr zu tun?

Grüße
Thomas

von Christian U. (z0m3ie)


Lesenswert?

In der USBasp Version, werden eigentlich nur mittels defines die LED´s 
umgebogen und der ADC nicht benutzt. Ich habe leider keine USBasp 
hardware, kannst du villeicht mal probieren dir die Version zu 
compilieren ?
Kann ja sein das ich beim veröffentlichen oder compilieren was falsch 
gemacht hab.

Mit avrdude hab ich noch nicht so viel gemacht durchaus möglich das sich 
dort noch Fehler eingeschlichen haben.

>Unter Windows2000 könnte ich also Erfolg haben, wenn ich diese beiden
>Dateien ersetze oder gibt es da noch mehr zu tun?

Ich hab dazu auch nur die Aussage eines Nutzers er musste wohl noch eine 
versteckte Datei kopieren. Ich kann es leider selbst nicht 
nachvollziehen da ich nirgends W2K hab.

von Herby (Gast)


Lesenswert?

Ich habe die DIL-Version gebaut. Wenn ich die Platine an den USB-Bus 
anschließe erscheint auf dem Computer "USB-Gerät wurde nicht erkannt". 
Auf D- ligen ca. 2,6V.
Hat vielleicht jemand einen Tip für mich?

von Charly (Gast)


Lesenswert?

Hallo Herby,

habe den progger auch nachgebaut, mit eigenem layout da ich die
kleine usb-buchse benutzte und hatte den fehler auch da ich D+ und
D- am stecker vertauscht hatte, nach den drhen wird er erkannt aber mehr
konnte ich noch nicht machen da er auf die eingabe von 'menue' nicht
reagiert heul

viel erfolg und berichte mal wieder
Charly

von Christian U. (z0m3ie)


Lesenswert?

Hallo Charly

warum konntest du nicht mehr machen ?
Den Terminal Modus braucht man doch normalerweise gar nicht !
Ist der Virtuelle COM Port im geräte Manager sichtbar ?
Was sagt das AVR Studio dazu ?

von Charly (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Christian,

wollte  mit dem terminal die ISP geschwindigkeit umstellen,
blike noch nicht so ganz durch bei dem programmer, kommt
aber noch (hoffentlich), habe etwas umlayoutet und noch den
6pol micromat. stecker ´eingebaut´ , wollte event. im neuen
layout noch ein max232 einbauen, naja vielleicht kommen noch
ein paar Ideen.....

danke noch fuer die nette hard-und-software

viele gruese & ein schoenes wochenende
Charly

von Charly B. (charly)


Lesenswert?

Hi,
hatte eben login vergessen ;(
ein scheenes wochenende
charly

von Michael W. (wiebel42)


Lesenswert?

Ich wäre an einer Platine interessiert. Das sieht Klasse aus.
Hab ich das richtig aufgeschnappt, dass der Mega8 über den bootloader 
selbst geflashed werden kann? Könntest du dann evtl. wenn das mit den 
Platinen anlaufen sollte auch einen mega8 mit bootloader anbieten? 
Obwohl den bekommt man glaub auch so, oder?
Gefällt mir Super, weiter so.  -wiebel

P.S. Wenn mich einer fragen würde, wäre ich für eine miniUSB Buchse, 
aber das passt dann natürlich nicht so schön in das nette Gehäuse von 
Atmel.

von Christian U. (z0m3ie)


Lesenswert?

Warum hast du n anderes layout gemacht Charly ?
Auf meiner ist doch schon eine 6 pol Micromatch mit drauf !
Dein Layout ist fast gleich zu dem vom Chaos Computer Club Berlin zu dem 
meine Software auch kompatibel ist.
Und es gibt ein kleines zusatzboard das du auf die 10 Pol. ISP Stecken 
kannst mit nem max232 und ner SubD 9 Buchse womit du aus dem ganzen 
einen RS232/USB Wandler machen kannst geplant sind noch etliche mehr 
Boards für n kleines Oszi Logic analyzer usw steht aber alles auf der 
Seite im Moment ist eine neue Schaltung in Arbeit die eien regelbare 
Ausgangspannung von 0-30V bietet und n paar Spielereien mehr damit soll 
man später auch Pics flashen könne...

@Michael
Ja es ist momentan aber noch keine PC Software geschrieben um den 
Bootloader zu bedienen. Ich hab schon oft überlegt und würde auch gern 
Platinen machen auch vorprogrammierte Controller sind kein Problem es 
müssen sich nur erstmal genug Leute finden damit sich die erste 
Bestellung lohnt.

Weiterhin würde ich das dann erst mit der neuen Hardware anlaufen lassen 
da diese doch einige Vorteile bietet aber auch komplett 
abwärtskompatibel ist man also auch in der Minimnalbestückung nicht viel 
mehr als den atmega8 und n paar Widerstände bestücken muss.

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

toll, aber
warum verwenden alle USB B oder mini B ?
immer irgendwelche Kabel mitschleppen müssen ?
warum sind alle Platinen so breit ?

Ich hab mir nun diesen bestellt
http://www.ixbat.de//files/admin/embedded/usbprog/usbprog_complete.jpg

ihn aber so umgebaut siehe Anhang
statt 270 Ohm Rv vor den LED nun 1k 2x und an jeder Seite ! eine 3mm LED 
low current 2mA rausschauen lassen

lieber wäre mir ein Mk2 komp. Prommer im USB Stick design
http://www.segor.de/bilder/0000b8f7.jpg www.segor.de

mit diesem USB A Stecker
http://www.segor.de/bilder/0000b705.jpg

weil der USBprog aber in der Platine so breit ist, dieses Gehäuse:
http://www.segor.de/bilder/0000aef5.jpg

von Christian U. (z0m3ie)


Lesenswert?

Für Notebooks, eine tolle Idee ist auf jeden fall im Hinterkopf. 
Allerdings ists für alles andere ungeeignet man kann ja die SPI 
Schnittstelle nicht über 3m ziehen, das gibt Fehler ohne ende. Also eben 
nur für Notebooks interessant deswegen macht das keiner. Du scheinst die 
SPI dort auch ziemlich weit zu ziehen, das wird früher oder später arge 
Probleme beim Flashen geben.

von Charly B. (charly)


Lesenswert?

Moin ,

1
Joachim:
2
warum verwenden alle USB B oder mini B ?
3
immer irgendwelche Kabel mitschleppen muessen ?
4
warum sind alle Platinen so breit ?

ganz einfach , damit du auch was zu tun hast und was neues layoutest;
wir sind doch hier eine grosse gemeinschaft und event. haben dann noch
mehr gefallen an deinem projekt ;

ich pers. habe lieber ein kabel im Laptop als ein ´dicker´ programmer
der die usb-buchse mechanisch belastet und ein kabel zum anschluss
des Target brauch man sowieso, iss halt 'geschmacksache' .....


@Christian

i habe die neue platine wegen dem mini-usb und der ´schoenen´
dreifarb LED, wollte jetzt noch den max232 draufpacken und
event. etwas verkleinern, mal schauen

wegen dem bootlader schau doch mal da :
http://www.matwei.de/doku.php?id=de:elektronik:usbisp
ich bin nicht der grosse C programmierer aber du
wirst das sofort verstehn... ;)

ps. wegen den platinen koennen wir mal mailen

see you


Charly

von Christian U. (z0m3ie)


Lesenswert?

>wegen dem bootlader schau doch mal da :
>http://www.matwei.de/doku.php?id=de:elektronik:usbisp
>ich bin nicht der grosse C programmierer aber du
>wirst das sofort verstehn... ;)

geht leider nicht da ich den ft232 mit meiner lösung einspare. Und in 
die 1024 byte Bootloader Code passt eine CDC Klasse die den Seriellen 
Port emuliert einfach nicht rein. Ich muss also mit HID arbeiten im 
Bootloader ist auch kein grosses Problem die Firmware dafür ist ja auch 
fertig. Aber ich bin schlichtweg noch nicht dazu gekommen die PC 
Software zu schreiben. Für Linux hab ich die Hardware ebene fertig dort 
wärs noch nichtmal das grosse problem die Software fertig zu machen aber 
ich wollte eigentlich erst Windows machen...

von Herby (Gast)


Lesenswert?

Hallo Charly,

danke für die Antwort. D+ und D- sind nicht Vertauscht. Im Moment habe 
ich nicht viel Zeit weiter auf Fehlersuche zu gehen. Erst muß ich eine 
andere Sache fertigstellen. Werde aber zwischendurch hier immer mal 
reinschauen.

Gruß Herby

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Christian Ulrich wrote:
> Für Notebooks, eine tolle Idee ist auf jeden fall im Hinterkopf.
> Allerdings ists für alles andere ungeeignet man kann ja die SPI
> Schnittstelle nicht über 3m ziehen, das gibt Fehler ohne ende. Also eben
> nur für Notebooks interessant deswegen macht das keiner. Du scheinst die
> SPI dort auch ziemlich weit zu ziehen, das wird früher oder später arge
> Probleme beim Flashen geben.

ziemlich weit ? unter 1m, ich tippe auf 30-70 cm ! habe mehr als ein ISP 
Kabel gebaut, weil 3 Prommer auf einzeilige Stecker , Printstecker 
einreihige Pfosten im 1/10" Raster für Steckbrett und auf LP dann mit 
Steckbuchsen

vielleicht hab ich auch deswegen keine Probleme weil das Kabel
1 so kurz ist
2 ich einzel Adern 0,14mm² nutze

obwohl Flachkabel mit GND zwischen den Signalleitungen ja auch Vorteile 
hat

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

pic 2

von Joachim B. (jar)


Lesenswert?

Charly B. wrote:
1.
> ich pers. habe lieber ein kabel im Laptop als ein ´dicker´ programmer
> der die usb-buchse mechanisch belastet und

2.
> ein kabel zum anschluss
> des Target brauch man sowieso, iss halt 'geschmacksache' .....

1. findest du den dick ? der ist mini und leicht !
2. das sind dann schon 2 Kabel ;-)

von Christian U. (z0m3ie)


Lesenswert?

Also bei mit sinds nicht bloß 70 cm vom Rechner auf den Schreibtisch und 
wenn ich dann noch etwas Freiraum haben will kommt man schnell mal auf 
1,2m und das funktioniert über SPI garantiert nicht mehr mit allen 
Controllern. Selbst 70cm dürften bei einigen Controllern arge Probleme 
bereiten.

>1. findest du den dick ? der ist mini und leicht !
>2. das sind dann schon 2 Kabel ;-)

Ja nur kannst du deine 2. USB Buchse damit auch vergessen. gerad am 
Notebook ist die bei mir meißt mit ner externen Maus belegt. Aber wenn 
man ein USB Stick artiges Gehäuse findet würde es zumindest am Notebook 
recht schick sein.

von Joachim B. (jar)


Lesenswert?

Christian Ulrich wrote:
> Also bei mit sinds nicht bloß 70 cm vom Rechner auf den Schreibtisch und
> wenn ich dann noch etwas Freiraum haben will kommt man schnell mal auf
> 1,2m und das funktioniert über SPI garantiert nicht mehr mit allen
> Controllern. Selbst 70cm dürften bei einigen Controllern arge Probleme
> bereiten.

mag sein, ich hab keine Probleme

> Ja nur kannst du deine 2. USB Buchse damit auch vergessen. gerad am
> Notebook ist die bei mir meißt mit ner externen Maus belegt.

das Problem hab ich auch mit beiden DVB-T Sticks, aber genau dafür USB 
A-A Verlängerungen in kurz

>Aber wenn
> man ein USB Stick artiges Gehäuse findet würde es zumindest am Notebook
> recht schick sein.

ist schon in Arbeit ;-) Breite nun auf 19mm sollte passen

von Charly B. (charly)


Angehängte Dateien:

Lesenswert?

Moin

@joachim:

iss dein neues layout fertig ? ;)

meines schon, incl. kleine erweiterung

@Christian

haetteast du interresse eine softerweiteung fuer einen ´pc-losen´ 
programmer
zu schreiben ? ; ein 24c512 enthaelt die daten, der programmer wird vom
´ziehlsystem´ mit spannung versorgt und auf tastendruck legt er los und 
proggramiert den avr

vg
Charly

von Joachim B. (jar)


Lesenswert?

Charly B. wrote:
> @joachim:
> iss dein neues layout fertig ? ;)
> meines schon, incl. kleine erweiterung
> vg
> Charly

ich mach doch keines, hab ich nie gesagt, aber Bene ist mit seiner Group 
dran:-)

von Christian U. (z0m3ie)


Lesenswert?

>haetteast du interresse eine softerweiteung fuer einen ´pc-losen´
>programmer
>zu schreiben ? ; ein 24c512 enthaelt die daten, der programmer wird vom
>´ziehlsystem´ mit spannung versorgt und auf tastendruck legt er los und
>proggramiert den avr

So wie du es vorschlägst nicht aber es wird eine SD Karten 
Erweiterungsplatine für meinen Progger geben die man einfach auf die 
10-polige ISP Stecken kann Stromversorgung muss trotzdem noch über die 
USB Buchse zugeführt werden entweder mit nem Adapter oder über ne USB 
Schnittstelle. Wenn ihr die 10-Polige wie bei meinem belegt wird das 
natürlich auch mit euren Layouts möglich sein.

Ich würds übrigendes begrüßen wenn ihr eure Layouts auch in der Wiki 
einfügt oder verlinkt...

von Charly B. (charly)


Angehängte Dateien:

Lesenswert?

Moin moin,

Christian Ulrich wrote:

> So wie du es vorschlägst nicht aber es wird eine SD Karten
> Erweiterungsplatine für meinen Progger geben die man einfach auf die
> 10-polige ISP Stecken kann Stromversorgung muss trotzdem noch über die
> USB Buchse zugeführt werden entweder mit nem Adapter oder über ne USB
> Schnittstelle. Wenn ihr die 10-Polige wie bei meinem belegt wird das
> natürlich auch mit euren Layouts möglich sein.

@Christian:

Warum SD-Karte ?? ein 24c512 oder 24c1024 tuts doch auch ; da passt
selbst ein programm fuer den mega128 rein, findet platz auf der
Programmerplatine und ist wesentlich billiger als eine SD-Karte +
Slot + zusaetzliche Leiterplatte
leider hast du den hardware i2c mit den led´s belegt ;(
also soft-i2c


Leider hab ich keine ahnung von C , kann nur asm oder basic
deswegen dachte ich du koenntest so ein funktion 'flott'  einbinden
Auf dem 10pol ISP liegt jetzt noch auf dem freien Pin PD3, da koennte
ein Taster nach GND den ´pc-losen´ programmer starten, ueber die LED´s
koennte man den status anzeigen


> Ich würds übrigendes begrüßen wenn ihr eure Layouts auch in der Wiki
> einfügt oder verlinkt...

Ist prinzipiell kein problem, habe sowas aber noch nie gemacht, werde
es aber (hoffentlich) lernen, meine Schaltplaen/layouts sind fuer den
privaten, nicht komerziellen gebrauch frei

hier ist mein vorlaeufiges design, wenn mir (oder anderen) nicht
noch was "tolles" einfaelt werde ich anfang August ein paar
Leiterplatten bestellen,
die sollten in Joachim´s "Wunschgehaeuse" passen,
siehe: http://www.segor.de/bilder/0000b8f7.jpg

vg
Charly

von Christian U. (z0m3ie)


Lesenswert?

Das Problem was ich damit habe ist, das Programm dann auf den EEPROM zu 
bekommen ?! Die Einbindung der Soft I2C und das ansprechen des I2C Proms 
ist kein grosses Problem aber noch z.b. ein Z-Modem Protokol zu 
implementieren um die Daten auf den EEPROM zu bekommen irgendwo ists 
dann auch overkill.
Prinzipiell ist die Idee aber nicht schlecht ich weiss nur noch nicht 
wann ich mal wieder dazu komme größere Sprünge zu machen. Bedingung 
meinerseits wäre das das die I2C Schnittstelle mit auf der 10-Pol ISP 
Landet so das das ganze auch als Erweiterungsboard auf jeder Hardware 
landen kann.

Der Umgang mit der Wiki ist ab besten in der Deutschen Wikipedia 
beschrieben dort ist sehr ausführlich das erstellen von Artikeln mit 
allen möglichen spielchen beschrieben ansonsten schau dir einfach mal 
Seitenquelltexte vo mir an ist sehr einfach.

von Charly B. (charly)


Lesenswert?

Moin moin,

Christian Ulrich wrote:
> Das Problem was ich damit habe ist, das Programm dann auf den EEPROM zu
> bekommen ?! Die Einbindung der Soft I2C und das ansprechen des I2C Proms
> ist kein grosses Problem aber noch z.b. ein Z-Modem Protokol zu
> implementieren um die Daten auf den EEPROM zu bekommen irgendwo ists
> dann auch overkill.

warum so kompliziert ?, warum Z-modem ?
der programmer ist doch auch eine rs232 ( com(X) unter windows ) oder ?

also, wenn ich ahnung von C haette wuerd ich es so machen:
'magic string´ senden um eeprom programmiermodus einzuleiten
dann die daten zum eeprom senden, fertig
wenn du viel zeit hast kannst du event. intelhex dafuer 
implementieren....

wenn ich an die alte modemzeit denke faellt mir folgendes ein:

min. 3sec. pause
dann +++ senden
wieder min. 3 sec.
dann daten senden
fertig

wie gesagt event. intelhex, und man koennte im eeprom den
ziel-avr hinterlegen damit ein ´dummy´ nicht aus versehen
einen falschen avr-typ proggramiert, wahere dann die
delux version.


> Prinzipiell ist die Idee aber nicht schlecht....
so kenn i mich GRINS

> Bedingung > meinerseits wäre das das die I2C Schnittstelle mit
> auf der 10-Pol ISP landet.......
wenn du ´soft-i2c´ kannst du auch rxd und txd zu scl & sda
´umschalten`


> Der Umgang mit der Wiki ist ab besten in der Deutschen Wikipedia
> beschrieben dort ist sehr ausführlich das erstellen von Artikeln mit
> allen möglichen spielchen beschrieben ansonsten schau dir einfach mal
> Seitenquelltexte vo mir an ist sehr einfach.

dann besteht ja noch hoffnung fuer mich grins

vg
Charly

von Charly B. (charly)


Lesenswert?

moin moin

@Christian:

mir ist grad eingefallen, du koenntest auch in deinem menue
einen punkt 'download eeprom´ einfuegen , dann alle daten
die kommen zum eeprom ; waehre event. noch einfacher

bei intelhex koennte man mit (EOF) den download beenden,oder
ueber ein Timeout zb. von 3 sec.


vg
Charly

von Michel (Gast)


Lesenswert?

Hallo,

ich würde mir gerne den  USB AVR ISP Programmer von Christian Ulrich 
nachbauen, habe dazu aber noch eine Frage:

Gibt es unter Mac OS X auch Treiber für den Programmer, so dass dieser 
mit AVRDUDE benutzt werden kann?

Dann ein weiteres Problem: Ich habe noch keinen Programmer und stehe 
daher vor dem Henne Ei Problem. Wie bekomme ich die Firmware in den 
Programmer-uC?

Ich habe in dem Wiki nachgelesen, dass ich einige Steckbrücken setzten 
muss, damit der Bootloader des uC startet, nur wie geht es dann weiter?

Im Wiki steht was von "Bitbang ISP Adapter", aber was ist das?

Dann noch eine andere "doofe" Frage: Wenn der uC einen Bootloader 
besitzt und der uC ohne viel Aufwand über diesen Bitbang-Modus 
programmiert werden kann, wieso dann der Aufwand einen richtigen 
Programmer zu erstellen?

Danke für Eure Hilfe.

Michel

von F. K. (freddy436)


Lesenswert?

Michel wrote:
> Dann ein weiteres Problem: Ich habe noch keinen Programmer und stehe
> daher vor dem Henne Ei Problem. Wie bekomme ich die Firmware in den
> Programmer-uC?
z.B. mit einem Parallelport Programmer, den kann man aus einem IC (nen 
74XX244) oder sogar nur aus ner Handvoll Widerstände bauen.
Oder man lässt sich einfach einen fertig Programmierten schicken, denke 
da sollte sich jemand finden lassen.

> Dann noch eine andere "doofe" Frage: Wenn der uC einen Bootloader
> besitzt und der uC ohne viel Aufwand über diesen Bitbang-Modus
> programmiert werden kann, wieso dann der Aufwand einen richtigen
> Programmer zu erstellen?
Ein neuer µC ist Leer, d.h. auch ohne Bootloader, den muss man auch erst 
auf den µC bekommen.

von Johannes S. (johanness)


Lesenswert?

Und falls man keine parallele Schnittstelle am Rechner hat, wohl aber 
eine serielle, geht auch die Programmierschaltung aus dem 
Pollin-Atmel-Evaluationsboard. Die geht prima mit Ponyprog. So hab ich 
die Programmierung des Controllers geplant - natürlich muss ich den 
Programmer erst mal bei Reichelt zusammensuchen und bestellen ;)

von Christian U. (z0m3ie)


Lesenswert?

>Gibt es unter Mac OS X auch Treiber für den Programmer, so dass dieser
>mit AVRDUDE benutzt werden kann?

Es gibt mehrere Möglichkeiten die CDC Klasse sollte eigentlich 
funktionieren ist aber soweit ich weiß ungestestet. Alternativ kann man 
auch eine Firmware verwenden die das ganze über HID macht, damit sollts 
auf jeden Fall gehen.

>Ich habe in dem Wiki nachgelesen, dass ich einige Steckbrücken setzten
>muss, damit der Bootloader des uC startet, nur wie geht es dann weiter?

Da dein Controller ja noch keinen Bootloader geflasht hat nützt dir das 
gar nichts.

>Im Wiki steht was von "Bitbang ISP Adapter", aber was ist das?

Eine Schaltung bestehend aus einem SubD Stecker und 2 Widerständen mit 
der du über den Paralellport und z.b. avrdude flashen kannst dabei wird 
die Komplette Kommunikation zwischen Controller und PC in Software vom 
PC gemacht das ganze ist ziemlich anfällig und funktioniert auch nicht 
mit jedem Paralellport

>Dann noch eine andere "doofe" Frage: Wenn der uC einen Bootloader
>besitzt und der uC ohne viel Aufwand über diesen Bitbang-Modus
>programmiert werden kann, wieso dann der Aufwand einen richtigen
>Programmer zu erstellen?

Siehe oben außerdem brauchst du für die Bitbanging Adapter immer einen 
Paralellport und zudem gehts auch nicht mit allen Paralellports. Das 
flashen über einen "richtigen" Programmer geht viel schneller und ist 
weniger anfällig ausserdem hat man eine USB Schnittstelle überall zur 
verfügung einen Paralellport aber nicht (z.b. Notebook).

Wenn du das mit dem MacOS näher ausloten willst bzw deine Hardware 
fertig hast meld dich mal per mail bei mir dann können wir zusehn das 
wir den rest gut hinbekommen und ich hab gleich alle nötigen 
Informationen um es ordentlich zu dokumentieren...

von Christian U. (z0m3ie)


Lesenswert?

Nochmal zu dem EEPROM Problem Z-Modem ist ein protokoll um Dateien über 
die Serielle Schnittstelle zu übertragen das hat nichts mit nem 
eigentlichen Modem zu tun. Wenn ich das nicht darüber implementiere muss 
ich zusätzlich auch noch eine PC Software schreiben um die Daten auf den 
EEPROM zu bekommen eien SD Karte ist da im ersten Schritt einfacher. Ich 
hab aber nichts gegen ein Aufsteckmodul mit nem EEPROM ist 
Softwareseitig etwas mehr aufwand aber geht auch und ist günstiger.

von Michel (Gast)


Lesenswert?

Hallo,

Wenn ich nun den uC auf dem Programmer das erste mal über den Bitbang 
ISP Adapter programmiert habe, wird auch ein Bootloader auf dem uC 
eingerichtet, mit dem es dann möglich ist, eine neue Firmware ohne 
diesen Bitbang ISP Adapter zu flashen?

Habe ich das so richtig verstanden?

Bis dann...

Michel

von Joachim B. (jar)


Lesenswert?

Michel wrote:
> Hallo,
>
> Wenn ich nun den uC auf dem Programmer das erste mal über den Bitbang
> ISP Adapter programmiert habe, wird auch ein Bootloader auf dem uC
> eingerichtet, mit dem es dann möglich ist, eine neue Firmware ohne
> diesen Bitbang ISP Adapter zu flashen?
>
> Habe ich das so richtig verstanden?
>
> Bis dann...
>
> Michel



im Prinzip richtig verstanden

WENN du beim ersten Mal über den Bitbang ISP Adapter einen Bootloader 
richtig in den Atmel programmiert hast , DANN kannst du zukünftig ......

von Charly B. (charly)


Lesenswert?

moin moin,

@christian:

ich glab ich hab mich weiter oben vielleicht etwas falsch 
ausgedrueckt,sorry

> Nochmal zu dem EEPROM Problem Z-Modem ist ein protokoll um Dateien über
> die Serielle Schnittstelle zu übertragen das hat nichts mit nem
> eigentlichen Modem zu tun.

ja ja das ist mir schon klar, i kenn das noch aus der zeit als ein 
2400Bd
modem was schnelles war ;)

ich versteh aber nicht warum du so auf Z-modem ´stehst´ ; z-modem ist 
ein
protokoll mit fehlerkorrektur und mit resume funktion was bei 
uebertragung
ueber telefonleitungen ja auch sinnvoll ist

hier sind es aber nur 1-2 meter kabel bis zum eeprom, also waehre das 
meine
meinung nach mit kanonen auf spatzen geschossen

ich habe andere anwendungen da sende ich die daten ueber die v24 und der 
avr legt sie im 24c512 ab, hatte da noch nie probleme.
ich sende die daten mit einem termialprg. (nicht hyperterm) uber die 
rs232
zum avr der sie im eeprom ablegt, ein timer beendet die uebertragung
wenn 3sec. keine neuen Daten kommen

so aehnlich hatte ich das hier auch gedacht, fangen wir doch zuerst 
klein an ;)

vg
Charly

von Bernsen (Gast)


Lesenswert?

Hallo,

ein wirklich schönes Projekt!

Habe mir heute mal einen Programmer nachgebaut. Und die Firmware von 
deiner Seite eingespielt.

Beim anstecken an den USB Port erkennt der Rechner zwar das Gerät nur 
kann er keinen Treiber installieren. Auch die Treiber auf deiner 
Homepage lassen sich nicht installieren.

"USB-Gerät wurde nicht erkannt"
In meiner USB-Controller  / Gerätemanagerliste wird "Unbekanntes Gerät" 
angezeigt.

Die manuelle Treiber mit den dazugehörigen Treibern endet immer mit 
"Fortsetzung nicht Möglich"

Hat vielleicht jemand eine Idee wo das drann liegen könnte?
Über Hilfe wäre ich sehr Dankbar.

Mfg

Bernsen

P.s.: Windows XP / Administrator

von F. K. (freddy436)


Lesenswert?

Guck mal mit USBview*, da solltest du zumindest VID/PID, etc. sehen.

Zum Vergleich:
Device Descriptor:
bcdUSB:             0x0101
bDeviceClass:         0x02
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x16C0
idProduct:          0x05E1
bcdDevice:          0x0100
iManufacturer:        0x01
iProduct:             0x02
iSerialNumber:        0x00
bNumConfigurations:   0x01

* http://www.ftdichip.com/Resources/Utilities/usbview.zip

von Bernsen (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die Antwort.

Habe mir das mal mit USB View angeschaut.
Da scheint noch was anderes nicht zu stimmen:

Device Descriptor:
bcdUSB:             0x0000
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x00 (0)
idVendor:           0x0000
idProduct:          0x0000
bcdDevice:          0x0000
iManufacturer:        0x00
iProduct:             0x00
iSerialNumber:        0x00
bNumConfigurations:   0x00

ConnectionStatus: DeviceFailedEnumeration
Current Config Value: 0x00
Device Bus Speed:      Low
Device Address:       0x00
Open Pipes:              0


Ich bin gerade am überlegen ob nicht vielleicht etwas am Schaltplan faul 
ist. Ich habe ihn einfach mal angehängt. Ich finds im Moment einfach 
nicht. Schon zu lange drauf geschaut.

Wäre nett wenn mal jemand einen Blick drauf werfen könnte.

von Christian U. (z0m3ie)


Lesenswert?

Ich würde mal ins Blaue tippn, du hast die Fuses nicht auf externen 
Quarz gesetzt und der AVR läuft so mit 1 Mhz. Es ist zwingend nötig das 
er mit 12 Mhz läuft.

>ich versteh aber nicht warum du so auf Z-modem ´stehst´ ; z-modem ist
>ein
>protokoll mit fehlerkorrektur und mit resume funktion was bei
>uebertragung
>ueber telefonleitungen ja auch sinnvoll ist

Das ist nur das erste Protokoll was in so ziemlich jedem terminal 
Programm implementiert ist das mit eingefallen ist. Das mit dem Senden 
der Plain Daten und einige Zeit auf Daten warten ist ok, solang es 
funktioniert. Bin ich auch mit einverstanden.

von Bernsen (Gast)


Lesenswert?

Ahhh....

12 MHz??? Im Schaltplan steht doch was von 16 MHz...

So langsam wird ein Schuh draus.

Werde es mal mit 12Mhz testen.

Vielen Dank

Bernsen

von Christian U. (z0m3ie)


Lesenswert?

Tatsächlich, ich dachte das hätte ich schon lange geändert ... sorry.

von Bernsen (Gast)


Lesenswert?

Der Controller läuft jetzt mit 12MHz.
Fusese sind auf "Ext XTAL, High frequency" gesetzt.

Trotzdem habe ich immer noch das gleiche Problem.

Schaltplan habe ich mir noch ein weiteres mal angesehen und bin 
eigentlich davon überzeugt, dass D+ und D- richtig rum angeschlossen 
sind.

von Bernsen (Gast)


Lesenswert?

Ich Trottel habe was gefunden...
Werde das mal ändern und dann berichten, ob es funktioniert.

von Bernsen (Gast)


Lesenswert?

Den 2,2k Pullup Widerstand zur Erkennung des Gerätes als Low Speed Gerät 
hatte ich vom AVR aus gesehen vor dem 68Ohm Widerstand.

Eine Änderung hat leider auch nicht zum Erfolg geführt.

von F. K. (freddy436)


Lesenswert?

Hastes auf nem Steckbrett am rumfliegen oder was?

Dann klemm mal an Reset Pin, etc. noch nen par Abblock Kondensatoren ;) 
Was für Pegel hast du an den USB Leitungen? Mal verscuht alles bis auf 
USB/µC Beschaltung wegzunehmen?

von Christian U. (z0m3ie)


Lesenswert?

So viel ists doch nun nicht in der USB Beschaltung kontrollier vom 
Controller zum USB nochmal alles ganz genau.
Dann stell sicher das der Controller richtig geflasht ist.

von Bernsen (Gast)


Lesenswert?

Hallo,

danke für die Antworten.
Meine Schaltung befindet sich auf einer kleinen von mir geätzten Platine 
mit eigenem Layout. Vom µC zum USB Stecker sind es weniger als  1,5cm.

Richtig geflasht sollte der µC sein.

Die Beschaltung der habe ich mir schon 100-mal angeschaut.
Werde mir das morgen noch mal unter einem Mikroskop anschauen ob da 
nicht vielleicht doch noch Haarverbindungen sind.

Werde dann auch gleich mal die Pegel messen.

Danke so weit

Bernsen

von Christian U. (z0m3ie)


Lesenswert?

Wenn du gar nix findest kannst mir das Teil auch in nen gepolsterten 
Briefumschlag packen und nen Frankierten Rückumschlag dazu und an mich 
schicken. Ich schaus mir dann mal an.

von Bernsen (Gast)


Lesenswert?

Hallo,

danke für das nette Angebot.

Hatte heute leider keine Zeit, da ich mich noch um einige Sachen für 
mein Studiumbeginn, Wohnungssuche etc., kümmern musste.

Ich hoffe, dass ich morgen, ähh heute, dazu Zeit finde.

von Charly B. (charly)


Angehängte Dateien:

Lesenswert?

moin moin,

habe eben die neue LP erhalten & aufgebaut :)
( sieht schoen aus ;) )

@christian:
wie muessen den die fuse fuer dem m168 stehen & hast du ein .hex fuer
den m168 (stk500emu) ?  danke!

ps. hatte mir ueberlegt das in verbindung mit dem 24c512 auch ein
softwareupdate via usb moeglich waehre


vlg & ein schoenes wochenende
charly

von Christian U. (z0m3ie)


Lesenswert?

Nein hab derzeit kein Hexfile, kann dir aber eins compilieren wenn du 
das nicht schaffst :p Kannst natürlich auch selber machen :)
Stellst du die Schaltung dazu ins Wiki ? Schaut sehr nett aus.
Ist da denn jetzt der EEPROM drauf ?

Die Fuses setzt du am besten wie im Wiki beschrieben also nicht die Hex 
Werte sondern mit dem AVR Studio die entsprechenden Häkchen setzen :) 
wie es in der Hilfe beschrieben ist.

Wie soll der 24c512 denn beim Softwareupdate helfen ?

von Charly B. (charly)


Angehängte Dateien:

Lesenswert?

Moin moin,

das waere nett wenn du mir ein file fuer den 168 machst, in C
binn ich halt ´ganz dumm´

ich hab da mal a bissel rumgegugt aber wenn ich das richtig verstanden
habe fehlt da ein makefile

das eeprom ist auf der unterseite der LP

software-update wuerde ueber einen minibootloader gehn der die neue 
version
aus dem ext.-eepom ins flash kopiert , dh. die neue version ins
eeprom schieben dann beim naechsten neustart neue version ins flash

wenn du Platinen brauchst sag bescheid dann schick i dir welche

vlg
Charly

von Michel (Gast)


Lesenswert?

Hallo,

ich habe den USB-Programmer nachgebaut (allerdings bedrahtet) und hänge 
jetzt an einer Stelle:
Ich konnte den uC über ein Bitbang-Interface programmieren (klappte auch 
soweit), allerdings weiss ich nicht genau, welche Fuse-Bits ich bei 
PonyProg einstellen muss, damit der externe Quarz verwendet wird.

Im Datenblatt (External Crystal) steht, dass CKSEL3..0 auf 1111 stehen 
muss für einen externen Quarz. D.h. im Pony-Prog darf kein Häckchen bei 
CKSEL3..0 sein? Ist das so richtig?

Wäre nett, wenn ihr mit hier helfen könntet, denn das ist mein einziger 
ATmega8 und der sollte möglichst am Leben bleiben :-)

Danke und viele Grüße...

Michel

von Christian U. (z0m3ie)


Lesenswert?

Ich hab in der Hilfe mal ein Bild der Fuses in Ponyprog hinzugefügt, so 
müsste das eigentlich stimmen da ich aber nicht in ponyprog arbeite wäre 
es schön wenn das noch jemand bestätigen könnte.

Charly, ich mach dir in den nächsten Tagen mal ein hexfile.
Das mit dem update versteh ich nicht wie kommt das update auf den eeprom 
?
Das mit der schaltung meinte ich nicht als bild, da alles unter gpl 
steht wärs schon schön wenn du das ganze auch wider als files 
veröffentlichst. Wenn dus nicht selbst ins wiki eintragen willst kannsts 
mir auch per mail schicken dann mach ichs.
Persönlich brauch ich jetzt keine platinen aber ich würds auch gern mit 
anbieten gerad für die anfänger ist es schon aber dazu können wir ja mal 
mailen. Gibts dazu nun schon ein gehäuse ?

von dirk f. (Gast)


Lesenswert?

hi christian

also einen in einer neuerern version hätt ich noch sehr gerne einen
weil ich den anderen nicht immer mitschleppen muss
würde dann aber auch einen in grün mitbestellen

von Michel (Gast)


Lesenswert?

Hallo,

danke, Christian, für den Screenshot.

Ich habe gerade die Fuses-Bits gesetzt und es scheint zu klappen. Auch 
die Treiber-Installation unter XP klappte anstandslos. Allerdings 
scheint meine Verbindung nicht so richtig stabil zu sein. Im AVRStudio 
erhalte ich den Hinweis, dass meine Firmware veraltet ist (wie im Wiki 
beschrieben), allerdings mit "komischen" Versionsnummern wie 
"FFC0B8.00".

Im anschließenden Connect-Fenster steht unten unter "Getting 
revisions..." "Failed!"
Verbindungsabbau und neuer Verbindungsaufbau und alles klappt 
problemlos. Erneuter Verbindungsabbau und es kommt kein Reconnect 
zustande.

Im Hyperterminal (57600 8-N-1, keine Flusssteuerung) kann ich teilweise 
mal ein "m" von "menu" eingeben, teilweise "me" oder das gesamte Wort, 
aber das Menu bekomme ich nie angezeigt.

Kann dies an meinen kleinen Abweichungen vom Schaltplan liegen?
Ich habe statt der 68er Widerstände 100er verbaut und statt der 220er 
330er. Zudem ist der 4,7u Kondensator bei mir nur 3,3u groß (Was anderes 
hat sich nicht mehr in der Bastelkiste gefunden). Alles andere ist exakt 
wie im Schaltplan.

Oder kann das auch an einem zu langem USB-Kabel liegen? Mein Kabel ist 
ca. 3m lang.

Das Flashen des uC klappt übrigens mit dem Bitbang-Interface problemlos, 
die Fuses hab ich eingestellt wie auf dem PonyProg-Screenshot im Wiki.

Beim Einstecken des USB-Kabels leuchtet übrigens die rote LED kurz auf 
(und nur die), geht danach wieder aus.

Wenn mal eine Verbindung mit dem AVRStudio klappt, ist die blaue (bei 
mir gelbe) LED an. Das scheint ja ok zu sein.

Danke für Eure Hilfe und viele Grüße...

Michel

von Christian U. (z0m3ie)


Lesenswert?

Also, das hört sich stark nach irgend welchen problemen bei der USB 
Verbindung an. Ich hab da den zu kleinen Kondensator in Verdacht da 
können ruhig auch 100u rein ich hab nur aus Platzgründen einen so 
kleinen genommen es hat sich aber schon gezeigt das das manchmal zuwenig 
ist auch wenn man annehmen sollte das die 5V aus dem USB Hub recht 
stabil sein sollten. Weiterhin würde ich mal ein kürzeres Kabel 
versuchen. Und die 68er Widerstände sollten eigentlich auch 68 sein. Die 
USB Geschichte ist so wie Sie designt ist schon leicht wacklig. Software 
USB mit sowenig externen Bauteilen ist immer etwas kribbelig aber 
nichtsdesto trots lief es bisher immer. Aber man sollte sich gerade dort 
schon an den Schaltplan halten.

Die 220 Ohm würd ich eher kleiner als grösser machen. Du kannst sie zur 
not auch brücken sind reine Schutzwiderstände. Aber desto grösser sie 
werden desto mehr Probleme wirst du beim flashen haben.

von Michel (Gast)


Lesenswert?

Danke für Deine Antwort.

Dann muss ich morgen wohl mal zum Conrad und neue Bauteile besorgen. Ich 
werde alles mal beherzigen und 68er Widerstände sowie 220er kaufen. Ein 
USB-Kabel benötige ich eh noch (ist im Moment vom Drucker geklaut), das 
kaufe ich dann in 1,5m. Das reicht dicke aus um noch bequem auf dem 
Schreibtisch arbeiten zu können.

Ich melde mich dann nochmal mit einer kleinen Rückmeldung.

Soweit schonmal danke und ein riesen Lob für die stetige Hilfe und 
Entwicklung deines Programmers.

Michel

von Michel (Gast)


Lesenswert?

So, ein größerer Elko brachte die Lösung. 33uF und die Verbindung ist 
sehr stabil, auch mit 3m USB Kabel.

Jetzt kanns daran gehen, ein Target zu flashen. :-)

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

An alle die das mit dem Terminalmodus hinbekommen haben:

Ich wollte die Firmwareversion ändern da ich immer die Fehlermeldung im 
AVR-Studio bekomme.

Wenn ich im Hyperterminal bin leuchtet die blaue LED
und immer wenn ich ein Zeichen eingebe geht diese LED kurz aus und 
wieder an.

Beim ersten Versuch habe ich die Zeichen, die ich eingegeben habe, in 
dem Terminal-Fenster sehen könne,
Beim zweiten mal sah ich nicht das "m" sondern ein anderes Zeichen.
Beim dritten Versuch ging das nicht mehr und ich hatte nur noch ein 
Feedback durch die blaue LED.

Wenn ich die Verbindung trenne geht die blaue LED auch wieder aus.

... gibt es da spezielle Einstellungen die ich machen muss ?

von Atmega8 A. (atmega8) Benutzerseite


Angehängte Dateien:

Lesenswert?

An den Kondensatoren kann es nicht liegen, 2 mal 47µF Elkos und 3 mal 
8µF Keramik.
Programmiert hab ich mit STK200 (Parallelport + LS244).

Hab mir aber ein eigenes Layout gemacht!
(sowas kleines muss ich mir unbedingt selbst machen)

Wenn ich den USBisp einstecke leuchtet kurz einmal die rote LED und dann 
gleich  dauerhaft die grüne LED.
Bei Verbindung leuchtet die blaue.
Ich habe nur K4 geschlossen, alle anderen Jumper sind geöffnet.

Zu meinem Bild:
Bei meinem USBisp ist die
original blaue LED -> orange
original grüne LED -> grün
original rote  LED -> rot

Habe einfach eine blaue 3mm LED und 1k Ohm zwischen + und -

von Christian U. (z0m3ie)


Lesenswert?

Ich habe Michaels Programmer gerade hier, der weist genau den selben 
fehler auf. Ich hab in meinen dreien hier und in seinem die selbe 
Software drin daran liegts definitiv nicht. Irgendwo ist da ein 
Bestückungsfehler oder ein haarriss in ner Leiterbahn möglicherweise 
tritt das öfter beim Ätzen auf oder ähnliches. Ich bin aber leider noch 
nicht richtig zum suchen gekommen nur mal 2h.

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

Es steht eine neue Firmware Version (31.08.2007) zur Verfügung.

von Tim (Gast)


Lesenswert?

Gibt es eigentlich ein cahngelog?

von Christian U. (z0m3ie)


Lesenswert?

Neu ist die eigentlich nicht jedenfalls gibt´s nur eine Fehlerkorrektur 
in der letzten Version hatte ich einen kleinen fehler gemacht und den 
Terminalmode durch ein falsches define nicht mit eincompilert. Das ist 
in dieser hier behoben.

Das Changelog ist in dr main.c des Quelltextes.

von Christian U. (z0m3ie)


Lesenswert?

Wer Interesse an "grünen" Leiterplatten hat kann mir ja mal ne mail 
schreiben muss mal schaun wie viele da zusammenkommen hab gemerkt das 
sich bei den selbstgeätzen oft Fehler einschleichen.

von Peter (Gast)


Lesenswert?

Hallo,

es funktioniert zwar alles bestens, aber manchmal nach längerer 
Betriebszeit kommt es zu einem Ausfall, wenn man mit Windows auf den COM 
Port zugreifen will bekommt man nur ein "Das angeschlossene Gerät 
funktioniert nicht richtig". Es hilft nur ein erneutes anschließen.

Das habe ich auch schon bei anderen obdev basierenden USB Lösungen 
gesehen, bin ich da der einzigste?

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

@  Peter
Geh mal zu:
Gerätemanager -> USB-Controller -> USB-Root-Hub
und mach mal das Häckchen bei Energieverwaltung "Computer kann Gerät 
ausschalten, um Energie zu sparen" weg. Vielleicht funktioniert es dann.

Christian hatte auch schon die Idee den Programmer einfach mit 3.3V zu 
betreiben.
Die Datenleitungen vom PC haben als High Level genau 3.3V und Low ist 
dann mindestens 200mV weniger als 3.3 Volt.

Ich bau mir jetzt noch einen und der wird 3,3 Volt Betriebs und 
Programmier-Spannung haben. Bei 12MHz brauch man auch nicht mehr als 
3.3V für den ATMega.

lg

von Christian U. (z0m3ie)


Lesenswert?

So nochmal offiziell, ich habgestern Platinen für den USB AVR-ISP mini 
bestellt (Schaltung, Layout gibts seit gestern auf meiner Seite 
(http://www.ullihome.de))

Selben Features wie beim USB AVR-ISP nur das man es so bestücken kann, 
das die Gesamte Spannungsversorgung bei ~3V ist damit sind dann also 
alle targets mit > 3V Spannungsversorgung flashbar.

Die Platine ist etwas kleiner geworden (22x23mm) wodurch die 
Leiterplattenkosten recht gut geschrumpft sind.

Gibt auch Standartgehäuse mit diesen Abmessungen allerdings ist bei der 
Platinengrösse kaum noch die Gefahr eines Kurzschlusses gegeben. 
Ausserdem kann ich gern auch nen passenden Zuschnitt mit eineitig 
klebendem Schaumstoff dazupacken den kann man drunterkleben und hat 
Ruhe.

Platinen gibts bei mir nach Antrag per Mail (christian@ullihome.de) für 
3 Eur incl Versand (Paypal oder Überweisung oder 2 Eur in nen 
Briefumschlag und mir schicken oder was auch immer).

Die Platinen sind Doppelseitig, durchkontaktiert, gebohrt mit 
Lötstopplack.

Wer will kann auch nen Bausatz haben für 10 Eur, meinetwegen auch bis 
auf eine Buchse aufgebaut für 15 Eur. Bauteilkosten sind bei Reichelt 
bei knapp 6 Eur.

von Christian U. (z0m3ie)


Lesenswert?

Bootloader samt Software gibts jetzt auch ich mach morgen mal noch n 
Linux compilat der Bootloader Software

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

@ mgbgt (Ich weiß nicht wie ich dir eine Nachricht schicken kann)

Zu dem Problem mit dem Terminal:
1.) wurde vom Christian behoben
2.) gibt es mittlerweile eine komfortable Lösung (schau mal auf seine 
Seite)

Zu 2.) Löst du indem du:
 - 1. den Bootloader auf dein AVR-USBisp packst (bei mir ist momentan 
avrisp_bootloader_m8_2007-09-22 drauf) und dann
 - 2. das avrisptool_0.4_i386-win32 installierst
 - 3. deinen Programmer an einen USB-Port steckst
 - 4. bei der folgenden Windows-Aufforderung den Treiber aus dem 
Verzeichnis "C:\Programme\USB AVR-ISP Tool\driver" auswählen
 - 5. bei der gleich darauf folgenden zweiten 
Boot-Treiber-Installations-Aufforderung wieder dieses Verzeichnis wählen

 - 6. USB AVR-ISP Tool starten (ich musste vorher die libusb0.dll und 
libusb0.sys von "C:\Programme\USB AVR-ISP Tool\driver\" nach 
"C:\Programme\USB AVR-ISP Tool\" verschieben)
 - 7. Du wählst deinen Com-Port an dem dein AVR-USBisp angeschlossen ist 
und dann auf "USB AVR-isp Boot Mode"
(Auf das Häuschen mit dem grünen Pfeil klicken)
 - 8. Nun klickst du auf die Firmware die du gerne drauf haben möchtest 
un klickst auf "Programm" (dauert etwas bis alles geschrieben wurde)
 - 9. Bei "Options" stellst du dein Protokoll (Softwre Version müsste 
stimmen) und die ISP-Geschwindigkeit ein und klickst auf "Write"
 - 10. Du gehst wieder zur Registerkarte "Programm" und klickst auf 
"Start Application"

... und bist Fertig

Kannst ja mal sagen wie es bei dir so gelaufen ist.

von Hubert G. (hubertg)


Lesenswert?

Danke für den Ablauf mit dem USBAVR-ISP Tool, jetzt funktioniert es bei 
mir klaglos, nur die blaue Led leuchtet nicht, sollte die da sein wenn 
der USB
Connect da ist?

Hubert

von Chris J. (Gast)


Lesenswert?

Die leuchtet wenn du dein USBisp mit deinem Target verbunden hast.

von Christian U. (z0m3ie)


Lesenswert?

Das stimmt nicht die Blaue LED leuchtet wenn du mit dem AVR Studio 
verbunden bist oder nem Terminal Programm. Die Grone oder Rote zeigen 
den Status des Targets an aber die LED Funktionen sind auf meiner Seite 
genau beschrieben.

von Hubert G. (hubertg)


Lesenswert?

Danke für die Info, da war ein feiner Zinnspritzer auf der Leiterbahn, 
hatte da Glück das das Port nicht gestorben ist.
Danke noch einmal für diesen "Super-Programmer", funktioniert ganz 
ausgezeichnet.
Hubert

von Hubert G. (hubertg)


Lesenswert?

Jetzt hat sich noch ein kleines Problem aufgetan. Das Terminalprogramm 
funktioniert nicht, die blaue Led leuchtet und blinkt dann bei jedem 
Tastendruck, sonst tut sich aber nichts.
Gibt es da einen Fehler den man machen kann, ist sonst nicht relevant da 
das Windows-Tool funktioniert.
Hubert

von Christian U. (z0m3ie)


Lesenswert?

Was erwartest du denn da ? Der Terminalmodus ist dem Bootloader 
gewichen.

von Hubert G. (hubertg)


Lesenswert?

Das war für mich nicht ersichtlich. Man sollte halt keine Fehler suchen 
wo keine sind.
Danke nochmal, der Programmer funktioniert bestens.
Hubert

von Hauke M. (mgbgt)


Lesenswert?

Hallo atmega8,
ich habe das Teil von Frederik nachgebaut auf Lochraster ohne 
Kupferauflage.
also das mit dem Terminalmodus hat sich nun erledigt, konnt ich ja nicht 
wissen.
Trotzdem funktioniert das flashen oder sonst etwas mit dem AVR nur ganz 
ganz sporadisch mal, eher überhaupt nicht. Der Bootmodus funktioniert 
einwandfrei, jedesmal. Die LEDs funktionieren wie beschrieben, aber s 
geht halt nicht mit dem brennen oder lesen oder sonst was (alles mit 
Studio bzw avrdude probiert). Ein Kollege hat ein identisches Teil 
aufgebaut, und das ging sofort an meinem PC!
Ich hab den AVR getauscht, ich hab die Schaltung komplett neu aufgebaut, 
ich die Widerstände in der ISP Leitung entfernt, ich habe einen 
Bustreiber (74HC365) dazugebaut: einmal gehts, dann nie wieder. 
Quarzfrequenz gemessen, stimmt mit dem anderen Teil überein. Jetzt 
tausch ich noch mal die Zenerdioden (hab 3,3 V drin, mein Kollege 3,6 V) 
und sonst ist es echt schade (ich pfrimel jetzt ne Woche dran rum) und 
ich geb auf. Ach ja, im Layout ist noch ein 16 Mhz Quarz drin. Auf der 
RS232 Seite kommt auch was raus (mit dem Oszi kontrolliert, sieht gut 
aus).

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

@  Hauke Michelsen (mgbgt)

Ich wollte dir eine Nachricht schicken, hab deinen Nickname auch überall 
gesucht aber irgendwie konnte ich dich nicht finden.
(Kann mir mal einer sagen wie ich auf einen Nachricht von jemanden 
antworten kann? Ich habs echt versucht.)

Schau dir mal das Layout/Schaltplan von meiner Seite an.
http://freenet-homepage.de/bootsplash/usbisp/index.html
(Ganz unten ist ein Link zu meinem erstes Board)

Ich hab da noch zusätzlich einen Spannungsregler drauf bebaut, den 
brauchst du aber nicht, halte dich genau an den Schaltplan von Christian 
Ulrich !

Ich hab momentan 2 von den Programmern, bald hab ich noch einen dritten.

Der erste ist selbst gelayoutet (Schaltplan 1:1 von Uli) und
der zweite ist das mini-Board welches du bei Uli bekommst, sieht gut aus 
und hab nur 3 euro dafür hingeben müssen. (so klein hätte ich es selbst 
nicht machen können)


> also das mit dem Terminalmodus hat sich nun erledigt, konnt ich ja nicht
> wissen.

Wenn du die Firmware-Version "avrisp_hex_m8_2007-08-31" nutzt kannst du 
das mit dem Terminal Modus machen, aber das Tool ist viel komfortabler.

> Ach ja, im Layout ist noch ein 16 Mhz Quarz drin. Auf der
> RS232 Seite kommt auch was raus

Du musst da unbedingt einen 12MHz Quarz benutzen, die 1.5Mbps stehen mit 
der Taktrate in einem 12/8 Verhältnis.

Ich hatte 2 Stück 3.3V SMD Zener-dioden, eine ist mir runtergefallen 
dann wars nur noch eine. Also hab ich für die andere eine 3.6V ZD 
genommen :-)
und es geht auch.

>> Was du am Anfang machen solltest, ist die ISP-Frequenz runter zu setzen wenn
>> du ein TargetBoard dran hast und dann schaust du einfach wie weit >> du die 
erhöhen kannst.
(Ich lese dazu das alte Programm von dem Target aus und schätze dann ab 
wie schnell das war.)

von Christian U. (z0m3ie)


Lesenswert?

Baut doch bitte die aktuelle version (AVRISP mini) bzw versorgt die 
ganze Schaltung mit 3,3v und lasst die Zehner Dioden weg. Damit ist die 
USB Verbindung um einiges stabiler. Weiterhin kann ich nur davon abraten 
USB nicht unbedingt mit nem DIL Layout machen zu wollen. Selbst mein 
Kollege der über 50 ist lötet täglich 0603 Bauteile und BGA´s. Der 
AVR-ISP ist echt noch Hobby Tauglich. Anleitungen zum SMD Löten gibts 
haufenweise im Netz. Wem das zu fummlig ist der kann auch nen 
aufgebauten Programmer bekommen jedoch ist das immer ne Frage der Zeit 
wann ich dazu komme welche zu machen n bissle Wartezeit muss man dann 
einplanen.

von paul (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Ich habe den programmer aufgebaut und mit der firmware STK500v2 Firmware 
im Intel Hex Format für ATmega8 Stand 31.08.2007 gefüttert. Das ganze 
habe ich mit ponyprog und stk200 gemacht. fuses auch so gesetzt wie auf 
der seite von ulli. beim einstecken wird er als avr isp oder so erkannt 
und treiber liesen sich installieren.. nun steht mit der com3 zur 
verfügung... so weit so gut.. wenn ich den programmer starte oder resete 
leuchtet die rote led kurz und dann die grüne dauerhaft... das ist doch 
schon mal inkorrekt oder? ich versorge den gesamten programmer extern 
also die spannung des usb ist nur durch ne led belastet um anzuzeigen 
das der usb stecker angesteckt ist... die versorgung des atmega 8 kommt 
von einem spannungsregler und nem netzteil. wenn ich den µc über 
hyperterminal ansprich blinkt die blaue led aber ich kann im menue nur 
stk500 sw ver auswählen... wenn ich dann enter drücke und die version 
eingebe die avrstudio will und wieder mit enter bestätige dann kommen 
eine weile nur mehr komische zeichen und wenn ich avr studio öffne steht 
da das die version die er findet 104df0.00 ist(siehe bild)...  und wenn 
ich dann die zielhardware programmieren, löschen, ect. will kommt die 
meldung im bild 2. aber die blaue led leuchtet im avrstudio bzw elischt 
kurz wenn ich nen befehl ausgebe. Naja und das usb avr-isp tool erkennt 
den com port doch wenn ich bestätige bleiben die fenster leer.. aber das 
tool bringt jo eh nur beim bootloader was oder?? was unterscheidet 
bootloader und firmware eigentlich?? die fueses müssen dabei anders 
eingestellt sein oder?? und ja.. usbview erkennt den programmer auch 
richtig... also an der usb verbindung happerts glaub ich nicht und 
hardware is auch des öfteren kontrolliert. Kann mir von euch jemand 
helfen?? vielen dank im vorraus für die hilfe oder auch jedes bemühen zu 
helfen!
mit freundlichen Grüssen
paul

von Christian U. (z0m3ie)


Lesenswert?

Hast du nen USB Hub dazwischen ? Wenn nicht hat dein Hostcontroller 
möglicherweise etwas Probleme mit der Software USB. 2,2V Version dürfte 
vieleicht besser laufen.

Die Bootloader Version ist halt mit Bootloader ;) Musst du also nicht 
mehr über Bitbangig flashen sobald der Bootloader drin ist.

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

@ paul
Ist das Vista oder XP mit einem anderen Style?

Wenn du das Tool benutzen möchtest musst du schon die Version mit 
Bootloader nehmen, ansonsten geht das mit dem automatischen beschreiben 
nicht.

Wenn du die ISP-Frequenz mal ganz runter setzt müsste das erste Fenster 
( 1/4 ISP-Freq.) weg sein.
Kannst ja dann probieren wie hoch du maximal kommst.

von paul (Gast)


Lesenswert?

Hallo
Danke für die Antworten. ich habe aber keinen hub dazwischen und ich 
glaub nicht das es an usb liegt da es sich ja so richtig verhält wenn 
ich in avr studio geh und erkann wird wenn ich ihn einstecke. Was ist 
2.2V version?? gibt es die möglichkeit die platine mit 2.2 volt zu 
versorgen oder wie? kann ich mir noch schwer vorstellen. Wenn ich den 
bootloader rauf programmier dann kann ich den programmer jedes mal wenn 
es eine neue firmware gibt ohne programmer direkt neu beschreiben oder 
wie? Ich benutze derzeit keinen bootloader sondern hab die firmware 
direkt reingeflasht. ich benutze xp sp 2 mit updates aber hab auch 
vista... macht aber glaub ich keinen unterschied was ich benutze... hab 
bis jetzt immer xp verwendet. Wie senke bzw stelle ich die isp freuqenz 
ein? das tool kann ich ja nicht verwenden und hyperterminal lässt mich 
nur ne version einstellen, was auch nicht wirklich funktioniert. Stell 
ich die im avr-studio ein?
mit freundlichen Grüssen
paul

von Christian U. (z0m3ie)


Lesenswert?

>Was ist
>2.2V version?? gibt es die möglichkeit die platine mit 2.2 volt zu
>versorgen oder wie?

2,2 war ein Schreibfehler 3,3V.
Da wird der Programmer mit 3,3V Versorgt dadurch sind die Z-Dioden in 
den USB Datenleitungen nicht mehr nötig und die USB Verbindung wird 
dadurch oft etwas stabiler. Sogar an Hubs hab ichs damit betreiben 
können.
Weiterhin kann man damit 3,3V und 5V Targets flashen und nicht nur 5V.

>Wenn ich den
>bootloader rauf programmier dann kann ich den programmer jedes mal wenn
>es eine neue firmware gibt ohne programmer direkt neu beschreiben oder
>wie?

Genau mittlerweile gibt es ja aber auch nicht mehr nur Programmer 
Firmwares. Gibt ja auch z.b. nene I2C Logger und nen Bitbanging Adapter 
und RS232/USB Wandler. Die kann man dann einfach im Tool auswählen und 
einspielen und dann ist der Programmer halt z.b. nen I2C Logger.

>ich benutze xp sp 2 mit updates aber hab auch
>vista... macht aber glaub ich keinen unterschied was ich benutze...

Doch macht es unter Vista geht die CDC Klasse (virtueller Comport) nicht 
mehr da musst du dann mit avrdude und der USBasp kompatiblen Firmware 
flashen.

>Wie senke bzw stelle ich die isp freuqenz
>ein? das tool kann ich ja nicht verwenden und hyperterminal lässt mich
>nur ne version einstellen, was auch nicht wirklich funktioniert. Stell
>ich die im avr-studio ein?

Ja auf der Seite "Board".

Gruß
Christian

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

@ paul (Gast)
> und hyperterminal lässt mich nur ne version einstellen,
> was auch nicht wirklich funktioniert.

Das funktioniert.
Mach es genau so wie es in der Hilfe steht.
- öffne ein Hyperterminal (nama, Baudrate so lassen, keine 
Flußsteuerung)
- gib nacheinander die Buchstaben "menue" ein (ohne ") und drück Enter
- in dem Menü wieder Enter drücken und mit Cursortasten hoch/runter die 
Versionsnummer (2.0a / 2.04) ändern
- jetzt noch Enter und wieder disconnecten

von paul (Gast)


Lesenswert?

Hallo
Habe jetzt den bootloader rauf getan... allerdings kann ich jetzt 
hyperterminal nicht mehr benutzen... die led springt noch an aber bei 
menue passiert nichts mehr... ist das normal?.. wird jo eigentlich eh 
nicht mehr gebraucht bei dem tool, aber würd mich halt interessieren.

leider funktioniert der bootloader denk ich mal noch nicht ganz so wie 
er sollte da ich den avr jetzt einmal programmieren kann(zb mit 
stk500v2_1.0) und ihn dann resete(start application) wird er als 
stk500v2 erkannt(avr-studio erkennt ihn), doch das tool erkennt den 
bootloader nicht mehr. Ist nicht normal oder? man sollte ihn ja öfter 
bespielen können??

najo ausserdem hab ich jetzt noch probleme mit dem einstellen der isp 
frequenz.. die kann ich ja im tool einstellen und im avr-studio unter 
board (danke ulrich).. mit was ich es mache bleibt sich ja egal oder? 
aber irrgendwie haben avr-studio und das tool ganz andere frequenzwerte 
zum einstellen.

aber das grösste problem ist das unter avr-studio noch immer steht er 
findet ne firmware version 104E300.00 und dannach immer die 
fehlermeldung: "could not contact programmer. check your connections / 
see the command output for more info." kommt und in der kommandozeile 
steht:

"detecting on 'com3'...
stk500 with v2 firmware found on com 3
getting revisions.. failed!"

hat das was mit der isp frequenz zu tun? aber die kann ich ja im tool 
nicht mehr ändern und unter board kommen die fehlermeldungen wie oben.

@ Atmega8 Atmega8:
genau so hatte ich es gemacht wenn ich aber am schluss enter drückte kam 
ein vollkommen blaucher hintergrund wo eine undefinierbare zeichenfolge 
für 4 sekunden herunter ratterte und dann stopte. avr-studio erkannte 
die version trotzdem nicht.

werd jetzt mal auf 3.3volt umrüsten und mich dann wieder melden..  mal 
schauen ob das was bringt.

mit freundlichen grüssen
paul

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

>... wo eine undefinierbare zeichenfolge
> für 4 sekunden herunter ratterte und dann stopte ...

Das läuft bei mir. (bei der Version ohne Bootloader)

Bei der Version:
"avrisp_bootloader_m8" musst du das USB-isp-Tool verwenden.
- Firmware hoch spielen
- anpassen (ISP-Takt, Version, ... )

und bei:
"avrisp_hex_m8" musst du den Terminal-modus verwenden um das alles zu 
erledigen

Am besten:
Schreib den Bootloader einfach noch mal auf den AVR-USBisp, installiere 
die Firmware mit dem AVR-USB-isp-Tool und nutz den Terminal-modus nicht!

Alles was veränderbar ist lässt sich mit dem Tool verändern.

von Christian U. (z0m3ie)


Lesenswert?

>Habe jetzt den bootloader rauf getan... allerdings kann ich jetzt
>hyperterminal nicht mehr benutzen... die led springt noch an aber bei
>menue passiert nichts mehr... ist das normal?.. wird jo eigentlich eh
>nicht mehr gebraucht bei dem tool, aber würd mich halt interessieren.

Richtig erkannt, und da der Bootloader auch etwas platz braucht ist dort 
das menue rausgeflogen.

>leider funktioniert der bootloader denk ich mal noch nicht ganz so wie
>er sollte da ich den avr jetzt einmal programmieren kann(zb mit
>stk500v2_1.0) und ihn dann resete(start application) wird er als
>stk500v2 erkannt(avr-studio erkennt ihn), doch das tool erkennt den
>bootloader nicht mehr. Ist nicht normal oder? man sollte ihn ja öfter
>bespielen können??

Ja, kannst du auch dazu gibts den 2. Knopf oben im Tool. da kannst den 
Com port auswählen den deine STK500 Firmware nun hat und dann auf ok, 
danach ist er weider im Boot modus.

>najo ausserdem hab ich jetzt noch probleme mit dem einstellen der isp
>frequenz.. die kann ich ja im tool einstellen und im avr-studio unter
>board (danke ulrich).. mit was ich es mache bleibt sich ja egal oder?

Das sollte egal sein.

>aber irrgendwie haben avr-studio und das tool ganz andere frequenzwerte
>zum einstellen.

Im Tool sind die richtigen, im AVR Studio sind so krumme Werte 
eingetragen weil das STK500 einen 7,~ Quarz drauf hat der Programmer 
kann aber nur mit 12 Mhz Arbeiten deshalb stimmen die Werte nicht 
überein in der Hilfe gibts auch ne Übersetzungstabelle dazu. Da solltest 
du mal reinschaun ;)

von paul (Gast)


Angehängte Dateien:

Lesenswert?

Hallo
Habe jetzt die 3.3volt version aufgebaut... alles mit 3 volt versorgt 
ausser die eine usb datenleitung hengt über nen widerstand auf 5volt.

Doch im tool kann ich mit dem 2ten knopf den port wählen doch ich bekomm 
keinen bootloader mehr.

und wenn ich avr-studio starte kommt das oben angezeigte fenster(links 
oben)
wenn ich dann unter board gehe kommt das oben angezeigte fenster(mitte 
oben)

so weit noch keine fehlermeldung auch nicht wenn ich in "auto" und 
"advanced" gehe, doch sobald ich "fuses" oder "lockbites" öffne kommt 
die fehlermeldung (rechts oben)

(links unten) das fenster von fuses... das fragezeichen sieht 
interessant aus
(mitte unten) das fenster von lockbites

und nebenbei geht das blaue licht aus

wenn ich avr neu starte und wenn led noch leuchtet versuche zu 
programmieren zu löschen ectra kommt auch die fehlermeldung (rechts 
oben) und die led geht aus und die drei zeilen wie in der kommandozeile 
(mitte unten).

Ich bin ratlos.. weiss wer was ich falsch mache oder was ich versuchen 
könnte?

mfg
pauli

von Christian U. (z0m3ie)


Lesenswert?

Ich bin auch langsam ratlos ...

Entweder du hast den Reset Jumper gesteckt und der Programmer resettet 
sich beim versuch in den Programmiermodus zu kommen selbst, oder du hast 
was falsch aufgebaut.

von paul (Gast)


Lesenswert?

Hallo
Ja stimmt danke ich hatte vergessen den kontakt bei reset zu 
unterbrechen... aber die fehlermeldungen im avr-studio sind die selben.

http://www.ullihome.de/index.php/Bild:Pony_fuse.jpg

sind das die richtig gesetzten fuse bits für den bootloader?

hmmm schaltung des öfteren kontrolliert
mfg
paul

von Christian U. (z0m3ie)


Lesenswert?

Nein, die sind ohne Bootloader nimm doch bitte einfach avrdude und exakt 
meine Kommandozeilen. Dann weisst du das es stimmt und ich trau Ponyprog 
nicht wirklich.

In der Hilfe -> Programmierung -> Bootloader steht alles ganz genau. Die 
Fuses die du gesetzt hast stehen unter Firmware ohne Bootloader

von paul (Gast)


Angehängte Dateien:

Lesenswert?

Hallo
mit avrdude kenn ich mich noch nicht aus... gibt es da eine grafische 
oberfläche oder läuft das über dos? hab die befehle im dos eingegeben... 
das programm konnte ich nicht flashen... da fand er das bootloader.hex 
file nicht obwohl ich das file unter C:\winavr\bin\ kopiert habe... doch 
die fusebits konnte ich glaub ich schon setzen... (der programmer tat 
was)
..hab das programm danach mit ponyprog übertragen und die fehler kommen 
immer noch

najo ich hab jetzt die schaltung neu geroutet mit der 3v3 version und 
hab da einige fragen dazu

#)hat die schalzung oben irrgendwelche fehler in der schematic oder gibt 
es irrgendwelche anregungen/verbesserungsvorschläge zum board?
#)die 3v3 version dient ja dazu die verbindung über usb stabiler zu 
gestalten oder? die datenleitungen des usb haben 3 volt pegel oder? was 
brachte bei der 5v version dann eigentlich die dioden? wenn der atmega 
auf 3v3 läuft haben die ausgangssignale auch nur 3v3 pegel oder? kann 
ich mit 3v3 dann die zielhardware programmieren die auf 5volt läuft? 
müsste es ja oder denn wenn ich die zielhardware nicht mit dem 
programmer versorge hat diese meistens 5volt. laut ullis schaltplan kann 
die zielhardware über eine jumper mit 3v3 des programmers versorgt 
werden... wären nicht 5 volt besser?? dann kann ich das programm auf der 
zielhardware auch gleich testen?
#)was bringen die widerstände an der 10poligen isp schnittstelle???
#)was bringt die USIG1 leitung??
#) wo finde ich im eagle die pfeile bei leitungsunterbrechungen in denen 
man den namen der leitung einträgt?
#)kann man eigentlich irrgendwo den programmcode downloaden und 
umändern? die lösung mit den 3 leds gefällt mir nicht so gut?
#)wieso gibt es den programmer nirgends zum kaufen?

mfg
Paul

von Christian U. (z0m3ie)


Lesenswert?

>mit avrdude kenn ich mich noch nicht aus... gibt es da eine grafische
>oberfläche oder läuft das über dos? hab die befehle im dos eingegeben...

verbring mal 5 min mit google und du kannst die die Fragen alle selbst 
beantworten sorry.

>das programm konnte ich nicht flashen... da fand er das bootloader.hex
>file nicht obwohl ich das file unter C:\winavr\bin\ kopiert habe... doch
>die fusebits konnte ich glaub ich schon setzen... (der programmer tat
>was)

avrdude findet das file schon da wo du es ihm sagst in meiner 
Kommandoziele gehe ich davon aus das du das hexfile da hast von wo du 
avrdude startest also dem aktuellen verzeichnis.

>..hab das programm danach mit ponyprog übertragen und die fehler kommen
>immer noch

Welche fehler denn konkret ? aus deinen  Screenshots kann man nicht 
wirklich viel erkennen dort sieht man z.b. das dein target 6,4 V hat, 
laufen normale AVR´s bei dieser Spannung überhaupt noch ?

>#)hat die schalzung oben irrgendwelche fehler in der schematic oder gibt
>es irrgendwelche anregungen/verbesserungsvorschläge zum board?

Was ist daran anders als an meinem Routong ? Ausser das deine grösser 
ist ?

>#)die 3v3 version dient ja dazu die verbindung über usb stabiler zu
>gestalten oder?

nein die dient in erster linie dazu auch 3,3V targets flashen zu können.

>die datenleitungen des usb haben 3 volt pegel oder? was
>brachte bei der 5v version dann eigentlich die dioden?

wenn mal kurz darüber nachdenkt wird klar das die Datenpegel wenn de 
rVAR mit 5V betrieben wird logischerweise auch 5V haben. Deshalb die 
Z-Dioden.

>wenn der atmega
>auf 3v3 läuft haben die ausgangssignale auch nur 3v3 pegel oder? kann
>ich mit 3v3 dann die zielhardware programmieren die auf 5volt läuft?

ja

>laut ullis schaltplan kann
>die zielhardware über eine jumper mit 3v3 des programmers versorgt
>werden... wären nicht 5 volt besser?? dann kann ich das programm auf der
>zielhardware auch gleich testen?

Normalerweise sollte man die Zeilhardware nicht aus dem programer 
versorgen. Das ist nur falls es wirklich mal jemand brauch.

>was bringen die widerstände an der 10poligen isp schnittstelle???

Sicherheit.

>was bringt die USIG1 leitung??

Was ist ein USGI1 ?

>kann man eigentlich irrgendwo den programmcode downloaden und
>umändern?

Schau doch mal unter Download.

>die lösung mit den 3 leds gefällt mir nicht so gut?

Aha

>wieso gibt es den programmer nirgends zum kaufen?

Wer sagt das ?

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

> wieso gibt es den programmer nirgends zum kaufen?
Gibt es doch, sogar zum Selbstkostenpreis (steht auf Uli's Seite ... n 
bissl versteckt) wenn du ihn mal fragst schickt er dir ein mini-Board, 
dann sparst du dir das ätzen usw. hab ich auch gemacht.

Mich würde mal interessieren wie viele 
MikroController-Fans/Freaks/Interessierte es in deutschland gibt.
So viele können es ja nicht sein, denn ich finde in meinem Umfeld echt 
niemanden der sich dafür interessiert.
Wenn man so alleine ist ... ist ätzend ... und deshalb bin ich ja hier 
im µC-Forum.

> was bringen die widerstände an der 10poligen isp schnittstelle?
Das dient der Sicherheit (damit deine Port-Pin's heile bleiben)

> da fand er das bootloader.hex file nicht obwohl ich
> das file unter C:\winavr\bin\ kopiert habe
Gib doch einfach den kompletten Pfad an.
Wenn du mit avrdude arbeitest musst du ein paar Parameter angeben.
Kannst auch die "avrdude-gui_v0.2.0" nutzen.
Ich hab es auch mit Ponyprog gemacht :-)

> kann man eigentlich irrgendwo den programmcode downloaden
> und umändern?
Schau dich mal gründlich auf den 3 HTML-Seiten um, von oben bis unten 
durchlesen.

> die datenleitungen des usb haben 3 volt pegel oder?
Ja, haben sie und es ist besser mit dem PC auf dem gleichen Niveau zu 
sprechen. Die 5V Version funktioniert aber klaglos, kann nicht meckern.

> wo finde ich im eagle die pfeile bei leitungsunterbrechungen
> in denen man den namen der leitung einträgt?
Glaub bei Supply_1
Kannst der Leitung einfach einen Namen geben (bei Bearbeiten -> "Name" 
oder das Symbol in der Leiste) und sie zu einem "Netz" zuordnen.

>was bringt die USIG1 leitung??
Was meinst du damit?

> hat die schalzung oben irrgendwelche fehler in der schematic
> oder gibt es irrgendwelche anregungen/verbesserungsvorschläge zum board?
Unter deinem Atmega8 hast du Leitungen durch gelegt, das ist nicht 
schlimm, aber du musst unter ihm auch durchkontaktieren.
Das würde ich nicht hinbekommen!

Ich mach immer einen Layer Vdd und einen Layer GND, das dient quasi als 
Kondensator und macht mir das layouten leichter.

von paul (Gast)


Lesenswert?

Hallo
Ich hatte im google gesucht und das mit der avrdude-gui.exe gelesen... 
doch bei der 2007 version von winavr haben sie diese weggelassen ... 
gibt es bei 2005 aber schon... najo stand da nicht dabei... aber bin eh 
schnell selbst drauf gekommen

Den programmcode und das verkaufsangebot hab ich jetzt auch gefunden... 
musste nur die augen aufmachen^^

Wieso die widerstände bei der 10poligen isp schnittstelle dann 
unterschiedliche werte haben 100r 220r und 1k ist mir unklar..

Die USIG1 leitung ist geht von port PD7 zu port 3 der 10poligen isp(nur 
3v3 version). Was bringt die? am port 3 ist bei manchen programmern 
einfach ne led zur programmieranzeige. Ist das hier die selbe funktion?
http://update.ullihome.de/AVRISP_mini_shematic_2007-09-18.pdf

und ich fand noch die textzeile:
ATMEGA8-16AI (5V) oder ATMEGA88-20 (3,3V)
kann ich die 3v3 nur mit dem 88er betreiben? ich hab sie mit dem 8er 
aufgebaut... könnte das der fehlergrund sein? aber leds leuchten 
trotzdem und erkennt wird er ja auch...

was ist eigentlich der unterschied zwischen atmega 8, 88 und 168?
ich hab schon etwas gegooglt.. doch zwischen 8 und 88 ist mir als 
einziges aufgefallen das man den 88 statt bis 16 bis 20mhz betreiben 
kann...

gibt es da ne goote seite wo alle gängigen avr typen im vergleich sind?

meine groutete platine sollte nicht besser sein als deine ulli... ich 
weis das sie grösser ist... doch ich bsitze bauteile nicht di du bei 
deinem layout verwendest und di müsste ich extra bestellen... und ich 
benutze lieber dip schalter als pinheads... ausserdem rout ich gerne und 
will üben... deshalb hab ich die schaltung selbst entworfen... das sie 
grösser ist ist dabei jo egal da si nicht in serie geht sondern nur ein 
prototype ist..

wollte nur wissen ob jemand in der schematik nen fehler findet..

@atmega8
die platine soll eh professionell gefertigt werden.. da werden die 
durchkontaktierungen genietet.. dürfte kein problem sein..

najo so viel MikroController-Fans/Freaks/Interessierte gibt es sicher 
nicht wenn man so die verkaufzahlen von programmern im ebay anschaut und 
dann dazurechnet manche basteln vielleicht selber einen würde ich 
vielleicht auf ein paar tausend tippen...

wie meinst du das mit den layern? du legst zb am top layer ne 
massefläche an und auf dem bottom layer ne vccfläche? wo hast du das 
her? gibt es begründungen für diesen aufbau? ich hab in der schule 
gelernt 2 (überall) masseflächen zu erstellen da diese die staltung 
weniger störanfälliger machen... privat mache ich jetzt immer nur eine 
so bleibt es beim routen übersichtlicher und lässt mir meistens(hier 
nicht) die möglichkeit offen die schaltung einseitig zu ätzen und 
brücken zu verwenden

mfg
paul

von Christian U. (z0m3ie)


Lesenswert?

>Wieso die widerstände bei der 10poligen isp schnittstelle dann
>unterschiedliche werte haben 100r 220r und 1k ist mir unklar..

Weil einige Ein und einige Ausgänge sind.

>Die USIG1 leitung ist geht von port PD7 zu port 3 der 10poligen isp(nur
>3v3 version). Was bringt die? am port 3 ist bei manchen programmern
>einfach ne led zur programmieranzeige. Ist das hier die selbe funktion?
>http://update.ullihome.de/AVRISP_mini_shematic_200...

Nein, die ist nur für Erweiterungen gedacht man kann auf die 10-Polige 
Schnittstelle ja auch erweiterungen aufstecken udn da wollt ich keine 
Pins ungenutzt lassen.

>und ich fand noch die textzeile:
>ATMEGA8-16AI (5V) oder ATMEGA88-20 (3,3V)
>kann ich die 3v3 nur mit dem 88er betreiben?

88 oder 8L

>ich hab sie mit dem 8er
>aufgebaut... könnte das der fehlergrund sein? aber leds leuchten
>was ist eigentlich der unterschied zwischen atmega 8, 88 und 168?

Der 8 kann lauf Datenblatt nicht mit 3,3V betrieben werden so wie du ihn 
betriebst wird seine Funktion nicht garantiert und das kann durchaus 
auch die Ursache für den Fehler welchen auch immer weil das verrätst du 
ja nicht sein.

>gibt es da ne goote seite wo alle gängigen avr typen im vergleich sind?

Glaub bei avrfreaks oder roboternetz gabs mal sowas ob das aber aktuell 
ist weiss ich nicht ansonsten schau mal beim Hersteller und lies 
Datenblätter.

von EubaFieldRacer (Gast)


Lesenswert?

Hallo liebe Microcontroller-Freaks,

ich habe mir auch diesen Programmer gebaut und dann noch eine kleine 
Entwicklungsplatine mit ein paar LEDs, Tastern usw. um mich etwas mit 
der Materie beschäftigen zu können...

Der Programmer funktioniert, die USB-Verbindung ist weitestgehend stabil 
und die Kommunikation mit AVR-Studio klappt auch (Spannung auslesen 
etc.). Möchte ich jedoch den Controller auf der Entwicklungsplatine 
auslesen oder programmieren, so schlägt der Versuch des Programmers in 
den Programmiermodus zu gelangen fehl und der Programmer hängt sich auf.
Nun habe ich auf der Entwicklungsplatine einen Resettaster um den 
Controller auch manuell reseten zu können. Ich habe einfach mal probiert 
den Controller kurz vor dem Programmiervorgang manuell zu resten (und 
reset gedrückt halten) und siehe da der Programmer kommt in den 
Programmiermodus und kann den Controller auslesen sowie beschreiben. 
(passieren kann ja nix, zwischen Programmer und Controller ist ja noch 
der 220 Ohm Schutzwiderstand). Zuerst hab ich gedacht das es vielleicht 
an den Pegeln liegt - das ist allerdings nicht der Fall. Der Restetpegel 
am Controller ist was um die 140mV, wenn der Programmer diesen auf Masse 
zieht.
Jetzt nehme ich an, dass das Reset nicht zeitig genug ausgelöst wird, 
bevor die Kommunikation mit dem Controller aufgenommen wird...
Der Controller der programmiert werden soll läuft mit einem 12MHz Quarz 
im sicheren Modus (slow rising power).

Hat da vielleicht jemand eine Idee oder schon ähnliche Erfahrungen?

Vielen Dank schon mal im Voraus.
EubaFieldRacer

von Mike J. (Gast)


Lesenswert?

Hast du eine Verbindung von Reset_out (PB2) Programmer zum 
Target-Restet-Pin?
Mal den Widerstand zwischen den beiden Punkten messen, dürften nicht 
viel mehr als 100 Ohm sein.

von EubaFieldRacer (Gast)


Lesenswert?

Ja die Verbindung besteht, es sind 212 Ohm, ich habe als 
Schutzwiderstand einen 220 Ohm drin. Hab auch schon einen 100 Ohm 
probiert...

Das Reset durch den Programmer funktioniert ja prinzipiell auch -> Auf 
dem Controller auf dem Testboard ist ja schon ein Programm drauf. Wenn 
der Programmer jetzt in den Programmiermodus wechselt, wird der 
Controller auf dem Testboard resetet, sprich das Programm was da läuft 
stoppt (LEDs gehen aus usw.) nur kommt im AVR-Studio dann der Fehler das 
er nicht in den Programmiermodus wechseln kann. Resete ich den 
Controller auf der Testplatine "per Hand" kurz zuvor ich was in den 
Controller schreiben will geht es komischerweise. Daraus kann ich 
eigentlich nur Schlussfolgern das es dort ein Zeitproblem gibt?!
Vielleicht reicht ja schon eine schlechte Flanke, die durch parasitäre 
Kapazitäten zu stande kommt - aber so lang sind die Kabel nun eigentlich 
auch nicht.

MfG
EubaFieldRacer

von Christian U. (z0m3ie)


Lesenswert?

Probier mal die Firmware ohne Debugschnittstelle und ich denke mit Reset 
zu spät ausgeführt oder ähnlichem bist du auf dem Holzweg. Die Timings 
innerhlab der ISP Verbindung funktioniern sonst würd das nicht bei so 
vielen leuten funktioniern. Wenn das nicht hilft, setz mal die ISP 
Frequenz runter.

von Wlad (Gast)


Lesenswert?

Ich habe das gleiche Problem mit dem Reset, und die Lösung mit dem 
taster hilft. hab alles mögliches ausprobiert (firmware / frequenzen). 
werde noch versuchen die Firmware selbst anzupassen, mal schauen ob es 
klappt.

von EubaFieldRacer (Gast)


Lesenswert?

danke erstmal für die Hilfe,

schön das ich nicht ganz der Einzige bin mit dem Problem g

ich habe gestern noch bis Mitternacht verschiedenste Dinge ausprobiert:

- ich habe so ziemlich alle ISP-Freq. durch
- ich habe den zu programmierenden Controller mal mit dem internen 
Oscillator und langsamen Takt gefahren
- ich habe den Programmer von der USB-Spannung entkoppelt und extern mit 
Spannung versorgt, sodass der zu programmierende Controller und der 
Programmer exakt die gleiche Spannungversorgung haben
- als Firmeware hab ich eigntlich nur die ohne Debug-Schnittstelle 
verwendet - vielleicht sollte ich mal die andere probieren...

und jedes mal das gleiche Verhalten.

ich weis nicht ob es vielleicht damit zusammenhängt das ich den 
Programmer in "DIP-Bauweise" aufgebaut habe. Das kritische daran dürfte 
aber nur die Kommunikation über den USB sein - und diese Signalleitungen 
sind so kurz wie möglich gehalten. Die USB-Kommunikation funktioniert ja 
auch.
An dem im Programmer verwendeten Controller ATmega8-16PU dürfte es doch 
eigentlich nicht liegen oder?

MfG
EubaFieldRacer

von Hauke M. (mgbgt)


Lesenswert?

Hallo zusammen,
ich habe an diesem Problem auch lange gefummelt, es geht nicht!!!, ich 
hab das Gefühl das es Inkompatibilitäten mit der Steuersoftware sind.
In den letzten Wochen hab ich 4 Brenner gebaut die funktionieren:
AVR910 (Leidinger), USBisp (Weißer), USPProg (Sauter), AVR-Doper 
(obdev). Alle als Dip-Version auf Lochraster ohne CU-Auflage, der 
AVR-Doper macht auch den USB per Software und funzt in beiden Versionen 
einwandfrei. Alle Versionen nach Art USB AVR ISP wie uspasp o.ä. 
funktionieren leider nicht oder nur sporadisch (3 Versionen gebaut). Die 
Entwickler bei obdev haben dafür den HID Modus, aber deren Brener geht 
bei mir einwandfrei in beiden modi. Wer mal googelt findet sogar 
Schaltungen auf dem Steckbrett die an USB funktionieren und HF mässig 
ist meine Verdrahtung besser wie ne Platine, daran kann es imho 
definitiv nicht liegen.
mfg
mgbgt

von Christian U. (z0m3ie)


Lesenswert?

Ich weiss nich was ihr da macht, aber es gibt mittlerweile über 40 leute 
von denen ich weiss das der Programmer ohne Stress läuft. Die Dil 
Variante ist uralt und von mir nie getestet worden. Die aktuelle 
Variante ist dr AVR-ISP mini. Wenn man den allerdings in Dil aufbaut 
gibts da keine Probleme.
Am Ablauf der Programmierung kanns meiner Meinung nach nicht liegen.
Was genau für varianten habt ihr genaut, und wie habt ihr sie gebaut und 
mit was für Firmware betreibt ihr sie ?
Ich hab auch kein Problem damit Fehlersuche mit den einzelnen per mail 
zu betrieben oder mir mal nen Programmer schicken zu lassen.

@Hauke die USBasp hardware ist bis auf ein paar Schutzmaßnahmen und 
Erweiterungen kompatibel zu meiner Firmware, du kannst also die 
Firmwares austauschen um den Fehler einzugrenzen.

von EubaFieldRacer (Gast)


Lesenswert?

...also mal die Firmware mit dem w.o.Debug auszuprobieren war gar nicht 
so ne blöde Idee - mit der geht es nämlich plötzlich!

zu meiner Variante: ich habe den Schaltplan des USB-AVR-ISP genutzt (den 
es auf Deiner Seite als PDF gibt), das ganze halt nur mit einem 
ATmega8-16PU und auf einer Streifenrasterplatine, das einzige was ich 
verändert habe ist ein größerer Kondensator 47micro statt 4,7 und 
kleinere Widerstände vor den LEDs damit sie etwas heller sind... vorher 
hatte ich das avrisp-tool 0.4, vorgestern habe ich die 0.5 installiert 
aber auch nur die stk500 firmeware ohne dieses debug Dingens 
verwendet...

von Christian U. (z0m3ie)


Lesenswert?

>...also mal die Firmware mit dem w.o.Debug auszuprobieren war gar nicht
>so ne blöde Idee

Naja ich sollte schon etwas wissen wovon ich rede bei dem Teil oder ?

In der 0.4 gibts gar keine Firmware, wo die Debug Schnittstelle nicht 
drin ist. Ich hab erst in der 0.5 Firmware ohne Debug Schnittstelle 
eingefügt.

Problem ist schlicht und ergreifend das wenn man die Debug Schnittstelle 
nicht anschliesst die Pegel auf dem RxD Pin undefiniert ist und damit 
alles durcheinanderbringt weil quasi ständig Daten über die Debug 
Schnittstelle empfängt.

von EubaFieldRacer (Gast)


Lesenswert?

ach so - normalerweise ist die Debug Schnittstelle drin und das 
w.o.Debug bedeutet, dass sie nicht drin ist... alles klar - da hab ich 
das falsch verstanden...

auf jedenfall geht das ganze so wunderbar - feine sache!

von Martin (Gast)


Lesenswert?

Hallo,
bin Anfägener in der Welt der Microkontroller habe mich ein Pollin Board 
gekauft + AVR Studio + PonyPro200 über Seriell -->> Soweit alles OK Paar 
Lämpchen brenen schon!!
so hier meine Frage:

hat jemand vielleicht Ahnung ob man "USB AVR PROG" oder auch "USB Atmel 
ISP Programmer" (viele Namen und ich kapiere langsam nicht mehr) von 
Ulrich Radig
( http://www.ulrichradig.de/home/index.php/avr/usb-avr-prog )mit AVR 
Studio funktioniert??

wenn ja wie?

oder muß ich immer über PonyProg programieren??

vilen Dank für die hilfe

Gruß
Martin

von Mike J. (Gast)


Lesenswert?

Wie das geht?

Na du lötest dir so ein Teil zusammen, steckst es in den USB-Port, 
installierst den USB-Treiber (ist auf Christian Ulrich's oder Ulrich 
Radig's Homepage) und kannst dann über das ISP-Kabel die Daten auf den 
zu programmierenden µC schreiben.

Schreiben kannst du dann direkt aus AVR-Studio raus.

Hättest du dir auch auf den Seiten durchlesen können ;-)

von Martin (Gast)


Lesenswert?

Hallo Mike,

danke für deine schnelle Antwort!

gelesen habe ich schon, nun bin nicht sicher (und deswegen war die Frage 
), ob man es dann nur mit AVR Studio "OHNE WAS ANDERES" betreiben kann, 
besser gesagt:

welche treiber oder so muß ich dann in AVRStudio wählen damit es 
funktioniert?
Normalerweise über Seriell ISP ist mit AVRStudio unter Tools --> AVR 
Prog... click und dann kommt die Fenster wo man das .hex Datei wählen 
und senden kann.

Gruß

von Uwe (Gast)


Lesenswert?

@ Mike J.
Nö, der Radig-Programmer ist der ASBASP und der funktioniert nicht aus'm 
AVR-Studio raus.
Kannst Du Dir auf der Seite durchlesen;-)

Gruß
Uwe

von Mike J. (Gast)


Lesenswert?

Ja, mit den USBasp geht das halt mit avrdude ...

Das wichtigst ist doch der USB-Anschluss, ob du die Datei direkt aus 
AVR-Studio oder über avrdude in den µC bringst ist ja nicht so wichtig.

@ Martin
Wenn du den USBisp vom Christian Ulrich nimmst hast du das Problem dass 
er unter Vista/Linux nicht funktioniert. (ich nutze XP)
Ich weiß nicht ob das doch irgendwie unter Vista/Linux laufen würde.

von Christian U. (z0m3ie)


Lesenswert?

Alo werft bitte nicht Ulrich radig und Christian Ulrich durcheinander. 
Das sind 2 verschiedene ISP´s.

Der von Ulrich Radig ist ein USBasp Nachbau.

Meiner ist eine Plattform mit der man nicht nur flashen kann. I2C Logger 
udn Bitbanging Adapter sidn die Möglichkeiten die man im Moment hat. 
beim Flashen kann er unter Windows XP wie ein AVRISP von Atmel genutzt 
werden. Oder wie ein AVR910 kompatibler Programmer. Mit avrdude ist er 
auf allen Plattformen kompatibel.

@Mike du musst halt nur die USBasp kompatible Firmware nehmen (Die 
Debugschnittstelle ist da auch drin bietet also noch etwas mehr 
Funktionalität als die original USBasp firmware). Und dann kannst mit 
avrdude auf Linux, MacOS oder Vista flashen.

Die Firmwares sind sobald der Bootloader drauf ist einfach über ein 
kleines Programm mit 2 Klicks austauschbar.

von Mike J. (Gast)


Lesenswert?

:-)

von Martin (Gast)


Lesenswert?

ach soooo.

jetzt ist mir zu mindenstens das klar! 2 verschiedene Ulich's 2 
verschiedene Sachen.
ob wohl ich nicht viel Ahnung habe, sieht das Project von "Christian 
Ulrich" gut aus, habe immer wieder hier gelesen und auf der Seite vin 
Ulrich Radig nachgeguckt und hate 2 verschiedene Sachen in Kopf deswegen 
meine idee mir das selber bauen, ABER mit SMD löten da habe leider die 
fähigkeit noch nicht! kommt vielleicht irgendwann und bevor ich so ein 
schönes Teil kaput löte lase ich mir von euch die Experten machen :-) so 
bin ich für ein Anfag auf der sichere Seite oder?

so Christian Ulrich, wie kann ich es bei dir ein fertiges teil 
bestellen? steht weder hier noch auf deine Homepage eine e-mail Adresse 
bzw. habe ich nichts gesehen.

für ein Anfänger wie ich welche Variante ist besser? normale oder mini? 
was meins du? was meinen die andere Experte?

ich habe mit AVR-Studio angefangen bzw. mit AVR-Tutorial deswegen war 
mir wichtig das USB AVR ISP damit funktioniert, BASCON & co kenne ich 
nicht bzw. AVRDude mit komandoseile ist für Anfänger vielleicht zu 
kompliziert oder?

besten Dank

Martin

von Christian U. (z0m3ie)


Lesenswert?

Unten auf meiner Seite steht überall meine e-Mail.
Und hier kannst du mir eine PM senden, die kommt auch an.
Schick mir einfach deine Adresse ich denke ich würds sogar heut noch 
schaffen einen rauszuschicken.
Ich baue nur noch minis, die haben gegenüber der "alten" Schaltung nur 
den Nachteil das die Targetversorgung keine Überstromsicherung hat. Aber 
es ist eh besser das Target nicht aus dem Programmer versorgen zu lassen 
zumal der Mini hier auch nur 2,8V liefert.
Der riesen Vorteil gegenüber der "alten" Schaltung ist das man auch 
AVR´s mit einer Betriebspannung ab 2,8V flashen kann. Also hauptsächlich 
3,3V Targets was mit den anderen Programmern durch die reihe weg nicht 
möglich ist.

Wenn du selbst baun willst kannst die Schaltung aber auch problemlos auf 
Lochraster aufbauen. Eine DIL Platine dafür existiert leider (noch) 
nicht.

von Benedikt Lippert (Gast)


Lesenswert?

Hallo,
nach durchlesen diesen ellenlangen threads tränen mir die augen*g*

Ich habe trotzdem noch offene Fragen
(ich habe die Antworten vielleicht auch überlesen, wenn ja dann verzeiht 
mir)

1. Ist der Programmieradapter auch für BASCOM geeignet?
Wenn ja, mit welcher Einstellung?
Welche Firmware müsste ich nehmen(AVR910 oder STK500v2)

2. Worin liegt der Unterschied der beiden Firmwareversionen?

3.Kann man den Controller auf dem Board auch ohne Bootloader direkt 
flashen?(Ich habe hier noch meinen "alten" parallel Adapter mit 74xx244)

Dazu müsste ich dann die Firmware einfach über den ISP-Stecker(später 
zur Verbindung mit Zielhardware)in den µC laden?

Die Nachteile dadurch sind, wenn ich richtig liege, nur die das man zum 
ändern der Firmware jedesmal den "alten"Progger hervorkramen müsste.

4.Wenn ich den Bootloader einmal im µC habe kann ich dann über das 
USB-AVR-ISP Tool die Firmware einfach erneuern.


mfg Benedikt Lippert

PS: Ich hoffe ich habe nicht die selben Fragen das x.mal gestellt

von Christian U. (z0m3ie)


Lesenswert?

1. Ja, musst STK500 einstellen und die STK500.exe aus dem AVR-Studio 
auswählen welches du kostenlos von der Atmel Seite laden kannst.
Flashen musst du dazu die STK500v2 w.o. Debug.

2. AVR900 und STK500v2 sind unterschiedliche Programmierprotokolle, vom 
PC zum ISP. Unterschiedliche Software unterstützt unterschiedliche 
Protokolle.

3. Ja kann man ich seh jedoch keinen Sinn darin. Die alten Firmwares 
ohne Bootloader findet man auf der Website aber es ist doch viel 
sinnvoller du flasht den Bootloader mit deinem alten Programmer und 
kannst dann per Bootloader die Firmwares einfach austauschen und mal 
eben n I2C Logger oder was auch immer draus machen...

4. So ists gedacht.

von Benedikt Lippert (Gast)


Lesenswert?

Hallo

Danke für die Antworten.

was meinst du mit "w.o. debug"


Also dann müst ich die aktuelle Firmware flashen?
Ist das nur der bootloader oder bootloader+Programmerfirmware?

Wo finde ich die firmwares für z.b. I2C Debugger?

Dann werde ich beim nächsten mal die Teile bei Reichelt mitbestelln und 
mal a Platine mitätzen wenn ich grad dabei bin



Danke!

mfg Benedikt Lippert

von Christian U. (z0m3ie)


Lesenswert?

Die Firmwares sind immer im AVR-ISp Tool mitenthalten damit kannst auch 
flashen.
Den Bootloader findest du einzeln als hexfile auf der Seite.
Den schiesst einfach rein und dann findet das AVR-ISP Tool den 
programmer und du kannst damit einfach mit 2 Knopfdrücken die Firmware 
wechseln.

w.o. Debug heisst das die Debug Schnittstelle da nicht mit drin ist. Ich 
hab in der aktuellen Hardware vergessen einen Pollup/ oder Down auf die 
RxD zu legen und da hängt sich der programmer auf wenn die RxD offen ist 
wenn du auf deiner Hardware die Debug Schnittstelle mit drauf designst 
kannst auch die normale Firmware flashen.

Ich bin aber schon dabei das zu beheben geht warscheinlich sogar 
Softwareseitig hab ich aber noch nicht probiert.

von Gast (Gast)


Lesenswert?

Hallo Christian,

gibt's eine version von dein Programmer bzw. kann man so ein USB AVR ISP 
mit einem Atmega8 (8-16 DIP) bauen? ich hab alle Teile bei mir rum 
liegen und möchte mir so was bauen.

Habe USB Programmer gefunden, sogenannte "USBasp" aber er funktioniert 
nicht mit AVR-Studio.

vielen Dank

Eduard

von Thomas (Gast)


Lesenswert?

Hallo Eduard,

du kannst auch den "USBasp" nehmen und die Firmware von Christian drauf 
machen. Die beiden Programmer unterscheiden sich in der Hardware nur in 
Kleinigkeiten.
Ich hab hier auch den "USBasp" mit Christian's Firmware als STK500v2 
laufen und der funzt dann natürlich auch im AVRStudio.

Grüße
Thomas

von Gast (Gast)


Lesenswert?

Hallo Thomas,

besten Dank für die info! werde dann heute auf Breckboard bauen und 
gleich testen.
Muss ich was besondes in AVR-Studio einstellen?
Bruß
Eduard

von Thomas (Gast)


Lesenswert?

Hallo Eduard,

im AVRStudio brauchst du nichts weiter einstellen, außer dass du den 
STK500 zum Programmieren auswählst und die entsprechende 
COM-Schnittstelle unter welcher der Programmer sich am System angemeldet 
hat.

Grüße
Thomas

von Gast (Gast)


Lesenswert?

Hallo Thomas,

habe gerade den AVR-Studio aufgemacht um zu gucken wo ich das mit dem 
STK500v2 einstellen kann aber nichts!
Normalerweise (bin noch Afänger) gehe so:
AVRStduio starten --> dann AVR Simulator und rechts entsprenchender 
Controller --> dann Finish --> dann Programm schreiben und dann Tools 
--> dann AVR Prog... und dann erkennt er automatisch mein ISP Programmer 
(zur Zeit ein Seriell).

aber wie geht dann mit STK500v2??

besten Dank!

Gruß
Eduard

von Thomas (Gast)


Lesenswert?

Hallo Eduard,

du gehst einfach über das Menu Tools --> Program AVR --> Connect...
im darauf folgenden Menu wählst du dann den "STK500 or AVRISP" und den 
entsprechenden COM-Port.

Grüße
Thomas

von Gast (Gast)


Lesenswert?

Hallo Thomas,

ok alles klar!
ich melde mich noch mal wenn ich mit dem aufbau fertig bin bzw. wenn 
schon getestet ist.

vielen Dank
Eduard

von Eduard (Gast)


Lesenswert?

Hallo Thomas,

also USBasp nachgebaut an Laptop angeschloßen und gleich nach Treiber 
gefragt so weit so gut, treiber angegeben und alles ok!! wird dann in 
Win erkannt rotes LED brennt, in Geräte-Manager wird unter LibUSB-Win32 
Devices dann als USBasp glaube ist soweit ok oder?

Nun da hat er aber kein Port zugeordnet das heißt wenn ich unter 
AVR-Studio
@
Menu Tools --> Program AVR --> Connect...
im darauf folgenden Menu wählst du dann den "STK500 or AVRISP" und den
entsprechenden COM-Port.

klapt es logischeweise nicht da er wie gesagt kein Port hat! was mache 
ich falsch?

Gruß
Eduard

von Christian U. (z0m3ie)


Lesenswert?

Du hast meine Firmware nicht drauf ;)

Und zu den "Kleinigkeiten" wollt ich noch kurz sagen es lohnt sich 
natürlich die mit einzustricken. Das ist dann eben mal der Unterschied 
das man mit dem USBasp nur 5V Targtes flashen kann, das mit den LED´s 
funktioniert mit dem USBasp auch nur eingeschränkt und man hat keinen 
Schutz gegen Überspannungen oder Kurzschlüsse vom Target her.
Aber stimmt schon ich hab meine Hardware extra in Grundzügen kompatibel 
zum USBasp gemacht damit die USBaspler auch aus dem AVR Studio flashen 
können.

von Eduard (Gast)


Lesenswert?

Hallo Christian,

vielen Dank für deine hilfe!
das heißt mit dem Teile kann ich kein USB AVR ISP machen? nur USBasp? 
ich hätte gern die Atmega8 (Dip) benutzten da ich 4 davon habe ! gibt es 
keine version von dir für ein Atmega8?

werde ich dann mal mit deine Firmaware testen!

Gruß
Eduard

von Christian U. (z0m3ie)


Lesenswert?

Du kannst meine Firmware genauso auf dem USBasp nutzen.
Nur fallen damit etliche Vorteile meiner Hardware untern Tisch.
Für den Atmega8 geht alles ich leifere nur keine DIP Laypouts. Kommt ja 
vieleicht noch.
Ansonsten kannst du meine Schaltung ja aber problöemlos auch mit einem 
DIP Schaltkreis auf Lochraster oder Steckbrett aufbauen.
Nur ich persönlich halte DIL für nich mehr nötig. kannst auch für 15 Eur 
nen fertig aufgebauten und getestetetn programmer von mir bekommen oder 
für 3 Eur ne Platine. Mit ein klein Wenig vorsicht und einer halbwegs 
kleinen lötspitze ist auch SMD kein Problem.

von Benedikt Lippert (Gast)


Lesenswert?

Hallo,

Kann man die Mini3,3V Version mit meinem alten 74xx244 Programmer 
flashen, da der ja auf 5Volt läuft?

mfg Benedikt Lippert

von Christian U. (z0m3ie)


Lesenswert?

Naja ganz ungefährlich ist es nicht aber dank der Vorwiderstände denk 
ich es sollte gehn. Laut Dtaneblatt des AVR´s ist es aber nicht mehr 
zulässig.

von Gast (Gast)


Lesenswert?

Hallo Thomas und Christian,

also Firmware von Christian drauf dann in Windows erkannt! kommt sogar 
ein extra Simbol von USB auf die liste in Gerätemanageraber names 
LibUSB-Win32 und dieses mal kommt dort keine USBasp (war mit der 
Firmware von USBASP so) sondern USBisp !! ich denke soweit ist oK oder?

NUN in Gerätemanager ist kein zusätzlicher COM Port zu finden!! deswegen 
funz er nicht mit AVR-Studio,  was mache ich falsch?

Christian
in diesem Fall sollte dann doch mit dein Schaltplan für Atmega8 Dip 
funktionieren oder? habe ich gestern nicht mehr getestet, muß ich gucken 
ob ich die genau Bauteile habe um deine zu bauen.

was sind die Hardware unterschiede? ich möchte nur für den Atmega8 und 
die bauteile die ich schon vorhanden habe ein guter Sinn finden und dass 
ist genau eine, wenn es nicht funktioniert bestelle ich auf jedem Fall 
eine !!

Gruß
Eduard

von Benedikt Lippert (Gast)


Lesenswert?

Hallo,

gibt es eine andere möglichkeit als die 3,3Volt Version mit dem 5 volt 
programmer zu flashen?

Ich baue die Schaltung eh neu auf, da werde ich einen jumper einbauen 
der mir den Controller auf 5 volt laufen läst

mfg Benedikt Lippert

von Christian U. (z0m3ie)


Lesenswert?

@Gast: Lies bitte die Anleitungen auf meiner Website dazu diort ist 
alles lang und breit erklärt.
Du hast sicher nur den Bootloader von mir geflasht da muss dan mit dem 
AVR-ISP Tool noch eine Firmware drauf...

Die Unterschiede zum USBasp hab ich ca 5 beiträge weiter oben 
beschrieben gehabt...

@Benedikt einen 3,3V fähigen programmer nehmen um ihn zu flashen. Kannst 
ihn mir auch schicken und ich flash ihn dir oder ich kann dir auch einen 
fertig aufgebauten und geflashten schicken. Hab aber auch noch nicht 
gehört das jemand den programmer mit den STK200 kaputt geflasht hat und 
die sind ja auch auf 5V Basis.

von Thomas (Gast)


Lesenswert?

Hallo,

man kann ja den STK200 auch mit 3,3V anstatt 5V betreiben. Dann kann man 
damit auch AVR's welche mit 3,3V laufen problemlos programmieren. 
Funktioniert bei mir super.

Grüße
Thomas

von Christian U. (z0m3ie)


Lesenswert?

Wie schaltest du bei deinem Druckerport die Spannungen um ?

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

@ Thomas
> man kann ja den STK200 auch mit 3,3V anstatt 5V betreiben.
Bei mir geht das nur bis 4V gut, bei meinem 244 steht im Datenblatt dass 
er mit 5V versorgt werden muss.

"Supply Voltage min. 4.75V"
"High Level Input Voltage 2.00V" (daher nur das Minimum von 4V)

Beim flashen mit dem STK200 habe ich mein AVR-USBisp über den 
ISP-Stecker mit 5V versorgt.

So einen Jumper würde ich nicht noch ran bauen, sind doch schon genug 
von denen oben.

von Thomas (Gast)


Lesenswert?

Hallo,

ich hab grad mal im Datenblatt des HC244 nachgeschaut, der funktioniert 
von 2-6 V (http://www.onsemi.com/pub/Collateral/74HC244.REV0.PDF). Von 
daher dürften die 3,3 V keine Probleme machen.

Grüße

von Christian U. (z0m3ie)


Lesenswert?

Naja nur ums nochmal deutlich zu sagen. Es hat bisher niemand 
(jedenfalls mir nicht bekannt) einen USB AVR-ISP beim flashen mit einem 
STK200 ob nun mit oder ohne 74xx244 zerstört. Ich würde also grosse 
Umbauorgien bleiben lassen.

von Mike J. (Gast)


Angehängte Dateien:

Lesenswert?

@ Thomas
Ich habe den LS244 verbaut, die Werte bei dem sind ein wenig anders als 
bei dir.

..siehe Anhang.

von Benedikt Lippert (Gast)


Lesenswert?

Hallo,

ok ic hab auch nachgeschaut und der 74HCT dürfte also noch laufen.

Dan werd ich den programmer unverändert nachbauen.

Mach mir nur ein neues Layout, da ich eine andere Buchse am Ausgang 
verwenden möchte und ich ein passendes Gehäuse hier habe auf die ich die 
Platine anpassen möchte.

mfg Benedikt Lippert

von Joerg (Gast)


Angehängte Dateien:

Lesenswert?

@ Christian Ulrich

habe Deinen miniPrommer.
Bootloader ist drauf (mit anderen Prommer verifiziert).
WinXP erkennt auch den CommPort (Com5).
Anschließend das akt Tool gestartet aus "avrisptool_0.5_i386-win32.exe"
Ergebnis siehe Anhang.
Nach Deiner Website müssten sich doch im linken Fenster die möglichen 
"Firmwares" wie I2c Logger, STK500 etc. befinden zum übertragen auf den 
Prommer. Leider ist keine Auswahl vorhanden. Die Installation verlief 
unauffällig (allerdings nicht ins Standardverzeichnis sondern nach 
"D:\PROGS\ATMEL\USB AVR-ISP Tool").
Dort ist auch ein Verzeichnis >Data< mit den *.hex Dateien.

Wie bekomme ich jetzt die STK500-Firmware hinnein?

Beim Anschliessen eines Targets blinkt die rote Led.
Wie wird denn das "Hardware falsch angeschlossen" detektiert?
Die blaue Led hat noch nie geleuchtet.

mfg Jörg

von Martin (Gast)


Lesenswert?

Hallo  Joerg,

hast du es selber gebaut?
habe auch eine gebaut bzw. habe ich der USBasp gebaut ( da ich alle 
Bauteile dabei hatte), Firmware von Christian Ulrich drauf und sollte 
eigentlich laufen nun habe das selbe Problem bei mir kommt genau das 
selber Fenster ohne nichts! Windows erkennt der Programmer als COM4.
Allerdings bin gestern ein Stück weiter ich habe das ganze treiber 
deinstalliert und habe die Treiber wieder Manuell gegeben, USB 
Programmer da wieder COM4 und dieses mal GING !!! also ich könnte schon 
Program übetragen und paar Sachen machen aber ich glaube geht nicht so 
ganz weil manchmal hatte ich keine verbindung, heute abend schaue ich 
weiter.

Fenster von USB AVR-ISP Tools bleibt genau so leer !

Gruß
Martin

von Joerg (Gast)


Lesenswert?

@Martin,

ich habe den Prommer wegen eigener Faulheit von Christian Ulrich fertig 
gekauft. Deshalb schließe ich auch erstmal Hardwarefehler aus. 
Versorgung ist aber OK und das typische Windows DingDong ist auch beim 
anschließen zu hören.

Jörg

von Christian U. (z0m3ie)


Lesenswert?

@Jörg ich hab den Prommer mit stk500 Firmware ausgeliefert.
Erkennt man auch gut daran das ein virtueller Com Port da ist ...
Wenn du eine andere Firmware draufmachen willst musst den rechten Button 
in der Toolbar nehmen und COM5 auswählen damit wird der Bootloader 
aktiviert.

von Joerg (Gast)


Lesenswert?

Schön und gut, aber...
obwohl der Gerätemanager Com5 anzeigt, bietet mir das AVR-Studio nur 
Com1..Com4 zur Auswahl an. Auto findet auch nichts.

Das mit dem rechten Knopf und Auswahl von Com5 habe ich auch schon 
hinter mir.
Irgendwie fehlt mir dann aber ein Auswahlfenster für die zu ladene 
Funktionalität.

Ich werde morgen mal den Flash des Prommers mit dem STK500 auslesen und 
weitertesten.
Die Bedingung für das Blinken der roten Led ("falsch angeschlossen") 
sind mir noch nicht ganz klar. Wenn ich die Sourcen richtig verstanden 
habe wird die Target Spannung gemessen. <2V nicht angeschlossen, 
2V..4.5V falsch angeschlossen, >4.5V OK.
Heißt das dann, das ich keine 3.3V Targets mit geöffneten K4 - getrennte 
Versorgung- progammieren kann? Bestimmt habe ich da doch etwas 
übersehen.

Gurß Jörg

von Christian U. (z0m3ie)


Lesenswert?

Ich hab die Sourcen noch nicht auf die Anzeige für 3,3V angepasst.
Eigentlich bietet das aktuelle AVR Studio bis COM9 an. Wenn deins das 
aber noch nicht kann stell einfach den COM Port auf COM3 oder 4 um. 
Kannst du in den geräteeigenschaften zuweisen.

von Charly B. (charly)


Lesenswert?

Moin moin ,

AVR Studio zeigt zwar com1-9 an ist aber ´Buggy´, Com1-4 funktionieren,
ab Com5 gehts nicht mehr, also Programmer unter Geraeteeigenschaften
auf Com1-4 einstellen
Das ist kein Problem von Ulli´s Programmer, andere haben auch das 
Problem
hab ich irgendwo in Netz gelesen

vlg
Charly

von Christian U. (z0m3ie)


Lesenswert?

Also ich hab ihn auch schon auf > COM4 problemlos betrieben.

von Joerg (Gast)


Lesenswert?

Kurzer Zwischenbericht:
Im AVR-Studio 4v13sp2b571 sind nur Auto,Com1..Com4 sichtbar; obwohl ich 
mir sicher bin dort auch schon höhere Com-Nummern gesehen zu haben. Aber 
das ist ein anderes Thema.
Port in den erweiterten Eigenschaften auf Com2 geändert.

Also mit ext. Prommer (AVR910 von K.Leidinger) den Flash vom USB AVR 
ausgelesen und mit den Daten aus dem Data-Verzeichnis verglichen.
"m8_STK500v2_1.0_w.o_Debug.hex" und "m8_Bootloader.hex" sind korrekt 
enthalten. Fuses sind auch so wie auf der Homepage angegeben.
Daran liegt es also nicht.
Nochmals das AVR-Studio gestartet. Diesmal connect an Com2. Aber ständig 
Abbruch der Verbindung. Kein Arbeiten möglich. USB-Ports getauscht auch 
am Hub getestet. Connects sind nur Zufall.

Anderer Test nur den USB AVR angeschlossen, kein Target. Nur Jumper K4 
gesteckt. Keine weitere Software gestartet.
Windows macht DongDong und die Led blinkt lustig in rot vor sich hin. 
Auf der Homepage steht etwas anderes. Versorgungsspannung geprüft: USB= 
5.1V scheint OK, UB=Utarget=2.8V erscheint mir etwas wenig.

Ich werde morgen weitersuchen, nebenbei muss ich - wie viele andere - 
auch mal arbeiten.
NichtsDestoTrotz nehme ich Hinweise für die weitere Fehlersuche dankend 
entgegen.

Gruß Jörg

P.S. Welche Bedeutung hat Pin3 des ISP-Steckers bzw das Signal USIG1 bzw 
Pin11=PortD7 am Mega8?
Jörg

von Lippert Benedikt (Gast)


Lesenswert?

Hallo,
ich habe mir vorhin mal den Schaltplan genauer angeschaut und gesehen 
das die Schaltung über eine Spannungsstabilisierung mit Transistor und 
Z-Diode versorgt wird.
Die Ausgangsspannung der Stabilisierungsschaltung beträgt ja dann 
2,4V-0,7V=1,7V.
Also läuft die Schaltung nur mit 1,7V?
oder sehe ich was falsch?


mfg Benedikt Lippert

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

Hab da eine 3,9V Z-Diode drin.

von Christian U. (z0m3ie)


Lesenswert?

3,6V ist richtig is auch in der Bestelliste richtig eingetragen im 
Schaltplan hatte ichs nicht nachgezogen. 3,6-0,7 = 2,9V meisst sinds 
auch nur 2,8.

Ist völlig in Ordnung die AVR´s laufen ab 2,7V und do kann man mit dem 
Programmer jede Mögliche Betriebspannung flashen.

@Jörg der Programmer lief definitiv ich programmiere und teste alle 
bevor ich sie rauschicke. Auch versteh ich nicht warum dein AVR Studio 
nur 4 COM Ports anzeigen soll. Das hab ich dort noch nie gesehn und ich 
kenn das Studio schon n paar Jahre. Zu deinen Connects hört sich das an 
als ob du doch eine Firmware mit Debug Schnittstelle drauf hast und 
diese nicht angeschlossen.
Wir können die fehlersuche auch gern per mail fortsetzen und müssen 
damit nicht den Thread hier zumüllen. Wenn du die Ziet hast hab aich 
auch nichts dagegen wenn du ihn in einen Umschlag packst und mir nochmal 
schickst dann schau ich nochmal drüber.

von Stefan B. (stefan) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo, ich bräuchte etwas Hilfe.

Ich habe heute mittag den USB AVR ISP mini 5V Version aufgebaut und 
hatte gerade versucht, die Firmware einzuspielen.

Leider hat es dabei geraucht ;-(

Ich bin so vorgegangen, dass ich den USB-AVR-ISP-mini mit einem USB 
Kabel an den PC angeschlossen habe (damit der Atmega8 darauf vorsorgt 
wird).

Jumper K1 und K4 waren gemäß Anleitung geschlossen (entgegen dem Bild A 
oben, das habe ich nachher geändert).

Über den Wannenstecker habe ich einen LPT-ISP-Adapter angeschlossen und 
den an den Parallelport des PC. D.h. über USB soll Targetboard 
(USB-AVR-ISP-mini) und ISP Programmer versorgt werden.

Die blaue LED und die rote LED haben geleuchtet und dann begann es zu 
rauchen.

Panisch habe ich den USB Stecker abgezogen. Tja und jetzt bin ich dabei 
zu sortieren, was überlebt hat und was nicht.

So wie das Gehäuse verfärbt ist, hat der C1 Tantalkondensator 
anscheinend sein Leben ausgehaucht.

Mea culpa - ich hatte im Bestückungsplan 
(http://update.ullihome.de/AVRISP_mini_bestueckung_oben_5v_2007-09-18.pdf) 
keine Polarität gesehen und bin dem Layout nicht bis zum Schaltplan 
nachgegangen. Stattdessen habe ich mich an dem 3D Rendermodell (Bild B) 
orientiert, wo dort die Polmarkierung (brauner Streifen) sitzt.

Jetzt mit dem Schaltplan 
(http://update.ullihome.de/AVRISP_mini_shematic_2007-09-18.pdf) und dem 
Layout oben 
(http://update.ullihome.de/AVRISP_mini_layout_oben_2007-09-18.pdf) denke 
ich der C1 sitzt bei meinem Aufbau (und dem Rendermodell) genau verdreht 
drin und deshalb hat es ihn getötet.

Meine Bitten

1/ Würde bitte jemand den Sitz von C1 auf seinem USB-AVR-ISP-mini 
nachsehen und mit obigem Bild vergleichen? A ist mein lädierter Kamerad 
(Sorry, für die Bildqualität, ich hatte es nur auf den Scanner gelegt), 
B ist das 3D-Rendermodell.

2/ Für den nächsten Einspielversuch (nach der Reparatur) würde ich gerne 
auf die USB Verbindung verzichten (um wenigstens den PC im Fall des 
nächsten Crashs zu schonen). Hat jemand eine Idee, wie ich die 
Stromversorgung machen kann? Ich habe daran gedacht über Klemmen an + 
und GND der USB-Buche 5V zuzuführen und die beiden Datenleitungen nicht 
zu verbinden. Könnte das gehen?

3/ Beim Aufbau sind mir zwei Unterschiede zwischen 
Schaltplan/Bestückungsplan und Bauteilliste/Bestellliste aufgefallen. R8 
ist einmal mit 1K (habe ich verwendet) angegeben und ein anderes Mal mit 
470 Ohm. R9 ist einmal mit 220 Ohm (habe ich verwendet) angegeben und 
einmal mit 1K. Könnte meine Bestückung eine weitere Fehlerquelle 
darstellen?

4/ Möglicherweise habe ich auch einen Fehler mit dem Wannenstecker 
gemacht. Ich bin das gerade am kontrollieren.

von Christian U. (z0m3ie)


Lesenswert?

1. Du hast recht der Tantal ist in der 3D darstellung vom target 
verdreht weil das Griffkreuz in der Target Bibliothek verdreht ist. Ich 
mach bei Gelegenheut mal ein neues Bild. Bzw lade mal ein echtes hoch.

2. Ich habs bisher nicht geschafft auch nur einen meiner USB Hubs oder 
Hostcontrolelr zu schiessen. Die sind allesammt kurzschlussfest. Wenn du 
sie kurzschliesst schaltet der Hostcontroller den Port ab bis zum 
nächsten neustart des rechners. Brauchst dir also eigentlich keine 
gedanken machen ansonsten einfach 5V dranhängen. Wenns 6 oder 7 sind 
passiert auch nix. Wird ja stabilisiert.

3. Die Bestelliste/Bestückungsliste sind aktuell den Schaltplan hatte 
ich noch nicht aktualisiert.

4. Weiss nicht was man da für einen fehler machen kann, schaut gut aus.

http://update.ullihome.de/catalog/images/avrisp.jpg

^Da hast n Bild von einem von mir aufgebauten.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Danke, das hilft mir schon weiter und beruhigt mich hinsichtlich des 
USB-Ports.

Wenn du die Bestückungsaufdrucke aktualisierst, könntest du vielleicht 
auch Polaritäten und Pinnummer 1 hinzufügen. Das würde Anfängern wie mir 
die Sache sehr erleichtern.

R8 und R9 muss ich dann wohl auch tauschen, um auf die Werte der 
Bauteilliste zu kommen. Bzw. wie kritisch ist es, wenn ich die Werte aus 
dem Schaltplan nehme? Ich hatte noch oben in der Diskussion nachgesehen 
und bei dem 220 Ohn Schutzwiderstand das Statement gefunden, diesen Wert 
eher kleiner zu wählen oder gar zu brücken. Widerspricht es dem nicht, 
wenn jetzt ein 1K Widerstand an dessen Stelle kommt?

von Christian U. (z0m3ie)


Lesenswert?

Die Schutzwiderstände sind so ok.
Die Vorwiderstände für die LED´s müssen kleiner sonst sind die net hell 
genug und der Vorwidersand für die Z-Diode muss auf 470 R. Ich zieh das 
demnächst mal alles gerade.
Der Rest müsste eigentlich so passen.

von Ronny H. (ronson)


Lesenswert?

Ich hab mir das USB-ISP gebaut und muss sagen tolle Sache das 
reprogrammieren - so lange man das Ding dann nicht abstöpselt und wieder 
anstöpselt.

Weil ich vorher USBasp benutzte, hab ich das ding dann mit dessen 
Treiber benutzt, aber Burn-O-Mat-Dude konnte das Target nicht finden. 
Kann auch an mir liegen, das ich das Target mit falschem Quartz 
probierte. Soll heißen das der Programmer scheinbar funktioniert.

Mein eigentliches Problem ist den USB-ISP in ein anderes Gerät zu 
ändern. Auf der Homepage gibs ne Alte und ne Neue Schaltung. Auf der 
alten ist ein K5-Jumper drauf auf dem neuen Schaltplan nicht mehr. 
Jedenfalls hab ich das probiert und den entsprechenden Pin auf Masse 
gelegt, aber neu über USB bespielen ging so nicht!?!? Was muss ich tun 
um das Ding mit USB-AVR-ISP-Tool z.B.: in AVR910 zu ändern?

von Christian U. (z0m3ie)


Lesenswert?

Im AVR-ISP Tool hast du einen Button "Send to Boot Mode" Oben der 2.
Den Klickst du, gibst den Com Port ein oder suchst verfügbare Comports 
mit dem Refresh Knopf neben der Auswahlbox und wählst ihn aus. Und 
klickst ok. 2 sek später dürfte dein AVR-ISP im Bootloadermodus sein und 
du kannst ihn neu flashen.

Bei Fiormwares die keinen Virtuellen Com Port benutzen brauchst du nur 
den Programmer anwählen und den Button drücken und der Programmer ist 
sofort im Boot Modus.

Die Variante mit dem Pin nach Masse brücken sollte aber auch noch gehen. 
Der Jumper ist nur der Einfachheit halber weggelassen.

von Ronny H. (ronson)


Lesenswert?

Im USBasp modus lief es schon ganz gut, bis auf das ich manchmal eine 
"Device ID 0x000102" zurück bekam. Das echo vom Senden sozusagen. Also 
hab ich die ISP Frequenz geändert bis auf 1 KHz runter. Es ging nicht 
weg davon, wiederholtes Flashauslesen klappt aber.
http//www.mikrocontroller.net/topic/57514  "Device ID 0x000102"

Wenn ich die ISP Frequenz ändere, wirkt sich das auf alle 
Programmertypen(avr910,STK500v2 und USBasp) aus?

Als Comunication Device bietet XP mir immer zwei Treiber an, welcher ist 
eigentlich wofür?
usb-avr-isp.inf
usb-avr-isp_boot.inf
usb-avr-isp_doper.inf

Der AVR910 Modus funktioniert mit BURN-O-MAT-DUDE nicht, gibts da ne 
Dude Version die Probleme macht?

Welches Protokoll verlangt zwangsweise RXD und TXD wenn mann nur 
flaschen will-hab ich nämlich nicht am ISP angeschlossen?

Ist eigentlich STK500hvsp geplant - klar dafür brauchts nen anderes 
Layout?

Achso hätte ich fast vergessen. Wenn sich das Teil als "USB AVR-Lab 
USBasp mode" im Tool zeigt drück ich den "rechten zweiten Knopf" es 
BINGt kurz aber keine Bootloader zeigt sich. Im Com modus das selbe, 
kein Bootmodus kommt. Liegts vieleicht daran das ich den "PDIP(nicht 
SMD) Atmega8" benutze?

von Ronny H. (ronson)


Lesenswert?

Das was Dude dazu sagt ...

C:\WinAVR-20071221\bin>avrdude -v

avrdude: Version 5.5, compiled on Dec 19 2007 at 21:17:54
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is 
"C:\WinAVR-20071221\bin\avrdude.conf"




C:\WinAVR-20071221\bin>avrdude -P com5 -c avr910 -p t2313

Found programmer: Id = ""; type = Ç
    Software Version =  . ; Hardware Version =  .

Programmer supports the following devices:

avrdude: error: selected device is not supported by programmer: t2313

von Christian U. (z0m3ie)


Lesenswert?

>Im USBasp modus lief es schon ganz gut, bis auf das ich manchmal eine
>"Device ID 0x000102" zurück bekam. Das echo vom Senden sozusagen. Also
>hab ich die ISP Frequenz geändert bis auf 1 KHz runter. Es ging nicht
>weg davon, wiederholtes Flashauslesen klappt aber.
>http//www.mikrocontroller.net/topic/57514  "Device ID 0x000102"

Ist mir unbekannt, ich schaus mir wenn ich Zeit hab mal an.

>Wenn ich die ISP Frequenz ändere, wirkt sich das auf alle
>Programmertypen(avr910,STK500v2 und USBasp) aus?

Ja.

>Als Comunication Device bietet XP mir immer zwei Treiber an, welcher ist
>eigentlich wofür?
>usb-avr-isp.inf

^STK500+AVR910

>usb-avr-isp_boot.inf
^Bootloader+I2C Logger+Bitbaning & Co

>usb-avr-isp_doper.inf
^Wird derzeit nicht verwendet

>Der AVR910 Modus funktioniert mit BURN-O-MAT-DUDE nicht, gibts da ne
>Dude Version die Probleme macht?

Die avr910 Firmware stammt nicht von mir ich hab da mal ein paar fehler 
rausgemacht aber ich glaub die lief trotsdem nicht richtig. Ich hab 
derzeit auch keine Verwendung dafür und kenn niemanden der die nutzt 
kannst dir den Code ja gern mal anschaun.

>Welches Protokoll verlangt zwangsweise RXD und TXD wenn mann nur
>flaschen will-hab ich nämlich nicht am ISP angeschlossen?

Die RxD und TxD werden bei der STK500 und USBasp Firmware vom Target 
durchgeschliffen als Debug Interface. Zum Programmieren brauchst du die 
nicht.

>Ist eigentlich STK500hvsp geplant - klar dafür brauchts nen anderes
>Layout?

Nein ist nicht geplant, es gibt andere programmer die das können und ein 
Nachbau davon schafft jeder allein dazu brauchts mich nicht.

>Achso hätte ich fast vergessen. Wenn sich das Teil als "USB AVR-Lab
>USBasp mode" im Tool zeigt drück ich den "rechten zweiten Knopf" es
>BINGt kurz aber keine Bootloader zeigt sich. Im Com modus das selbe,
>kein Bootmodus kommt. Liegts vieleicht daran das ich den "PDIP(nicht
>SMD) Atmega8" benutze?

Mhm, sollte nicht liegt warscheinlich daran das du vergessen das BOOTRST 
Fuse zu setzen.

von Funkenschlosser (Gast)


Lesenswert?

Gibt es eine Möglichkeit usb-avr-isp.inf unter Vista(64) zu 
installieren? Ich bekomme immer die Meldung: "Fehler beim 
Installieren... Das System kann die angegebene Datei nicht finden!". 
Ich habe schon die usbser.sys nach windows\system32 kopiert, aber es 
geht trotzdem nicht.

Ansonsten erstmal danke, dass du uns so ein schönes Projekt 
veröffentlichst.

von Christian U. (z0m3ie)


Lesenswert?

unter vista funktioniert die cdc klasse nicht (stk500,avr910) da vista 
keine bulk transfers für low speed geräte erlaubt. drt musst du avrdude 
(mit der usbasp firmware) verwenden

von Funkenschlosser (Gast)


Lesenswert?

Avrdude kann doch das Gerät garnicht finden, wenn der Treiber nicht im 
System installiert ist? "error: could not find USB device "USBasp" with 
vid=0x16c0 pid=0x5dc"

Oder habe ich dich jetzt falsch verstanden?

von Ronny H. (ronson)


Lesenswert?

Ja ähm das war schon die Lösung des Problems das es nicht mehr in den 
Bootloadermodus zurück ging, mit BOOTRST bit setzen dann sofort geklappt 
- hätte ich ja auch auf der USP-ISP-Site gefunden, mein Fehler".

Zu dem Vista64bit Problem das hab ich auch, aber mit so ziemlich jedem 
USB Programmer den ich im Intrernet gefunden und nachgebaut habe. Ich 
versteh nicht wie Makrohart so eine universell benutzte Schnittstelle 
wie CDC nicht mehr unterstützt, oder zumindest eine Alternative 
anbietet. Schaut man ins Internet dann sind etliche verschiedene Geräte 
betroffen von dem Problem.

Ich habe das mit USBasp versucht aber dem Gerät fehlt bei der 
Installation eine Datei und funktioniert dementsprechend nicht. Schade!

Welchen Treiber nehm ich dafür, den der beim USB-ISP dabei ist oder den 
der bem Original USBasp dabei ist?

libUSB-win32 hab ich probiert und die INF Dateien in das Verzeichniss 
mit den Treiberdateien kopiert, geht auch nicht. Dann hab ich noch nen 
neuen Treiber erstellt, geht auch nicht. hm.......?!?!?

von Christian U. (z0m3ie)


Lesenswert?

Also ich nehm sie nicht gern in Schutz aber es ist prinzipiell schon 
Richtig was MS da machen. Laut USB Spezifikation sind Bulk Transfers auf 
Low Speed Geräten nicht erlaubt. Und eine CDC setzt Bulk Transfers 
voraus. Linux und MacOS verbieten das genauso. In XP ist es schönerweise 
nicht verboten und so funktioniert es da. Per Software ist aber nunmal 
kein High Speed USB Möglich und so funktioniert CDC leider nur unter XP. 
Wobei es die Spezigfikation erlauben könnte jedenfalls fällt mir kein 
Grund für diese Beschränkung ein.

Treiber solltest due die vom AVR-SIP Tool oder meine gesonderten Treiebr 
nehmen können. Ebenso wie den USBasp Treiber. Sollten alle 
funktionieren. Du kannst teoretisch sogar die USBasp Firmware benutzen 
damit könnts aber sein das du den Bootloader überschreibst und die 
Debugschnittstelle sowie LED´s funktionieren damit dann nicht ...

von BaJu (Gast)


Lesenswert?

@ Christian Ulrich

> unter vista funktioniert die cdc klasse nicht (stk500,avr910) da vista
> keine bulk transfers für low speed geräte erlaubt. drt musst du avrdude
> (mit der usbasp firmware) verwenden

Weshalb funktioniert  usbasp  unter vista?

Welcher Treiber wird da verwendet? Ist doch auch über USB ...

von Funkenschlosser (Gast)


Lesenswert?

Ich habe jetzt extra auf Vista-32 Bit gewechselt. Der Treiber vom USBasp 
sowie vom USB-AVR-ISP lässt sich jetzt installieren. Aber AVRDUDE findet 
leider das Device nicht. Hat es überhaupt schon jemand unter Vista zum 
Laufen bekommen?

von Tom (Gast)


Lesenswert?

Ja, aber nur mit einer älteren version von avrdude!

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.