Forum: Mikrocontroller und Digitale Elektronik Probleme ISP-Verbindung AVR Dragon zu Pollin-Board v.2


von Sven W. (Firma: basement industries) (dj8nw)


Lesenswert?

Servus Leute!
Vielleicht kann mir jemand bei meinem Problem helfen, ich verzweifel 
grad so ein bisschen und steh wahrscheinlich 3mm vor der Lösung...wie 
immer eben;)

Also folgendes, versuche gerade verschiedenste µC´s im Pollin- 
Evaluationsboard V2.01 per ISP anzusprechen, aber AVRStudio bringt immer 
nur "ISP_mode Error"...
Der Dragon an sich dürfte ok sein, denn auf der Onboardarea lassen sich 
die entsprechenden µC´s (aktuell mega 16/16pu) auslesen.

ISP-Verbindungsleitung ist ein selbstgebauter 6Pol/10Pol-Adapter, der 
meiner Ansicht nach doch ok sein dürfte; folgendermaßen aufgelegt:


6Pol:     10Pol:

Pin
1  Miso     9
2  +5V      2 (*)
3   SCK     7
4   Mosi    1
5   Reset   5
6   GND     10

Alle Leitungen sind wie oben beschrieben verbunden über ca 20cm 
Flachleitung
(*)wobei die 5V-Versorgung nicht verbunden ist, da ja das Pollin Board 
auch an Spannung liegt.
Habe alle Leitungen vom Dragon bis direkt an den Mega16 ohmisch 
durchgeprüft, alle Verbindungen sind ok.

Pegelmessung an Mega16-Pins im Ruhezustand (beim Dragon leuchtet nur 
grüne LED):

Pin:  Messung1:   Messung2:
6     2,9V        2,9V
7     2,9V        5,0V
8     0,0V        3,0V
9     5,0V        5,0V (Reset Taster funktioniert)

Messung 1:Dragon an Board verbunden
Messung 2:Board alleine im Betrieb, Dragon nicht verbunden

Wäre super wenn irgendjemand eine Idee hat, weil momentan häng ich 
irgendwie total...
Hoffe soweit ausführliche Infos gegeben zu haben.

Gruß, Sven

von Sven W. (Firma: basement industries) (dj8nw)


Lesenswert?

...keiner hier der vielleicht ne Idee hat?
Gruß, Sven

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Sven Wehrfritz schrieb:

> (*)wobei die 5V-Versorgung nicht verbunden ist, da ja das Pollin Board
> auch an Spannung liegt.


Warum hast du VTG nicht verbunden?

In der AVR Dragon Online-Hilfe steht nur, dass bei extern versorgtem 
Targetboard der Vcc-Header des AVR Dragon nicht verbunden werden soll.
#1 => Introduction

Der Vcc-Header ist was anderes als die VTG-Leitung am ISP-Header.
#1 => Getting Started => Board Description / Headers

Unter #1 => Programming => ISP Description steht sogar explizit:

"Note: AVR Dragon must sense the target voltage at pin 2 on the ISP 
header in order to set up the level-converter. For on-board targets, the 
voltage must be supplied from pin 2,4,6 on the VCC header (5V) into pin 
2 (VTG) on the ISP header. When using off-board targets there should be 
no connection between VCC header and pin 2 of the ISP header."

Kurzfassung:
Die VTG (= +5V des Pollin-Boards) müssen zum AVR Dragon gelangen!

BTW:
Du bist bislang der einzige, mit der Fehlermeldung "ISP_mode Error".
http://www.google.de/search?hl=de&source=hp&q=%22ISP_mode+Error%22&btnG=Google-Suche&meta=
Bist du sicher, dass du den exakten Wortlaut der Fehlermeldung 
abgeschrieben hast?

#1
http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/AVRDragon/AVRDragon.htm

von Sven W. (Firma: basement industries) (dj8nw)


Angehängte Dateien:

Lesenswert?

Hallo Stefan!

Hab ich auch schon probiert, ändert aber seltsamerweise nichts an der 
Fehlermeldung.Siehe Anhang

Also ich hab jetzt auf meiner Adapterplatine quasi die beiden Pin2 
miteinander verbunden. Ganz dumme Frage, Pollin Board muss schon in 
Betrieb sein? (hängt an Netzteil)

Oder soll ich mal das Board spannungslos machen und am Dragon den 
VCC-Header an Pin 2 mit auflegen? Oder bin ich da auf dem Holzweg?

Gruß, Sven

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Sven Wehrfritz schrieb:

> Hab ich auch schon probiert, ändert aber seltsamerweise nichts an der
> Fehlermeldung.Siehe Anhang

Hast du den Hinweis zur ISP-Geschwindigkeit bereits befolgt? Dein 
fabrikneuer AVR rennt noch mit 1 MHz, d.h. die ersten 
Programmierversuche sind mit max. 250 kHz ISP-Speed zu machen.

> Also ich hab jetzt auf meiner Adapterplatine quasi die beiden Pin2
> miteinander verbunden. Ganz dumme Frage, Pollin Board muss schon in
> Betrieb sein? (hängt an Netzteil)

Ja. Muss in Betrieb sein, d.h. am Netzteil hängen.

> Oder soll ich mal das Board spannungslos machen und am Dragon den
> VCC-Header an Pin 2 mit auflegen? Oder bin ich da auf dem Holzweg?

Nein. Das Pollin-Board ist extern versorgt. Du sollst dem nicht 
hintenrum Spannung geben.

von Sven W. (Firma: basement industries) (dj8nw)


Lesenswert?

So, schon mal schönen Dank erstmal, also Verbindung klappt auf jeden 
Fall mal soweit, dass man drauf zugreifen kann, aber:
Muss erstmal dazusagen, dass ich mit AVR´s mehr oder weniger zum ersten 
Mal zu tun hat, abgesehen von den Sachen damals aus der Berufsschule, da 
hatten wir seinerzeit den 8085 in Assembler programmiert. Von daher 
bitte ich zu entschuldigen, wenn ab und zu mal anscheinend "dumme" 
Fragen kommen...

Also folgendes, wenn ich jetzt her gehe, und ein einfaches I/O Programm 
schreibe in AVRStudio, hier der Quelltext:
^^
.include "m16def.inc"

  ldi r16, 0xff
  out DDRB, r16

  ldi r16, 0x00
  out DDRD, r16

loop:
  in r16, PIND
  out PortB, r16
  rjmp loop
^^
und hintennach auf "assemble and run" klicke, tuts, zwar erstmal was, 
bringt unten in der Konsole auf keine Fehlermeldung, aber dann kommt ein 
Fenster:
1.
"Failed to identify target.would you like to retry with external reset 
enabled?"

auf yes geklickt kommt dann:
2.
"failed to identify target.would you like to use SPI to enable the JTAG 
interface fuse?to continue, use the ISP cable to attach the target´s SPI 
pins"
auf ok geklickt folgt dann
3.
"JTAG interface has been enabled.Reattach the probe to the jtag 
connector to continue"
dann wieder auf ok, und dann kommt wieder die erste Meldung usw usw....

von Hc Z. (mizch)


Lesenswert?

Wenn ich das richtig verstanden habe, bist Du über ISP verbunden.  Damit 
kannst Du nur programmieren, aber nicht debuggen.  Nun kenne ich AVR 
Studio nicht gut genug, aber ich nehme an, dass es bei "assemble and 
run" genau Letzteres tun will.

Es fordert auch ausdrücklich ein Umstecken auf eine JTAG-Verbindung an, 
die hast Du aber (noch) nicht.  Wenn ich richtig informiert bin, hat das 
Pollin-Board einen JTAG-Connector, der 1:1 auf den des Dragon passt. 
Probier's mal über den.  Natürlich musst Du dafür die JTAGEN-Fuse 
gesetzt haben (0), aber das ist ja wohl eben passiert.

(Edit: Tippfeler)

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Sven Wehrfritz schrieb:

> Also folgendes, wenn ich jetzt her gehe, und ein einfaches I/O Programm
> schreibe in AVRStudio, hier der Quelltext:
> ...
> und hintennach auf "assemble and run" klicke, tuts, zwar erstmal was,

Es tut erstmal ISP Programmieren, d.h. das übersetzte Programm ins Flash 
des AVRs speichern.

> bringt unten in der Konsole auf keine Fehlermeldung, aber dann kommt ein
> Fenster:
> 1.
> "Failed to identify target.would you like to retry with external reset
> enabled?"
>
> auf yes geklickt kommt dann:
> 2.
> "failed to identify target.would you like to use SPI to enable the JTAG
> interface fuse?to continue, use the ISP cable to attach the target´s SPI
> pins"
> auf ok geklickt folgt dann
> 3.
> "JTAG interface has been enabled.Reattach the probe to the jtag
> connector to continue"
> dann wieder auf ok, und dann kommt wieder die erste Meldung usw usw....

Das ist Debuggen, der Run-Teil aus deinem Assemble&Run Kommando. Du 
versuchst den Programmablauf im AVR nachzuverfolgen.

Weil dein AVR Dragon nicht über einen JTAG Header mit dem AVR 
verbunden ist, sondern nur über einen ISP-Header, ist die Meldung "Es 
wird nix am oder mit JTAG Interface gefunden" voll in Ordnung.

Vorschlag: Bau dir einen JTAG Adapter z.B. auf die grosse Jumperleiste 
am Pollin-Board.

von Sven W. (Firma: basement industries) (dj8nw)


Lesenswert?

Dankeschön für die Antwort! Kling auf jeden Fall recht plausibel, werd 
ich auch später mal ausprobieren.
Nur generell um den  µC mit dem oben gelisteten Code zum laufen zu 
bekommen hapert es noch ein bisschen....

Also wenn ich mir das jetzt anschau, müsste es doch eigentlich nach 
erfolgtem programmieren (Preisfrage: Flash oder EEprom??), wenn an PD2,3 
und 4 ein Taster hängt, an PortB ein definierter Pegel stehen, aber ich 
mess hier an PB 0-4 und 6 = 1,5V,sowie an PB5 und 7 = 0,5V,

Zur Info, es sind keine Lockbits gesetzt, und Fusebits sind alle nicht 
abgehakt, bis auf SPIEN, das hat nen Haken incl. kleinem roten 
Fragezeichen in der Checkbox....

von Sven W. (Firma: basement industries) (dj8nw)


Lesenswert?

Dankeschön ihr beiden, hat geklappt, "hello world" hat funktioniert! 
habe den Fehler gefunden, und zwar hab ich auf den Dragon ne neue 
Firmware draufgespielt!

Hätt ich auch eher drauf kommen können, aber wie schon gesagt, manchmal 
is das ein kleines Ding, das man vergisst und hintennach denkt man sich 
einfach "oh mann!!!"

So, jetzt kanns an die Hardware gehen, kommt alles in ein kleines 
Alu-Köfferchen rein damit man Sonntag nachmittag weng im Wohnzimmer 
spielen kann;)

Wünsch euch noch nen schönen Sonntag Abend!

Viele Grüße, Sven

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.