Forum: Mikrocontroller und Digitale Elektronik STK500 Programmiert nur DIL's


von Chris (Gast)


Lesenswert?

Hey Leute,

ich hab mal ne Frage:

Und zwar kann ich jeden Atmel als DIL mit meinem STK500 USB Programmer 
unter Windows 7 flashen.
Sobald ich aber einen in TQFP Bauform anschließe, bekomme ich keine 
Verbindung.
Woran kann das liegen? Ist der Programmer zu schnell? Wenn ja, wie 
bekomme ich den langsamer?

Danke

von TestX .. (xaos)


Lesenswert?

ok nochmal von vorne... was hast du genau an hardware ?
das stk500 hat in den mir bekannten versionen nur 2 RS232 ports, kein 
usb.
tqfp geht nur mit dem stk501 und da muss das isp kabel entsprechend 
vebrunden werden.
womit programmierst du dir dinger, AVRStudio ?

von spess53 (Gast)


Lesenswert?

Hi

Welchen TQFP? Es gibt AVRs im TQFP-Gehäuse, die nicht über MOSI/MISO 
programmiert werden.

MfG Spess

von Chris (Gast)


Lesenswert?

Also ich habe bei Ebay diese stk500 Dongle gekauft, welche einen USB 
anschluss hat.
"Uapli" und "ISP Programmer" steht drauf.

Ich verwende AVR Studio, das stimmt.
Im Moment handelt es sich um den Atmega 8535, und den Atmega 48-20Au, 
welchen ich als TQFP nicht programmieren kann.

Diese lassen sich nur mit meinem Ponyser via Serieller Schnittstelle 
programmieren. Sobald ich diese mit der STK500 Dongle per USB 
programmieren will, wird der AVR nicht gefunden.

Danke

von Ronny (Gast)


Lesenswert?

Wie sind die TQFP-Chips den angeschlossen? Was hängt noch so an den 
ISP-Leitungen dran, falls sie schon in der Zielschaltung sind?

Den Atmega88 im TQFP hab ich erst letzte Woche mit dem STK500 geflasht, 
hat prima geklappt. Auf dem Atmega88 Board hatte ich eine 2x3 
Pfostenleiste mit dem ISP-Standard-Pinning vorgesehen.

von Grrrr (Gast)


Lesenswert?

Chris schrieb:
> Dongle

Was denn nun? Ein Dongle ist ein Kopierschutzstecker.

>stk500 (...) gekauft, welche einen USB anschluss hat.
Sowas gibt es nicht.

>"Uapli" und "ISP Programmer" steht drauf.
Finde ich im Internet nicht. Link zum Hersteller?

von Chris (Gast)


Lesenswert?

Also den hab ich gekauft ebay: 220565361357

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=220565361357&ru=http%3A%2F%2Fshop.ebay.de%3A80%2F%3F_from%3DR40%26_trksid%3Dm38%26_nkw%3D220565361357%26_fvi%3D1&_rdc=1

Auf dem Programmer sitz ein kleiner AVR, kein USB Seriell Wandler oder 
ähnliches. Nur der Chip, paar Widerstände usw, das wars.


@Grrrr
Du weißt was ich mit Dongle meine;)

Die Chips sind alle direkt an den Programmer angeschlossen, also sie 
sind in der Schaltung alle frei. Selbst wenn der Chip an garnichts 
angeschlossen ist (Versorgungsspannung ist natürlich vorhanden), geht es 
nicht.

Danke

von Grrrr (Gast)


Lesenswert?

Chris schrieb:
> @Grrrr
> Du weißt was ich mit Dongle meine;)

Ich schon. Du anscheinend nicht. Deswegen der Hinweis was ein Dongle 
ist.  Ich nenn' ja auch "Elefanten" nicht "Zitronen". Abgesehen vom 
Geschmack gibt es noch anderer relevante Unterschiede. ;-)

Der Hinweis scheint mir nachträglich auch nicht unangebracht. Denn Du 
schreibst auch:

> Auf dem Programmer sitz ein kleiner AVR, kein USB Seriell Wandler oder
> ähnliches.

während in der Artikelbeschreibung ganz klar zu lesen ist:

"Softwareunterstützung
      - AVR Studio (COM1..COM9)
"

Daraus lässt sich erkennen, das der AVR auf dem Programmer einen USB 
Seriell Wandler implementiert. Sonst ginge er nicht mit dem AVR Studio.

Zu Deinem Problem:
Das wahrscheinlichste ist im Moment, das Du den AVR versehentlich nicht 
richtig angeschlossen hast. Vielleicht ist er auch verfust.
Zeig' doch bitte mal die Fehlermeldung.

von Chris (Gast)


Lesenswert?

Also verfused sind die alle nicht. Ich habe jede Schaltung die ich bis 
jetzt gebaut habe (das waren gut 40 SMD Avr) versucht damit zu 
programmieren. Jedesmal aufs neue. Egal welches Platinen Layout, etc, 
nicht hat funktioniert.


Das kommt an meinem neuen Rechner heraus, da bekommt er wenigstens eine 
Verbindung:

C:\Users\XT4\Desktop\Projektdaten\****>make program
avrdude -p atmega8535 -P com2     -c stk500    -U flash:w:main.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.05s

avrdude: Device signature = 0x1e9308
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performed

         To disable this feature, specify the -D option.
avrdude: current erase-rewrite cycle count is -257 (if being tracked)
avrdude: erasing chip
avrdude: reading input file "main.hex"
avrdude: input file main.hex auto detected as Intel Hex
avrdude: writing flash (908 bytes):

Writing | ################################################## | 100% 
0.29s

avrdude: 908 bytes of flash written
avrdude: verifying flash memory against main.hex:
avrdude: load data flash data from input file main.hex:
avrdude: input file main.hex auto detected as Intel Hex
avrdude: input file main.hex contains 908 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 
0.23s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0002
         0x23 != 0x01
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

make: *** [program] Error 1

von Bong (Gast)


Lesenswert?

Der Programmer ist ein Nachbau eines USBtinyISP. Um es mit dem AVR 
Studio zu benutzen sind in der Regel spezielle Treiber notwendig. Such 
mal bei Google nach "USBtinyISP". Auf der Herstellerseite (Adafruit) 
findest du relevante Informationen.

von Chris (Gast)


Lesenswert?

Den Treiber habe ich schon geladen dazu, aber es geht trozdem nur mit 
den Dil's....

von Grrrr (Gast)


Lesenswert?

>Das kommt an meinem neuen Rechner heraus, da bekommt er wenigstens eine
>Verbindung:
Darf ich das so verstehen, das an einem anderen Rechner ein anderer 
Fehler kommt? Welcher? Sind die beiden Fehlerarten reproduzierbar? Mit 
ein und dem selben Chip?

>Die Chips sind alle direkt an den Programmer angeschlossen, also sie
>sind in der Schaltung alle frei. Selbst wenn der Chip an garnichts
>angeschlossen ist (Versorgungsspannung ist natürlich vorhanden), geht es
>nicht.
Zumindest Taktquelle (falls nicht interner RC-Oszillator) und Abblock- 
bzw. Puffer C's sollten vorhanden sein.
Passt die ISP-Frequenz zum Takt?

Es gibt eigentlich keine prinzipiellen Gründe warum ein und derselbe Typ 
als DIL programmierbar sein soll und als TQFP nicht.

Daher und insbesondere weil Du anscheinend etwas erfahren bist bleiben 
letztlich nur eine Reihe von eher unerfreulichen und evtl. schwer zu 
findenden Gründen.

Fangen wir mit dem eher erfreulichen unter den unerfreulichen an:

Es ist möglich, das Du irgendwas relativ triviales einfach immer wieder 
übersiehst. D.h. Du siehst genau auf die fehlerhafte Stelle in der 
Verdrahtung, den Einstellungen, der Stromversorgung uswusf. wirst aber 
dessen nicht gewahr. Es kann nicht sein was nicht sein darf bzw. Was 
schon immer lief kann jetzt nicht falsch sein.

Um das auszuschliessen empfiehlt es sich die Sache ein paar Tage 
beiseite zu legen und was anderes zu machen. Danach überprüfst Du 
bewusst wie ein Anfänger alles nach Datenblatt und Handbuch und setzt 
dabei absichtlich nichts , auch nicht die trivialste Kleinigkeit 
voraus. Stelle alles in Frage und prüfe es dreimal bevor Du das 
aufgibst. Hilfreich kann auch ein Kollege oder sogar ein Unbeteiligter 
sein, dem Du dabei erklärst was Du gerade machst. Oft ist es so das der 
Zuhörer den Knackpunkt zwar nicht mitbekommt, aber Du, weil Du bei dem 
Versuch es zu beschreiben plötzlich merkst was nicht stimmt.

Solche Situationen sind vor allem extrem frustrierend. Lass Dir also 
Zeit dabei und rede Dir selbst gut zu. Wenn Du die Geduld verlierst, 
mache eine Pause. Ggf. wieder über mehrere Tage.

Da es eine Reihe von Gründen geben kann wäre es gut wenn Du 
dokumentierst was Du gemacht hast und was dabei herauskam. Falls es 
nicht klappt kannst Du die Infos hier posten, so das man vielleicht 
einiges ausschliessen kann. Mach auch ein Photo von Deinem Aufbau.

Der Knackpunkt wird sehr wahrscheinlich ein Perspektivwechsel in 
irgendeiner Hinsicht sein. Das kannst Du ruhig wörtlich nehmen. Dreh die 
Platine auf den Kopf. Schau sie Dir im Tageslicht an, wenn Du 
normalerweise unter Kunstlicht arbeitest. Mach' es morgens wenn Du eher 
ein Nachtmensch bist. Nimm ein Mikroskop wenn Du es sonst mit ner Lupe 
anschaust. Nimm andere Einstellungen in der Software, die aber im 
Prinzip auch gehen müssten. Nimm einen anderen Rechner, Betriebssystem. 
Etcpp.

Nur Mut. Die Idee kommt wahrscheinlich beim Bananen wiegen im Supermarkt 
oder bei den berühmten "Sitzungen"; Du weisst schon wo.


Viel Erfolg.

von kasperle05 (Gast)


Lesenswert?

Ich habe mir den Fred jetzt nicht ganz durchgelesen,
aber nicht immer sind MISO/MOSI auch die Programmieranschlüsse.
Datenblatt anschauen.

von kasperle05 (Gast)


Lesenswert?

Eventuell stimmt auch das Signaturbyte nicht.
Abfrage im AVR-Studio abschalten.

von holger (Gast)


Lesenswert?

>Es gibt eigentlich keine prinzipiellen Gründe warum ein und derselbe Typ
>als DIL programmierbar sein soll und als TQFP nicht.

Stimmt. Allerdings haben die TQFP mehr VCC/GND Paare. Wenn
man dann beim layouten sparen möchte und die nicht alle anschließt
und abblockt, kann das zu solchen Problemen führen.

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.