Forum: Mikrocontroller und Digitale Elektronik AVR ISP via Dragon geht nicht für neue Chips


von Ingo (Gast)


Lesenswert?

Hallo,

Ich verwende AVR Studio 6 SP1 und einen AVR Dragon.

Platine 1: mit ATMEGA32 DIP, ISP10, bereits mit Firmware geflasht, fuse 
bits
SPIEN
BOOTSZ 256W_3F00
BODLEVEL 4V0
BODEN
EXTHIFXTALRES_16KCK_64MS

Ich kann die Device Information und Fuses auslesen und habe erfolgreich 
ein Update der Firmware geflasht. Der Adapter ISP10->ISP6 ist Eigenbau, 
aber scheint zu funktionieren ( zwei Pfostenleisten, etwa 20cm 
Flachbandkabel, Adern am ISP10 Stecker entsprechend neu angeordnet ).

Setze ich einen neu gekauften und noch nie programmierten ATMEGA32 ein 
scheitert das Auslesen der Device ID, Target Voltage wird mit nur 0.7V 
angezeigt.


Platine 2: Pollin Atmel Evaluationsboard V 2.0, ATMEGA32 DIP, ISP10, 
JTAG

Den bereits geflashten ATMEGA aus Platine 1 kann ich hier einsetzen und 
über ISP auslesen. JTAG geht nicht da über die Fuses disabled.

Einen neuen ATMEGA kann ich über JTAG auslesen, über ISP bekomme ich den 
gleichen 0.7V Fehler beim ID auslesen. Die initialen Fuse Bits des neuen 
ATMEGA sind
JTAGEN
SPIEN
BOOTSZ 2048W_3800
BODLEVEL 2V7
INTRCOSC_1MHZ_6CK_64MS_DEFAULT

Ich hatte zunächst den ISP Takt in Verdacht, und im Dragon von 1MHz auf 
125kHz reduziert ( sollte mit dem INTRCOSC 1MHz dann laufen ). Kein 
Erfolg. Dann habe ich den neuen ATMEGA komplett mit Firmware und Fuses 
für Platine 1 per JTAG bespielt, und dort eingesetzt. Funktioniert 
einwandfrei und er lässt sich in Platine 1 über ISP auslesen.


Das Problem ist also, dass ich neue ATMEGAS nicht über ISP ansprechen 
kann, nur über JTAG. Nach Programmieren über JTAG geht auch ISP.

Leider gibt es nun eine Platine 3, mit einem fest verlöteten ATMEGA32 
SMD und nur ISP10 auf dem Board. Auch den kann ich nicht über ISP 
ansprechen, 0.7V werden angezeigt.

Die Spannungsversorgung der Platinen habe ich jeweils aktiviert und 
geprüft, das sollte es auch nicht sein, zumal es über JTAG ja geht, und 
auch über ISP wenn der Chip nicht neu ist...

Übersehe ich hier etwas Offensichtliches?

von spess53 (Gast)


Lesenswert?

Hi

>Übersehe ich hier etwas Offensichtliches?

Wie hoch ist dein ISP-Takt? Bei einem neuen ATMega32 muss er kleiner 
als 250 kHz sein.

MfG Spess

von Joe S. (bubblejoe)


Lesenswert?

spess53 schrieb:
> Wie hoch ist dein ISP-Takt? Bei einem neuen ATMega32 muss er *kleiner*
> als 250 kHz sein.

Stimmt nur bedingt, er muss nur kleiner als 1/4 des Taktes sein. Also in 
diesem Fall nur, wenn der Atmega mit 1MHz getaktet ist. Bei 8MHZ gehen 
bis 2MHz ISP Frequenz.

von spess53 (Gast)


Lesenswert?

Hi

>Stimmt nur bedingt, er muss nur kleiner als 1/4 des Taktes sein. Also in
>diesem Fall nur, wenn der Atmega mit 1MHz getaktet ist. Bei 8MHZ gehen
>bis 2MHz ISP Frequenz.

Ein ATMega32 wird mit 1MHz Takt ausgeliefert.

MfG Spess

von Stefan (Gast)


Lesenswert?

Er hat doch schon 125kHz ISP Takt versucht, weil er das mit dem ISP Takt 
versus CPU Takt schon verstanden hat. Tip: Erst zweimal lesen, dann 
antworten.

Ich habe mal gelesen, dass das Kabel zwischen dem Dragon und dem 
Mikrocontroller nicht länger als 30cm sein soll.

> 0.7V werden angezeigt.

Das hat aber nichts mit der Kommunikation zum AVR zu tun. Die Spannung 
wird einfach gemessen. Prüfe mal, ob der VCC Pin des ISP Stecker 
beschaltet ist. Falls nciht, verbinde ihn mit VCC vom AVR.

Der Dragon hängt vom VCC am ISP Stecker ab. Wenn der Pin nicht 
beschaltet ist, funktioniert er nicht.

Das Pollin Board (zumindest meins) hat einen recht großen Kondensator am 
Reset Pin. Ich musste ihn erheblich verkleinern (auf 100nF), damit die 
ISP Schnittstelle zuverlässig funktionierte.

von Ingo (Gast)


Lesenswert?

Stefan, dein Tipp hat mich auf die richtige Spur gebracht!

Ich habe VCC am Pollin Board gemessen, war ok. Dann direkt auf dem 
Dragon an den ISP Pins gemessen, und hatte die ominösen 0.7V.
Die VCC Leitung des Adapters war ok. Aber ich habe GND beim ISP10 nur 
auf Pin 4 gelegt. Sollte eigentlich gehen, da Pin 4, 6,8, 10 GND sind 
und normal auf der Leiterplatte verbunden. Bei Pollin hat man sich aber 
überlegt nur 6,8,10 auf GND zu legen, und 4 in der Luft hängen zu 
lassen. Einfach 4-6 auf dem Pollin Board gebrückt, jetzt geht es!

Ich vermute, dass das Problem mit der Platine 3 der ISP Takt war. Den 
habe ich zwar später auf 125 kHz reduziert, aber nicht mehr mit Platine 
3 getestet, sonder mit dem Pollin Board.

Auf Platine 3 gibt es noch etwas zu reparieren, wenn das gemacht ist 
probiere ich es über ISP nochmal, ich glaube das müsste dann 
funktionieren.

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.