PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welchen ISP Programmer verwenden



pinsel120866
25.02.2008, 10:47
Hallo,

ich habe mir einen "SUMO" - IR-Prozessoradapter für Atmega8 im DIL Gehäuse (sh. Anlage) besorgt und wollte anfragen welchen ISP Programmer ich dazu verwenden kann.

Da ich noch Neuling auf diesem Gebiet bin, wäre ich euch dankbar für ISP - Tipps und Hinweise.

[EDIT]Ich habe im Ebay folgendes gefunden: http://cgi.ebay.de/ISP-PROGRAMMER-fuer-ATMEL-AVR-STK-KOMPATIBEL-NEU-BS_W0QQitemZ140207744967QQihZ004QQcategoryZ12949QQ ssPageNameZWDVWQQrdZ1QQcmdZViewItem geht das auch?

m.a.r.v.i.n
25.02.2008, 11:01
Hallo Pinsel,

Der ISP Programmer sollte gehen. Ich verwende ein ähnliches Modell seit Jahren ohne Probleme Allerdings brauchst du dazu einen PC mit Parallelport. Bei neueren PCs fehlt der häufig.

trapperjohn
25.02.2008, 11:19
Alternativ dieser hier:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=41
Da brauchst du auch keine weiteren Kabel mehr (wie in dem eBay-Angebot).

pinsel120866
25.02.2008, 14:34
Danke für eure rasche Antwort. Gibt's auch schon Erfahrungen bei Programmern mit USB-Schnittstelle?

Hornet
25.02.2008, 14:40
hi,

ich benutze von MyAVR den mySmartUSB(30€) in Verbindung mit dem"myMultiProg USB" (20€ als Baustein, Bausatz ist billiger) seit ein paar Monaten und die läuft ohne Probleme und die gibts direkt bei MyAvr oder auch in Läden wie der Große C.

sloti
25.02.2008, 16:13
Ich nutze auch mySmartUSB und hatte bisher eigentlich keine Problem. Das gute ist, dass man den auch als UART-Bridge und zur Stromversorgung nutzten kann.

mfg
Erik

damaltor
26.02.2008, 13:27
ich programmier über einen pony-adapter mit der seriellen schnittstelle. funktioniert großartig, da ich keinen parallelen port am notebook habe.

pinsel120866
27.02.2008, 16:25
Noch eine Frage an diejenigen, die den o. a. SUMO-Bausatz verwenden:

Wird der Bausatz ANSTATT des orginal ASURO-Prozessors verwendet (sprich mit einem ATMEGA8 ohne Bootloader) oder kann ich diesen Bausatz auch mit dem ASURO-Prozessor verwenden und mit Flash15.1 flashen?

inka
27.02.2008, 16:28
es geht beides...

pinsel120866
27.02.2008, 16:34
Aha, aber dann darf ich nur

- original ASURO Prozessor mit Flash1.51
- ATMEGA8 mit ISP flashen

Weil ansonsten der Bootloader gelöscht wird, richtig?

sloti
27.02.2008, 16:38
Hi,

ob der Bootloader gelöscht wird weiß ich nicht. Aber wenn du es so wie du es beschreibst machst, machst du nichts falsch.

mfg
Erik

inka
27.02.2008, 16:41
er wird gelöscht :-(

pinsel120866
27.02.2008, 16:50
OK, danke für eure Hilfe.

Ich habe mit jetzt diesen ISP-Programmer bestellt:
"http://cgi.ebay.de/USB-Programmer-mySmartUSB-fuer-ATMEL-AVR_W0QQitemZ230227024556QQihZ013QQcategoryZ12949Q QssPageNameZWDVWQQrdZ1QQcmdZViewItem"

sloti
27.02.2008, 19:19
OK, danke für eure Hilfe.

Ich habe mit jetzt diesen ISP-Programmer bestellt:
http://cgi.ebay.de/USB-Programmer-mySmartUSB-fuer-ATMEL-AVR_W0QQitemZ230227024556QQihZ013QQcategoryZ12949Q QssPageNameZWDVWQQrdZ1QQcmdZViewItem

Gute Wahl ;)

robo.fr
27.02.2008, 20:16
er wird gelöscht Traurig

Hallo Inka,

meiner Meinung nach kann der Bootloader nicht gelöscht werden, da die Fuse Bits so gesezt sind, dass das gesammte Flash geschützt ist.
Zumindest habe ich mal aus Versehen den original ASURO-Atmega8 mit ISP zu programmieren versucht. Es ging nicht. Aber hinterher hat der Bootlaoder immer nocht funktioniert. Ich hoffe, Ihr habt da keine anderen Erfahrungen gemacht.

pinsel:
Was den Sumo-Adapter betrifft: Den original ASURO-Atmega8 sollte man ganz normal über die IR-Schnittstelle programmieren können.

Gruß,
robo

damaltor
27.02.2008, 20:49
der bootloader kann gelöscht werden mit einem chip erase mit einem HV-adapter.

der post ist entfernt, zu löschen einfach auf das kleine X neben dem edit-button klicken! =)

robo.fr
27.02.2008, 23:09
Besten Dank für's löschen. Das kleine x war aber nur beim 2ten Post sichtbar. Da ich aber im 2ten einen Rechtschreibfehler korriegiert habe, wollte ich den den ersten löschen. Egal ...

damaltor
28.02.2008, 00:59
hmm dann scheint es so als wenn man normalerweise nur den letten post entfernen kann... egal. is weg.

</offtopic>

pinsel120866
03.03.2008, 14:07
Hallo zusammen,

ich bin jetzt so weit dass ich den Prozessor OHNE Asuro-Bootloader auf meine SUMO-Platine gesteckt habe und flashen will.

- 3 Jumper von SUMO-Platine abziehen
- Flash Programm von CD starten
- Prozessor auswählen
- hex-File auswählen
- "Flash" anklicken

...und nichts passiert.

1. Frage: Welches Programm soll ich zum Flashen verwenden?
2. Frage: Und welche Einstellungen soll ich bei diesem Programm vornehmen?

Danke schon mal im Voraus für eure Hilfe!

sloti
03.03.2008, 14:57
Hi,

das Programm für den MysmartUSB gibts kostenlos von der myavr seite. Hier der direkte DL link: http://www.myavr.de/download/myavr_progtool_101.zip. Die einstellungen sollten sich eigentlich von selbst klären. Du musst lediglich deinen Programmer und die Controller art einstellen.

mfg
Erik

pinsel120866
03.03.2008, 15:00
Danke Erik,

die Dips auf dem MySmartUSB muss ich aber auf der Standardeinstellung lassen, oder?

sloti
03.03.2008, 15:07
Bei mir ist nur der 1. pin eingeschaltet, wenn das die Standard einstellung ist sollte das richtig sein.

pinsel120866
03.03.2008, 15:18
OK, Danke!

Noch was - irgendwo habe ich gelesen dass dies mit AVR Studio auch gehen soll, hast du hier schon Erfahrungen?

sloti
03.03.2008, 15:21
nein, aber gehört hab ich davon auch schon. Im moment arbeite ich aber noch mit SiSyAVR von myavr. damit funktioniert das auch wunderbar, aber es ist glaub ich auch recht teuer.

pinsel120866
03.03.2008, 16:17
OK, flashen geht jetzt. Das Programm läuft aber nur ab, wenn ich das Kabel eingesteckt lasse. Was muss ich tun dass das *.hex - File mit den Akkus läuft?

sloti
03.03.2008, 16:29
Hmm, fällt mir gerade auch nichts gescheites mehr zu ein. Ich denke mal Strom hat er oder? Hängt der Reset pin noch richtig dran.?
mfg
Erik

pinsel120866
03.03.2008, 16:33
Tja, ich fürchte da fehlen mir die Grundlagen...

Kannst du dich bitte genauer ausdrücken?

sloti
03.03.2008, 16:38
Hast du gerade mal einen Schaltplan von der Erweiterungsplatine oder kannst mir sagen wo die her ist, dann kann ich dir vllt besser helfen.

pinsel120866
03.03.2008, 16:42
Es ist SUMO-ISP-Platine vom Roboterclub Freibung http://www.roboterclub-freiburg.roboterbastler.de/.

Auf meinem Prozessor steht "ATMEGA8-16PU", ich hoffe der ist richtig.

sloti
03.03.2008, 16:50
Also auf die Schnelle kann ich nix entdecken was man noch falsch machen könnte. Wenn ich das richtig sehe, dann steckt man einfach nur den Erweiterungssockel auf den alten asurosockel oder? Hast du nciht vorher irgedetetwas umgesteckt um ihn programmieren zu können, dann solltest du es auch wieder zurückstecken ;). Ich kann nachher nochmal drauf schaun wenn sich das Problem bis dahin nicht gelöst hat. muss jetzt aber erstmal los.

mfg
Erik

robo.fr
03.03.2008, 17:19
OK, flashen geht jetzt. Das Programm läuft aber nur ab, wenn ich das Kabel eingesteckt lasse. Was muss ich tun dass das *.hex - File mit den Akkus läuft?

Das kann eigentlich nur am Reset liegen. Ist der Reset-Wiederstand richtig eingelötet, hat er Kontakt? Der Reset-Wiederstand müsste 10K haben.

Gruß,
robo

damaltor
03.03.2008, 23:48
das asuro flash tool ist NUR, um mit dem bootloader zu kommuniziern. kein bootloader, kein asuroflash.

robo.fr
04.03.2008, 07:33
Noch was - irgendwo habe ich gelesen dass dies mit AVR Studio auch gehen soll, hast du hier schon Erfahrungen?

In AVR-Studio sind Programmiergeräte wie z.B. das STK500 oder der AVR-Dragon direkt eingebunden. Es wäre interessant zu wissen, ob das MyAVRUSB auch direkt damit funktioniert.

Gruß,
robo

pinsel120866
04.03.2008, 08:59
Hi robo,

das ist der Widerstand R1, richtig?

Ja - ist richtig eingelötet, hat einen Kontakt und 10K.

Interessant ist auch, wenn ich das Programm von M1.R flashe und auf Akku-Betrieb umstelle, leuchtet für ca. 10 sec. die Status-LED gelb auf und danach fährt der ASURO los und macht "irgendwas", aber nicht das was der Code verlangt.

Bei deinem Programm gehen nur kurz die Status-LED und die Back-LEDs an und dann ist Funkstille.

Wie schon oben angesprochen ist der Prozessor ein ATMEGA8-16PU (ohne ASURO Bootloader).

robo.fr
04.03.2008, 09:57
Miss mal die Versorgungsspannung am Prozessor. Wenn die nicht zu klein ist, sollte eigentlich alles korrekt funktionieren.

pinsel120866
04.03.2008, 10:39
Hmm, die Spannung passt.

Wenn ich den Original ASURO-Prozessor auf den SUMO-Adapter aufstecke läuft es ohne Probleme, möglicherweise hat ja der Prozessor einen "Knall".

Übrigens - ich habe gerade mit AVR Studio und meinem MyAVRUSB den Prozessor geflasht, das geht. Ich muss nur für jeden Flashvorgang unter Windows XP das USB-Kabel aus- und einstecken.

M1.R
04.03.2008, 12:09
ist der Prozessor ein ATMEGA8-16PU
Hallo pinsel,

Angaben von www.myavr.de:

ATmega8L 8MHz
2,7 bis 5,5 Volt Betriebsspannung

ATmega8 16MHz
4,5 bis 5,5 Volt Betriebsspannung


Vielleicht sinkt ja deine Spannung unter 4,5V, wenn noch irgendwelche Verbraucher an sind.

Bei meinem DORO (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=346006#346006) sinkt die Spannung manchmal sogar unter 2V, wenn die Motoren loslaufen.

Gruss
M.

pinsel120866
04.03.2008, 12:26
Danke für die Infos M1.R,

hab ich dann doch den Falschen Prozessor? Meiner ist ja ein ATMEGA8 und kein ATMEGA8L.

damaltor
04.03.2008, 16:05
der unterschied ist nur die minimale betriebsspannung und die maximale taktfrequenz. 8mhz könen beide, kontrollier mal ob die spannung unter 4,5 V anfällt wenn die motoren laufen.

robo.fr
04.03.2008, 16:34
Hallo Pinsel,

Die ATMEGA8-16PU laufen bei meinn ASUROs ohne Probleme. Es könnte aber sein, dass Du ein Bauteil erwischt hast, das relativ knapp an den Spezifikationsgrenzen liegt.

Wie hast Du die Fuse-Bits eingestellt? Läuft der Prozessor wirklich mit 8Mhz oder nur mit einem? Ist der Oszillator auf externen Quarz oder internen LC-Oszillator eingestellt?
Wie stehts mit den Brown-Out Bits?

Gruß,
robo

tzlo
04.03.2008, 16:50
Ich habe den USB Programmier Adapter Von Reichelt für 39,95 und der macht bei keinem Conroller probs. mit dem Programmieradapter kannst du sogar EEPROMS Brennen. nur so als info :D

pinsel120866
04.03.2008, 18:09
Wie hast Du die Fuse-Bits eingestellt? Läuft der Prozessor wirklich mit 8Mhz oder nur mit einem? Ist der Oszillator auf externen Quarz oder internen LC-Oszillator eingestellt?
Wie stehts mit den Brown-Out Bits?


Hier habe ich die Standardvorgaben übernommen. Muss ich spezielle Einstellungen beim Flashen vornehmen und wenn ja, sag mir bitte wie und wo ich dies beim myAVR_ProgTool einstellen kann.

damaltor
04.03.2008, 20:19
du musst auf jeden fall die fusebits verändern. im moment läuft dein mega8 ohne den quarz zu nutzen, und nur mit einem megahertz. beachte, dass du mit falsch gesezten fusebits den prozessor zwar nicht zerstören, aber sehr leicht unbrauchbar machen kannst.

pinsel120866
05.03.2008, 07:05
OK, erst mal zu den zu den Fusebits: In der ASUROWIKI steht dass die Fusebits des ATMega8 wie folgt eingestellt werden müssen: "AVR Fuses: Mega8 Low=0xbf, High=0xda". Das stelle ich beim myAVR ProgTool lt. Anlage ein.

Nun zu den Fragen:
- Muss ich den EEPROM auch programmieren?
- Wie kann ich den Takt von 1 MHz auf 8MHz umstellen?
- Oder bin ich sowieso auf dem falschen Dampfer?

Sorry für die vielen Fragen aber dies ist für mich Neuland und ich möchte schliesslich etwas lernen.

Ich habe mir ausserdem einen neuen ATMega8L bestellt und will diesmal alles richtig machen.

m.a.r.v.i.n
05.03.2008, 11:53
Hallo Pinsel,


In der ASUROWIKI steht dass die Fusebits des ATMega8 wie folgt eingestellt werden müssen: "AVR Fuses: Mega8 Low=0xbf, High=0xda". Das stelle ich beim myAVR ProgTool lt. Anlage ein.


Im AsuroWiki steht aber auch, dass diese Einstellungen für einen ATmega8L mit Bootloader gelten. Für deinen Fall also nicht ganz das richtige.

Für einen ATmega8 ohne Bootloader wäre folgende Einstellung zu empfehlen (BODLEVEL 4V):
Low:0x3f, High:0xdb (http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=ATmega8&P=ATmega8&V_LOW=3F&V_HIGH=D9&M_LOW_0x3F=0x3F&M_LOW_0x40=0x00&M_LOW_0x80=0x00&M_HIGH_0x01=&M_HIGH_0x06=0x00&M_HIGH_0x08=&M_HIGH_0x10=&M_HIGH_0x20=0x00&M_HIGH_0x40=&M_HIGH_0x80=&B_BODLEVEL=P&B_BODEN=P&B_SPIEN=P&B_BOOTSZ1=P&O_BITS=Apply+fuse+bits)

Für den ATmega8L ohne Bootloader folgende Einstellung (BODLEVEL 2.7V):
Low:0xbf, High=0xdb (http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=ATmega8&P=ATmega8&V_LOW=3F&V_HIGH=DB&M_LOW_0x3F=0x3F&M_LOW_0x40=0x00&M_LOW_0x80=0x00&M_HIGH_0x01=&M_HIGH_0x06=0x02&M_HIGH_0x08=&M_HIGH_0x10=&M_HIGH_0x20=0x00&M_HIGH_0x40=&M_HIGH_0x80=&B_BODEN=P&B_SPIEN=P&B_BOOTSZ1=P&O_BITS=Apply+fuse+bits)

Ansonsten helfen das Datenblatt und folgende Links weiter:
* Mikrocontroller.net Artikel (http://www.mikrocontroller.net/articles/AVR_Fuses)
* AVR -Fusebits (https://www.roboternetz.de/wissen/index.php/Avr#Die_Fusebits)


- Muss ich den EEPROM auch programmieren?nein

- Wie kann ich den Takt von 1 MHz auf 8MHz umstellen?durch die Fusebits CLKSEL0..3 und SUT0..1, siehe oben.

pinsel120866
05.03.2008, 12:14
Danke m.a.r.v.i.n,

kannst du mir noch sagen, wo ich die Fusebits CLKSEL0 und SUT0 einstelle? Mit myAVR scheint dies nicht möglich zu sein.

m.a.r.v.i.n
05.03.2008, 12:34
Hallo,

Warum sollte das nicht möglich sein?
Die Fusebits CLKSEL0 und SUT0 sind doch in den Low Fuses mit drin.

pinsel120866
05.03.2008, 15:46
Aha,

dann ändert sich der hex-Code, je nach dem wie man die Häckchen setzt, richtig?

Dann wären aber bei Low und dem hex-Code 3F die Fusebits SUT0 und CKSEL0 nicht aktiviert????

m.a.r.v.i.n
05.03.2008, 16:07
richtig, so langsam schnallst du es :wink:

* Haken gesetzt, heißt Bit=0 (Fusebit programmiert)
* Haken nicht gesetzt, heißt Bit=1 (Fusebit unprogrammiert)

Nach obigem Bildchen entsprechen SUT0..1 und CLKSEL0..3 den untersten 6 Bits der Low Fuses. Bei allen ist kein Haken gesetzt, also Bit= 1, Fusebit unprogrammiert.
Bei BODLEVEL und BODEN (die beiden obersten Bits) sind die Haken gesetzt, also Bit = 0, Fusebit programmiert.

Macht für alle Bits zusammen 0x3F.
Klingt komisch, ist aber so. :wink:

pinsel120866
05.03.2008, 16:35
Ja, das war's - bitte ein Bit für m.a.r.v.i.n!

In diesem Fall ein Fusebit ;-)

Es läuft und ich habe wieder was gelernt, tolles Forum mit toller Hilfe, Danke.

In diesem Fall läuft mein Prozessor mit 1 MHz (Hex-Code 3F), wie wäre der richtige hex-Code für beide Prozessoren für 8 MBit, oder soll ich das vergessen?

m.a.r.v.i.n
05.03.2008, 16:49
Hallo,


In diesem Fall läuft mein Prozessor mit 1 MHz (Hex-Code 3F), wie wäre der richtige hex-Code für beide Prozessoren für 8 MBit, oder soll ich das vergessen?


Nein, falsch. Mit dieser Fusebits Einstellung läuft dein Prozessor mit einem externem Quarz/Resonator hoher Frequenz (8..16MHz). Welche Frequenz das ist, entscheidet alleine der verwendete externe Quarz/Resonator.

Low: 0xc1 (http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=ATmega8&P=ATmega8&V_LOW=C1&V_HIGH=99&M_LOW_0x3F=0x01&M_LOW_0x40=&M_LOW_0x80=0x80&M_HIGH_0x01=&M_HIGH_0x06=0x00&M_HIGH_0x08=&M_HIGH_0x10=&M_HIGH_0x20=0x00&M_HIGH_0x40=0x00&M_HIGH_0x80=&B_SUT1=P&B_SPIEN=P&B_SUT0=P&B_CKSEL3=P&B_CKSEL2=P&B_BOOTSZ1=P&B_CKSEL1=P&O_BITS=Apply+fuse+bits) wäre der Wert für den internen 1Mhz Oszillator.

pinsel120866
05.03.2008, 16:53
Aha, aber irgend etwas passt noch nicht optimal. Das SUMO-Programm läuft zwar richtig ab, aber er erkennt beim Rausschieben eines Okjektes die Liníe zu spät und ist über der Linie, wenn er stehen bleibt. Ich habe das als zu langsame Rechenleistung interpretiert.

damaltor
05.03.2008, 23:04
ich empfehle die fuse-einstellungen
low: 0xBF
high: 0xC2
wenn du einen bootloader verwendest. ansonsten
low: 0xBF
high: 0xC3

schreibe NIEMALS ein fuse auf 0x00, dann ist der avr "verfust" und lässt sich nur mit zusatzhardware wieder verwenden, weil er eine externe taktquelle erwartet.

der takt wird mit den fuses umgestellt, wenn du oben genannte fuses eingestellt hast wird er mit dem quarz (und 8 mhz) laufen.

pinsel120866
07.03.2008, 18:28
OK, danke Dalmaltor jetzt verhält sich der ASURO korrekt. Wie wären deine Werte für einen ATMega8L?

damaltor
07.03.2008, 21:27
genauso. der -L unterscheidet sich eigentlich nur dadurch dass er weniger spannung benötigt. wenn du dich etwas weiter über fusebits informieren willst dann schau mal hier:
https://www.roboternetz.de/wissen/index.php/Avr#Die_Fusebits
und das ultimative tool zur berechnung der korrekten fuses ist hier:
http://palmavr.sourceforge.net/cgi-bin/fc.cgi

BT
25.05.2008, 19:36
hallo,

ich seh gerade ihr kämpft mit den fuses... habt ihr euch schon die neue version vom progtool runter geladen? da gehn die fuses jetzt komfortabler:

http://myavr.de/download.php?suchwort=progtool

cu BT

damaltor
26.05.2008, 00:03
ich benutze nur avrdude... das funktioniert einwandfrei.