Forum: Mikrocontroller und Digitale Elektronik AtTiny26 so programmieren wie AtMega8, 16?


von Peter B. (peterus)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich hab derzeit Probleme zum Programmieren eines AtTiny26!
Ich will ihm die Daten über nen Usbasp rüberspielen, aber alle 4 Tiny's 
wollen eben nicht.
Der avrdude sagt das da kein Device ist (also Error -1)...
Von der Verdrahtung ists ja so wie bei einem AtMega8 oder 16er. 
(zumindest denke ich das so)

Im Anhang hab ich mal den Schaltplan gepostet. Was schonmal falsch ist: 
MOSI und MISO sind vertauscht....

Danke für die Hilfe!

Lg Peter

von Hc Z. (mizch)


Lesenswert?

Das ist kein Schaltplan, sondern ein Suchspiel ... Man beginnt zu lesen, 
landet sofort auf einem Label, damit ist man schon am Ende, und man darf 
dann suchen wo's weitergeht.  Zum Glück ist nicht viel drauf, aber Spaß 
macht es keinen.

von Peter B. (peterus)


Lesenswert?

Wenn du schon nicht schauen willst, könnte mir dann vielleicht ein 
anderer AtTiny experte Helfen?
Einfach nur zum abklären ob wirklich MOSI auf MOSI, MISO auf MISO und 
SCK auf SCK gehören, so wies eigentlich sein sollte. Oder ob man beim 
Tiny noch auf was anderes aufpassen muss?

Den avrdude führe ich mit diesen Parametern aus:
avrdude -p attiny26 -P usbasp -c usbasp    -U flash:w:main.hex

oder liegt es auch am usbasp, das der mit den Tinys nicht umgehen kann?

von Thomas B. (escamoteur)


Lesenswert?

Meinst Du den AVR USBISP? Mit dem hab ich bei nem Tiny45 keine Probleme

Gruß
Tom

von Peter B. (peterus)


Lesenswert?

nein, ich meine den Usbasp vom herrn Fischl: 
http://www.fischl.de/usbasp/
also ein kleiner isp programmer über usb (kleiner atmega88)

lg peter

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Auf Deinem Schaltplan geht Pin 2 (MISO/D0/OC1A)/PB1 auf MOSI der 
ISP-Buchse.
Genauso geht Pin 1 (MOSI/SDA/\OC1A)/PB0 auf MISO der ISP-Buchse. Da ist 
etwas verdreht. MOSI muss an MOSI und MISO an MISO.

von RoemerV (Gast)


Lesenswert?

Im Schaltplan ist glaub ich MOSI und MISO an den PINs des 
Mikrocontroller vertauscht!

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Ich sehe gerade, das hast Du auch schon selber in Deinem Ursprungspost 
bemerkt.

von Peter B. (peterus)


Lesenswert?

Danke für den tipp!
aber wie bemerkt, ist mir das selber auch schon aufgefallen und auf 
meiner platine zwangsweise ausgebessert, überprüft und nochmal probiert 
worden.
aber leider noch immer keine antwort von den 3 geprüften tiny's

lg

von Karl H. (kbuchegg)


Lesenswert?

Peter Buchegger schrieb:

> Von der Verdrahtung ists ja so wie bei einem AtMega8 oder 16er.
> (zumindest denke ich das so)

Laut Datenblatt ist das auch so.
Die im Datenblatt beschriebenen Programmiersequenzen sehen auch 
identisch aus.

von Vlad T. (vlad_tepesch)


Lesenswert?

also mein usbasp hat bisher erfolgreich folgende µcs behandelt:
atmega88 atemga816 atmega8 atmega32 attiny13 attiny25

von Karl H. (kbuchegg)


Lesenswert?

Peter Buchegger schrieb:

> aber leider noch immer keine antwort von den 3 geprüften tiny's

Alle Leitungen auf Unterbrechungen/Kurzschlüsse durchgeklingelt?

von Peter B. (peterus)


Lesenswert?

Karl heinz Buchegger schrieb:
> Alle Leitungen auf Unterbrechungen/Kurzschlüsse durchgeklingelt?

gerade normal GND / +5V  MOSI  MISO  SCK  RESET duchprobiert: passt 
alles und hat sonst keine verbindung außer dorthin wo es hin soll

von Vlad T. (vlad_tepesch)


Lesenswert?

hast du strom an der zielschaltung, oder versorgst du über das usb-asp?
überprüfe, ob der power-ext. jumper richtig gesetzt ist.
falls ersteres->jumper entfernen
falls letzteres->jumper setzten.

benutzt du 3.3V? da kann es auch probleme geben, da der Programmer mit 
5V arbeitet und die 3.3V logik-level nicht richitg erkennt.

von Peter B. (peterus)


Lesenswert?

die schaltung wird mit dem USB-B Stecker versorgt und da kommen auch 5V 
an, der FT232 springt an und meldet sich auch beim Win korrekt an (5V 
passen also).
Der usbasp versorgt sich selber mit 5V (auch USB-B Stecker) alle beide 
(usbasp und der Tiny) sind 5V ausführungen, sollte also auch kein 
problem geben)

von Vlad T. (vlad_tepesch)


Lesenswert?

der power-ext-jumper ist dann hoffentlich trotzdem entfernt.

hast du den avr verfuset?
hast du den schon mal programmiert?

setze mal den Low-speed jumper

von Peter B. (peterus)


Lesenswert?

der power-ext-jumper ist weg... also der usbasp bekommt ausnahmslos vom 
USB Port seine versorgung...

avr verfuset oder schon mal programmiert: negativ! habs bis jetzt noch 
nie geschafft das ich irgendwie mit einen der 4 Tiny's eine verbindung 
herstellen kann...

das mit dem Low-speed probier ich nochmal, habs zwar schonmal probiert, 
aber ich glaube da hatte ich noch MISO und MOSI vertauscht...

danke für den tipp, melde mich nochmal...

von Peter B. (peterus)


Lesenswert?

nein mit dem low-speed mode gehts leider auch nicht,
gab da eigentlich 2 jumper für den speed: habs dann in alle 4 stellungen 
ausprobiert und bei keinem ist gegangen...

avrdude:
error: programm enable: target doesn't answer. 1
initialization failed, rc=-1

bei nem atmega16 oder atmega8 funktioniert aber alles...

von Thomas B. (escamoteur)


Lesenswert?

Hast Du eventuell ne Möglichkeit, Dir mal nen anderen Programmer 
auszuleihen, vorzugsweise den AVRUSB von ATMEL?

Gruß
Tom

von R. F. (rfr)


Lesenswert?

Was ist mit reset?
Gruss
Robert

von Peter B. (peterus)


Lesenswert?

Thomas Burkhart schrieb:
> Hast Du eventuell ne Möglichkeit, Dir mal nen anderen Programmer
> auszuleihen, vorzugsweise den AVRUSB von ATMEL?

Nein leider nicht, ich hab zwar noch nen Programmer für den LPT-Port, 
aber da hat glaub ich der HCT aufgegeben oder die Platine, muss ich mir 
ne neue ätzen und den HCT neu kaufen...

R. Freitag schrieb:
> Was ist mit reset?

Resetleitung ist ok, durchgeprüft und nirgends ein kurzer oder 
unterbrochen

Fazit: ich glaub ich muss mir den LPT-Programmer neu machen und dann 
nochmal alles überprüfen. Und das schaff ich erst wieder am WE...

Danke für die Hilfe!

von g457 (Gast)


Lesenswert?

Peter Buchegger schrieb:
> R. Freitag schrieb:
>> Was ist mit reset?
>
> Resetleitung ist ok, durchgeprüft und nirgends ein kurzer oder
> unterbrochen

Hat der auch einen Pullup bekommen? Im Schaltplan finde ich keinen..

von Vlad T. (vlad_tepesch)


Lesenswert?

Peter Buchegger schrieb:
> nein mit dem low-speed mode gehts leider auch nicht,
> gab da eigentlich 2 jumper für den speed: habs dann in alle 4 stellungen
> ausprobiert und bei keinem ist gegangen...

meines Wissens nach (und auch der von dir verlinkten Webseite nach) gibt 
es genau einen Jumper, der etwas mit der Geschwindkeit zu tun hat:
slow sck, nach dem schaltplan der Seite
supply target versorgt das Target mit dem Strom des Programmer
self programming ist dazu da den Programmer selbst umzuprogrammieren


das usb-asp hat leider die desingschwäche, dass die Targetspannung nicht 
benutzt wird, um das Target zu programmieren, sondern die usb-spannung 
des Programmers.
hab mir deswegen noch zwei wahlweise zuschaltbare in Serie geschaltene 
Dioden vor den mega gebaut um auch 3.3V schaltungen programmieren zu 
können.
Ist zwar nicht schön, aber funktioniert.
anonsten ist er recht bracuhbar.

von Peter B. (peterus)


Lesenswert?

g457 schrieb:
> Peter Buchegger schrieb:
>> R. Freitag schrieb:
>>> Was ist mit reset?
>>
>> Resetleitung ist ok, durchgeprüft und nirgends ein kurzer oder
>> unterbrochen
>
> Hat der auch einen Pullup bekommen? Im Schaltplan finde ich keinen..

Ja den hat er... links oben beim Schalter findest den im Schaltplan.. 
10k
Und der Funktioniert auch, so wie der Schalter:
bei nicht drücken: 5V
bei drücken 0V

also der is auch nicht...

von Chris L. (kingkernel)


Lesenswert?

Lass pin 4 und pin 6 am ISP-Stecker mal frei!
MISO muss auch MISO, MOSI auf MOSI, SCK auf SCK und RESET auf RESET
ist Reset auch verbunden?
Hast du mit dem USBASP überhaupt schonmal programmieren können (auch 
einen tiny26?)
hast du abblockkondensatoren an den Tiny's? Die sind zwingend 
erforderlich!
Kannst du irgendwie prüfen, ob die Tinys oder der USBASP arbeiten?
Sind alle Massepotentiale miteinander verbunden?

von Vlad T. (vlad_tepesch)


Lesenswert?

g457 schrieb:
> Peter Buchegger schrieb:
>> R. Freitag schrieb:
>>> Was ist mit reset?
>>
>> Resetleitung ist ok, durchgeprüft und nirgends ein kurzer oder
>> unterbrochen
>
> Hat der auch einen Pullup bekommen? Im Schaltplan finde ich keinen..
R4 oben links

von Peter B. (peterus)


Lesenswert?

Christian L. schrieb:
> Lass pin 4 und pin 6 am ISP-Stecker mal frei!

wo? beim usbasp oder bei der platine?

Christian L. schrieb:
> MISO muss auch MISO, MOSI auf MOSI, SCK auf SCK und RESET auf RESET
> ist Reset auch verbunden?

hab ich so wie du sagst

Christian L. schrieb:
> Hast du mit dem USBASP überhaupt schonmal programmieren können (auch
> einen tiny26?)

AtMega8, AtMega16 => OK! ein AtMega128 war glaub ich auch schonmal dran 
und Ok!
Ich arbeite zum ersten mal mit nen Tiny also nein.

Christian L. schrieb:
> hast du abblockkondensatoren an den Tiny's? Die sind zwingend
> erforderlich!

ja, ich hab einen so wie eingezeichnet drinnen!
Der ist am nächsten bei Pin 5 und 6 (also gleich neben dem Sockel, 
abstand ~1mm)

Christian L. schrieb:
> Kannst du irgendwie prüfen, ob die Tinys oder der USBASP arbeiten?

USBasp ist ok: wie gesagt ich kann nen AtMega16 programmieren, aber der 
Tiny will nicht!
Die Tinys kann ich leider nicht überprüfen, da ich sie nicht 
programmieren kann, oder sonst irgendwie zugreifen kann (fuses auslesen 
oder dergleichen)

Christian L. schrieb:
> Sind alle Massepotentiale miteinander verbunden?

Ja sind sie!

von Chris L. (kingkernel)


Lesenswert?

Schonmal versucht, einen Tiny auf nen Breadboard zu stecken und zu 
programmieren? Vielleicht liegt der Fehler in einem Ganz anderen Teil 
deiner Schaltung.
Unterstützt dein Programmer den Tiny26
De Pins 4 und 6 auf der Platine, meine ich!

von Peter B. (peterus)


Lesenswert?

Christian L. schrieb:
> Schonmal versucht, einen Tiny auf nen Breadboard zu stecken und zu
> programmieren? Vielleicht liegt der Fehler in einem Ganz anderen Teil
> deiner Schaltung.

Ein Breadboard hab ich nicht...
Hab zum Programmieren nur den USBasp und theoretisch einen LPT 
programmer (HCT)

Christian L. schrieb:
> Unterstützt dein Programmer den Tiny26

finde da keine infos welche avr's unterstützt werden
Aber laut einem Programm "khazama" welches für den usbasp programmiert 
wurde. sollte es funktionieren, da der Attiny26 in der liste ist...

Christian L. schrieb:
> De Pins 4 und 6 auf der Platine, meine ich!

ich glaube nicht das es an diese liegen wird, da ich genau den gleichen 
sockel (also gleiche belegung) bei den AtMega8 und 16 verwende...

von Karl H. (kbuchegg)


Lesenswert?

Peter Buchegger schrieb:
> Christian L. schrieb:
>> Schonmal versucht, einen Tiny auf nen Breadboard zu stecken und zu
>> programmieren? Vielleicht liegt der Fehler in einem Ganz anderen Teil
>> deiner Schaltung.
>
> Ein Breadboard hab ich nicht...
> Hab zum Programmieren nur den USBasp und theoretisch einen LPT
> programmer (HCT)

Ich würde mir versuchsweise einen IC-Sockel fliegend verdrahten.
War vor 2 Wochen auch schon fast soweit das zu tun, bis ich dann doch 
noch die Haarbrücke an der Pfostenleiste entdeckt habe :-)

von Peter B. (peterus)


Lesenswert?

Christian L. schrieb:
> Schonmal versucht, einen Tiny auf nen Breadboard zu stecken und zu
> programmieren

Meinst du mit Breadboard ein Steckboard? sowas hab ich schon...

Karl heinz Buchegger schrieb:
> Ich würde mir versuchsweise einen IC-Sockel fliegend verdrahten.
> War vor 2 Wochen auch schon fast soweit das zu tun, bis ich dann doch
> noch die Haarbrücke an der Pfostenleiste entdeckt habe :-)

das lustige ist ja: ich hab die schaltung davor auch schon einmal auf 
einem Steckboard aufgebaut, der Attiny funktionierte auch nicht, nachdem 
der aber schon einige zeit bei mir im schrank gelegen ist, dachte ich 
das der tiny vielleicht den geist aufgegeben hat...
also schließe ich daraus: das der usbasp mit dem tiny26 nicht umgehen 
kann...

ich versuchs normal auf nen steckboard...

@Heinz:

hast du vielleicht eine Platine für den LPT-Programmer rumliegen die du 
nicht brauchst?

von Thomas B. (escamoteur)


Lesenswert?

Dass an all den Stellen, an denen Du sie vermutest die richtige Spannung 
anliegt, hast Du schon kontrolliert oder? Hast Du schon mal die 
SPI-Leitungen mit nem Scope / Logicanalyser angeschaut?

Gruß
TOm

von Peter B. (peterus)


Lesenswert?

Thomas Burkhart schrieb:
> Dass an all den Stellen, an denen Du sie vermutest die richtige Spannung
> anliegt, hast Du schon kontrolliert oder?

ja hab ich...

Thomas Burkhart schrieb:
> Hast Du schon mal die
> SPI-Leitungen mit nem Scope / Logicanalyser angeschaut?

Ich hab leider kein Scop oder nen Logicanalyser...
Naja idirekt hab ich mal mit einer Soundkarte raufgeschaut auf MOSI, 
MISO, SCK und RESET und da hats so ausgeschaut als ob daten hin und her 
sausen...

von Chris L. (kingkernel)


Lesenswert?

Hängt sonst noch irgendwas an den ISP-Leitungen, was die 
Programmierkommunikation stören könnte? (SPI-Hardware oder so)

von Peter B. (peterus)


Lesenswert?

Christian L. schrieb:
> Hängt sonst noch irgendwas an den ISP-Leitungen, was die
> Programmierkommunikation stören könnte? (SPI-Hardware oder so)

keine LEDs keine Widerstände... die 2 ICs sind direkt miteinander 
verbunden...

von Klaus 2. (klaus2m5)


Lesenswert?

Sollte in avrdude die partnumber nicht t26 sein? Also:
avrdude -p t26 -P usbasp -c usbasp    -U flash:w:main.hex

von Peter B. (peterus)


Lesenswert?

Klaus 2m5 schrieb:
> Sollte in avrdude die partnumber nicht t26 sein? Also:
> avrdude -p t26 -P usbasp -c usbasp    -U flash:w:main.hex

nein geht auch nicht... das problem ist ja das der usbasp keinen avr 
erkennt... also kann er auch nicht die device id auslesen... sonst würde 
man ja einen anderen fehler bekommen

von Vlad T. (vlad_tepesch)


Lesenswert?

also meine Kommandozeile für den tiny26 sieht so aus (avr8 burn-o-mat):

avrdude.exe -C F:\installed\SDK\WinAVR20090313\bin\avrdude.conf -p t26 
-P usb -c usbasp -i 1000 ...

man beachte den -P usb  Parameter

von Klaus 2. (klaus2m5)


Lesenswert?

>> Sollte in avrdude die partnumber nicht t26 sein? Also:
>> avrdude -p t26 -P usbasp -c usbasp    -U flash:w:main.hex
>
> nein geht auch nicht... das problem ist ja das der usbasp keinen avr
> erkennt... also kann er auch nicht die device id auslesen... sonst würde
> man ja einen anderen fehler bekommen

Aufgrund der partnumber weiss avrdude, wie er auf die device zugreifen 
kann. Wenn die partnumber nicht stimmt, klappt auch der Zugriff nicht. 
Die Definitionen dazu stehen in der avrdude.conf

von Jens (Gast)


Lesenswert?

Hallo Peter!

Ich habe meinen USBasp-Programmer mit der Tiny26 verbunden und AVRdude 
mit folgenden Parametern aufgerufen: -p t26 -c usbasp -P USB:xx –F
Ergebnis: initialization failed, rc=-1
Mit meinen USBasp-Programmer kann ich also auch keine Verbindung zur 
Tiny26 herstellen. Mit einem „PonyProg-Programmer“, “AVR910-Programmer“ 
und „STK500-Programmer“ funktioniert der Verbindungsaufbau dagegen 
problemlos…

LG Jens

von Peter B. (peterus)


Lesenswert?

Vlad Tepesch schrieb:
> man beachte den -P usb  Parameter

gerade probiert funktioniert auch nicht...

Klaus 2m5 schrieb:
> Aufgrund der partnumber weiss avrdude, wie er auf die device zugreifen
> kann. Wenn die partnumber nicht stimmt, klappt auch der Zugriff nicht.
> Die Definitionen dazu stehen in der avrdude.conf

ja schon... nur wenn ich zb, an meinen AtMega8 an den usbasp anschließe 
und dem avrdude sage das es ein AtMega16 ist, sagt er das die deviceid 
falsch ist -> er kann wenigstens die id auslesen, mekert aber dann das 
die id falsch ist, das würde mich ja schonmal freuen wenn das gehen 
würde, tut es aber nicht...

Jens schrieb:
> Ergebnis: initialization failed, rc=-1

genau den Fehler bekomme ich auch... also doch der usbasp... danke für 
die hilfe!

dann werd ich mal versuchen das ich den LPT-Programmer neu ätze... oder 
gibts was gscheites billiges was man sich bestellen kann?

von Thomas B. (escamoteur)


Lesenswert?

Wie wärs mal mit was nicht ganz so billigen, aber das funktioniert?

http://www.reichelt.de/?ACTION=3;ARTICLE=45040;PROVID=2402

Gruß
Tom

von Vlad T. (vlad_tepesch)


Lesenswert?

dann lieber gleich ein usbprog.

Abgesehen davon funktioniert der usbasp recht gut, ich hatte noch keine 
größeren Probleme damit

von Bensch (Gast)


Lesenswert?

> sagt er das die deviceid
falsch ist -> er kann wenigstens die id auslesen,

Ist das so? welche ID liest er denn? FF?

von Peter B. (peterus)


Lesenswert?

Bensch schrieb:
>> sagt er das die deviceid
> falsch ist -> er kann wenigstens die id auslesen,
>
> Ist das so? welche ID liest er denn? FF?

gar keine... so wie weiter oben: error -1 vom avrdude...

von Jens (Gast)


Lesenswert?

Bau Dir einen STK500-Programmer auf, damit hast Du keine Sorgen.
http://www.pcfilter.de/AVR-Ecke/Page12.html

LG Jens

von Peter B. (peterus)


Lesenswert?

Jens schrieb:
> Bau Dir einen STK500-Programmer auf, damit hast Du keine Sorgen.

was kann der STK500 was andere nicht können?
zb gegenüber den STKxxx (ich glaub STK200) welche über den Parallelen 
Port rausgeht? wahrscheinlich mal das man dann keine Parallele nicht 
mehr braucht, und sonst?

von Jens (Gast)


Lesenswert?

> was kann der STK500 was andere nicht können?

Was ein STK500-Programer „mehr“ kann als ein STK200 weis ich nicht. Mir 
ist der Anschluss am USB-Port wichtig und das der Programmer auch später 
einmal unter Win7 funktioniert. Unter Win7 habe ich den Programmer noch 
nicht getestet, aber FTDI stellt Treiber für Win7 x86 und x64 zur 
Verfügung, von daher denke ich mal das es hier auch keine Probleme gibt. 
Wenn Du aber noch uneingeschränkt auf Dein LPT-Port zugreifen kannst, 
dann spricht sicherlich auch nichts gegen einen STK200-Programmer.

LG Jens

von Peter B. (peterus)


Lesenswert?

also der FT232R ist Win7 tauglich! hab ich schon in verwendung...
Wie das aber dann mit dem avrdude zusammenpasst weiß ich nicht... aber 
putty usw ist alles ok!
LPT... naja... auf meinen Laptops nicht mehr... dafür noch an 2 PCs im 
Haus... aber eigentlich hast recht... man sollte schon an die zukunft 
denken...

von Jens (Gast)


Lesenswert?

> also der FT232R ist Win7 tauglich! hab ich schon in verwendung...

Na die Info ist doch schon einmal Gold wert… ;-)

> Wie das aber dann mit dem avrdude zusammenpasst weiß ich nicht...

Ist Notfalls aber auch kein Problem, denn der Programmer funktioniert 
auch aus dem AVR-Studio und aus Bascom heraus.

LG Jens

von Bensch (Gast)


Lesenswert?

>> sagt er das die deviceid
> falsch ist -> er kann wenigstens die id auslesen,
>
> Ist das so? welche ID liest er denn? FF?

> gar keine... so wie weiter oben: error -1 vom avrdude...

Wie denn, kann er oder nicht? Du widersprichst dir selbst. So kann dir 
keiner helfen.

von Peter B. (peterus)


Lesenswert?

Bensch schrieb:
> Wie denn, kann er oder nicht? Du widersprichst dir selbst. So kann dir
> keiner helfen.

Der zusammenhand ist schon sehr durcheinander...
das war nur ein beispiel zum verdeutlichen das der usbasp den tiny nicht 
findet!
also ich bekomm error -1! also keinen tiny26 und auch keine device id...

von Walter (Gast)


Lesenswert?

mit einem selbstaufgebauten usbasp und avrdude funktioniert es 
einwandfrei:

avrdude -p t26 -c usbasp

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.02s

avrdude: Device signature = 0x1e9109

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Bei jungfräulichen avr´s muss die erste Programmierung mit "Slow SCK" 
(Brücke zwischen Pin25 und Masse)  vorgenommen werden, da der interne 
Takt im Auslieferungszustand bei 1 Mhz liegt und der usbasp im 
Normalbetrieb eine Taktrate von min. 1,5 Mhz benötigt.

Walter

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.