mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega Kommunikationsprobleme


Autor: Andreas H. (heilinger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein kurioses Problem.
Ich programmiere einen ATmega168PA und benutze dazu den AVR Dragon. Wenn 
ich das Board, wo der uC drauf ist, nun mit dem AVR Dragon versorge 
(5V), liest er bei mir die Fuses aus wie er Lust hat und ich kann ihn 
nicht programmieren, also die Kommunikation scheint gestört zu sein.

Wenn ich das Board über eine externe Spannung versorge, klappt die 
Kommunikation und Programmierung ohne Probleme.

Woran kann das liegen? Ich habs auch schon mit nem zweiten AVR Dragon 
versucht, dort ist das gleiche Problem.

Die Pins SCK, MISO und MOSI sind vom AVR Dragon direkt mit dem uC 
verbunden, ohne andere Verbindungen. Nur die Resetschaltung hat noch 
eine andere Schaltung dran.

Spannung bei externer Versorgung: 4,94V
Spannung bei Versorgung über Dragon: 4,95V

Danke

Autor: Mark P. (kellerkind)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Heil schrieb:
> Die Pins SCK, MISO und MOSI sind vom AVR Dragon direkt mit dem uC
> verbunden, ohne andere Verbindungen. Nur die Resetschaltung hat noch
> eine andere Schaltung dran.

Blöde Frage: und Gnd?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Wenn ich das Board, wo der uC drauf ist, nun mit dem AVR Dragon versorge
>(5V), liest er bei mir die Fuses aus wie er Lust hat und ich kann ihn
>nicht programmieren, also die Kommunikation scheint gestört zu sein.

Wie 'mit dem Dragon versorge'? Der ISP-Anschluss ist keine Versorgung. 
Da wird nur die Spannung gemessen.

MfG Spess

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 12 Motoren und das display werden auch ueber den Dragon gespiesen ?

Autor: Andreas H. (heilinger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die 6 ISP-Leitungen des Dragon gehen direkt auf die Eingänge am uC. 
Somit ist GND auch angeschlossen. Die Verbindung vom VCC-ISP-Anschluss 
habe ich natürlich weitergeschleift auf einen der drei VCC-Pins auf dem 
Dragon, das stellt dann quasi meine "Versorgung" dar.

VCC vom Dragon wird somit auch direkt mit VCC am uC verbunden. Die 
externe Versorgungsspannung liefert 5,6V mit max. ca. 30mA und wird dann 
über nen MAX1615 auf 5V geregelt. Mit der Versorgung läuft dann auch die 
komplette Elektronik. Bin bisher davon ausgegangen, dass der Dragon auch 
soviel liefert?!

Somit sind weder Motoren noch Displays angeschlossen ;) Große 
Verbraucher habe ich also nicht.

Hoffe auf neue Ideen... Und liegts wirklich an der Elektronik drumherum? 
Hm... wäre blöd, da ich den uC gerne unabhängig der externen Versorgung 
programmieren möchte.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess hat Recht!

Autor: Sven W. (Firma: basement industries) (dj8nw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst den µC direkt aufm Dragon ansprechen?

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Heil schrieb:
> Also die 6 ISP-Leitungen des Dragon gehen direkt auf die Eingänge am uC.
> Somit ist GND auch angeschlossen. Die Verbindung vom VCC-ISP-Anschluss
> habe ich natürlich weitergeschleift auf einen der drei VCC-Pins auf dem
> Dragon, das stellt dann quasi meine "Versorgung"

der AVR ISP Mk2 hat beim ISP-Anschluß auch einen VCC-Pin, damit wird 
aber nur die BESTEHENDE Versorgungsspannung des µC abgefragt, damit der 
Programmer die richtigen Pegel bereitsstellt. Könnte beim Dragon genauso 
sein, dass wollte spess sagen...


> Somit sind weder Motoren noch Displays angeschlossen ;) Große
> Verbraucher habe ich also nicht.
>
das sollte sohl ein Hinweis auf dne fehlenden Schaltplan etc sein...

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>spess hat Recht!

Er hat aber ISP-VCC mit dem VCC-Header verbunden. Sollte theoretisch 
gehen.
Allerdings ist der Dragon auf 300mA (incl. Dragon) begrenzt. Kommt 
darauf an, was die Schaltung zieht. Das Programmieren von AVRs auf dem 
Dragon ist ja kein Problem.

MfG spess

Autor: Andreas H. (heilinger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie gesagt, ich habe nen Verbrauch von max. 30 mA, das sollte die 
USB-Versorgung eben mitmachen. Wenn ich den VCC-Header nicht verbunden 
hätte, könnte ich schlecht am VCC-Pin des uC 5V messen, oder?

Den uC direkt auf den Dragon zu schalten wird schwer, da ich den 
ATmega168PA-AU benutzte...

Autor: Sven W. (Firma: basement industries) (dj8nw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Den uC direkt auf den Dragon zu schalten wird schwer, da ich den
> ATmega168PA-AU benutzte...

Hi Andreas!
ja, da hast wohl recht, wird etwas schwer...;)
Benutzt Du die Pins für die isp-Programmierung in deiner Schaltung 
anderweitig? irgendwelche Widerstände die dir die Pegel versauen?
War bei mir mal so... da konntest manchmal den µC ansprechen zum 
auslesen, und beim brennen hagelte es Fehlermeldungen...

vllt. hilfts Dir weiter?!

Gruß, Sven

Autor: Andreas H. (heilinger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie gesagt, die Leitungen MISO, MOSI und SCK gehen direkt vom Dragon zum 
uC. Ohne zusätzliche Schaltung an den Leitungen. Kein C, R o.ä.

GND und VCC sind eben noch mit den anderen Verbrauchern auf der Platine 
verbunden: MAX3232 und ein Drucksensor (3mA Verbrauch).

Wenn ich im AVR Studio zum AVR Dragon connecte, liest er beim ersten Mal 
die Fuses richtig aus, dann klicke ich auf READ, dann liest er die Fuses 
ALLE als gesetzt aus und das BODlevel is undefined und SUT_CKSEL wird 
falsch ausgelesen. Dann klicke ich nochmal auf READ, verändert er 
nochmals SUT_CKSEL. Und jedes weitere Klicken auf READ verändert nichts 
mehr an den Fuses, also alle Fuses sind gesetzt, nur entspricht das eben 
nicht der Wahrheit :/

Und wie gesagt, wenn ich das alles per externer Spannung mache (dabei 
den VCC-Header-Pin nicht gesteckt), funktioniert es immer ohne Probleme. 
Ich habe mir mal die 5V auf dem Scope angeschaut, da ist nur diese 
Regelschwanukung zu erkennen (Spannung fällt kurzzeitig von 4,9V auf ca. 
4,7V). Reset ist auch durchgehend auf 0V

Autor: Sven W. (Firma: basement industries) (dj8nw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm... Gedankenansatz:
Deine 5V in die Targetschaltung mögen zwar ok sein, aber die 
Dragon-Interna auch??
Laut onlinehilfe bringt der Dragon bis zu 300mA.
Soweit so gut, aber bringt das auch definitiv dein usb-Port?
Hier im Forum meine ich mal gelesen zu haben dass die 0.3A nur 
garantiert sind, wennst über nen usb-Hub mit NT arbeitest.
Denke vllt. hat der Dragon selber ein Problem dass net genug Power da 
ist....
Oder aber is irgendwas auf Deinem Target was bei Rückversorgung über den 
Dragon trotzdem autark arbeitet und vllt. Störungen erzeugt?

Gruß, Sven

Autor: Andreas H. (heilinger)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt, die 5V-Spannung ist stabil.

Aber ich habe evtl. nen neuen Lösungsansatz:
Guckt euch mal das Bild im Anhang an. Dort habe ich auf nem Scope MISO 
und MOSI mit nem Scope aufgenommen.

2 Dinge, die auffallen:

1. MISO geht bei der Spannung vom Dragon nicht wieder auf high.

2. MOSI sendet im ersten Paket nur wenig, im Gegensatz bei externer 
Versorgung. Das erste Paket auf der MOSI-Leitung bei Versorgung mit dem 
Dragon sieht identwisch aus mit dem bei externer Versorgung, deswegen 
liest er auch beim ersten Mal die Fuses richtig aus. Nur danach 
verschwindet dieses Paket ?!

Autor: kalle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Heil schrieb:
> Nur die Resetschaltung hat noch
> eine andere Schaltung dran.

Das wäre der Grund warum es nur einmal klappt. Beim Auslesen wird der 
Controller resettet. Haste den Reset verbunden oder vergessen?

Zeig doch mal Deinen Schaltplan, falls du einen hast!

Autor: Andreas H. (heilinger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okay, das mit dem RESET hat geholfen. Das hätte ich mir mal genauer 
angucken sollen. Meine Schaltung hält den Reset-Eingang auf low, wenn 
ich die externe Versorgungsspannung nicht angeschlossen habe.

Dachte, da ja alle Fuses ausgelesen werden, dass eben eine Kommunikation 
stattfindet, nur eben dass sie falsch ist. Aber wie es aussieht werden 
bei keiner Kommunikation alle Fuses gesetzte :/

Sorry, dass ich keinen Schaltplan hochladen kann, aber ich mache das 
hier nicht privat und daher unterliegt es dem Datenschutz.

Vielen Dank auf jeden Fall und Entschuldigung für die 
Unannehmlichkeiten...

Gruß
Andreas

Autor: Sven W. (Firma: basement industries) (dj8nw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Heil schrieb:
> okay, das mit dem RESET hat geholfen. Das hätte ich mir mal genauer
> angucken sollen. Meine Schaltung hält den Reset-Eingang auf low, wenn
> ich die externe Versorgungsspannung nicht angeschlossen habe.


Juhu, also doch Rückwirkung,...gewonnen;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.