Forum: Mikrocontroller und Digitale Elektronik Breakout Board für xmega192a3 mit fehler?


von Felix H. (masterq)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich habe ein Problem und zwar habe ich ein Breakout Board für den Xmega 
a3 gebaut, leider gibt es ein Problem.
Ich kann ihn nicht mit dem avrisp mkII programmieren. Der Programmer 
funktioniert. Habe schon andere xmegas damit programmiert. Die Led 
leuchtet auch grün wenn ich ihn anschließe. Allerding bekomme ich einen 
Fehler, wenn ich probiere die signature auszulesen oder ähnliches.

AVR Studio:
Setting mode and device parameters.. OK!
Entering programming mode.. FAILED!
Leaving programming mode.. FAILED!

Avrdude, beschwer sich auch.

Die PDI DATA und PDI CLK haben keinen Kurzschluss. Mein geätzter Entwurf 
ist soweit ich beurteilen kann genau so wie im Schaltplan dargestellt.
R3 = 10K.

Was habe ich bloß falsch gemacht?

Vielen Dank für eure Hilfe

Grüße

Felix

von Raff (Gast)


Lesenswert?

Zu hoher Takt am Programmier? Hast mal auf 125kHz runter gestellt?

von Felix H. (masterq)


Lesenswert?

Kann man das irgendwie beeinflussen bei pdi programming?

von Jurij H. (kebabfreund)


Lesenswert?

Hast du vielleicht den Stecker uf die falsche seite gelötet?

Ansonsten sell mal bitte ein Foto der Bestückten Platine rein.

Gruss Jurij

von Arno Nyhm (Gast)


Lesenswert?

Könnte an der Außenbeschaltung des Oszillators liegen! Die Masseführung 
ist katastrophal!! (So katastrophal, dass ich entgegen jeden guten Stils 
gar zwei Ausrufezeichen spendiere!)
Die Masse des Oszillators ist mit Sicherheit AGND an Pin 60 (Quarz des 
Oszis über die Pins 58 und 69) - je nach Außenbeschaltung deiner 
Elektronik ist dieser AGND-Pin ja nichteinmal mit Masse verbunden; und 
wenn, dann über eine elend lange, dünne Leitung. Die Masseführung der 
Bürdenkondensatoren ist eben noch schlimmer, die sind zwar dauerhaft mit 
Masse verbunden, aber über eine noch längere, dünne Leiterbahn!
...das beides gilt es unbedingt zu ändern!

Ansonsten habe ich nichts weiter kontrolliert, dies sind nur Dinge, die 
mir gleich ins Auge gefallen sind - also keine Garantie, dass es die 
einzige Problemstellen sind - ich würde Dir aber raten hier anzufangen 
und das mal zu beheben.

von Felix H. (masterq)


Lesenswert?

Hallo,
an AGND und AVCC habe ich gedacht, und die Leitungen sind natürlich an 
der entsprechenden stelle isoliert. Meinst du wirklich die Masse 
Leitungen, oder vielleicht doch VCC welches ich außen rum geführt habe?
Weil GND geht relativ direkt und kreuzt sich unter dem ic.
Aber ist das wirklich Grund genug, damit das ganze nicht funktioniert?
Sehe ja ein das das nicht umbedingt optimal ist, aber sollte es nicht 
dennoch funktionieren? Wenn du meinst das es daran liegt, dann müsste es 
doch reichen die Leitungen etwas zu verstärken, oder teilweise durch 
Dratbrücken zu verkürzen...
Ich würde es so ungerne nochmal ätzen, vorallem weil der xmega auf der 
Schaltung es wahrscheinlich nicht mögen wird.

Ich würde mich über weitere blicke freuen.

Danke für die Antwort

Felix

von Felix H. (masterq)


Lesenswert?

Stecker ist richtig rum dran... War ziemlich nervig den aufzulöten, aber 
hatte die wahl entweder er oder die Stiftleisten.
Habe leider kein Fotoapparat zur Hand. Hole es aber nach sobald ich 
einen habe.

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Arno Nyhm schrieb:
> Könnte an der Außenbeschaltung des Oszillators liegen! Die Masseführung
> ist katastrophal!! (So katastrophal, dass ich entgegen jeden guten Stils
> gar zwei Ausrufezeichen spendiere!)

Das stimmt soweit schon, dass das Quarz-Layout alles andere als gut 
gelöst ist, nur startet der ATxmega erstmal immer mit dem internen 
Oszillator. Der Quarz schwingt damit erst mal gar nicht an, wodurch ich 
eher einen Kurzschluss irgendwo vermute. Den PDI-Stecker hast du nicht 
nur richtig aufgelötet, sondern auch richtig herum aufgesteckt (kann 
eigentlich nur beim STK600 passieren, aber wer weiß)?

von Felix H. (masterq)


Lesenswert?

Falsch rum geht auch nicht, um ganz genau zu sein habe ich den quartz 
noch gar nicht aufgelötet, weil ich es ja auch problemlos ohne ihn 
probieren kann und ich meine Bauteile nicht an ein nicht 
funktionierendes Board verschwenden will. Die dünnen Leiterbahnen habe 
ich erstmal durch Aussenbeschaltung kompensiert. Ich meine die 
Leistungsaufnahme ist ja nicht so gewaltig, wenn nur der interne 2 mhz 
quarz schwingt. Ich glaube inzwischen fast, das mein Xmega nicht in 
Ordnung ist. Wobei er allerdings sehr gut verpackt war, und es auch 
keine Probleme beim auflöten gab.
Ich glaube ich habe inzwischen auch alle Leitungen die in der nähe von 
einander verlaufen etwa 3 mal auf einen Kurzschluss geprüft.
Mein ziel mit diesem Board war ein singlelayer layout, das man sich 
schnell selber ätzen und bestücken kann... Das war auch irgendwie 
erreicht, allerdings bringt es ja wenig wenn es dann doch nicht 
funktioniert.
Ich denke ich muss es wohl wenigstens noch einmal machen.
Gibt es irgendwelche Kritik am Schaltplan?

Zum Layout habe ich noch ein paar fragen. Nur um sicher zu gehen das es 
beim nächsten mal alles richtig ist.
Also:

1. GND zum quarz kürzer.

2. VCC nach möglichkeiten auch oder dicker, wie wichtig ist das?

3. Gibt es Probleme damit andere Leiterbahnen unter dem Quarz 
durchzuführen, außer das man sie mit dem Gehäuse kurzschließen könnte?

4. Wie soll ich am besten AGND und AVCC anschließen? Habe mal irgendwas 
von einer ferit perle oder so gelesen.

5. Die Leitungen für GND sind jetzt dicker, gibt es weitere Probleme?

6. Gibt es sonnst noch etwas zu beachten?

Wenn das Layout vernümftig ist und fertig, werde ich es natürlich hier 
im Forum veröffentlichen.

Danke für eure Hilfe

Felix

von Arno Nyhm (Gast)


Lesenswert?

Ich lese es in Deinen Antworten immer noch nicht eindeutig heraus: Hast 
Du auch wirklich AGND mit GND verbunden?!

von Felix H. (masterq)


Lesenswert?

Nein, habe ich noch nicht.
Weil...
Ich dachte immer AGND und GND treffen sich am besten an genau einem 
Punkt. Damit AGND nicht von den Strom Schwankungen auf GND 
beeinträchtigt wird. Der Strom nimmt den kürzesten weg bla... und da 
dachte ich mir ich führe es besser raus, damit ich dem auf diese weiße 
also mit der externen Beschaltung gerecht werden kann. Da dies sonnst ja 
schwierig ist besonders wenn gnd an mehreren stellen rausgeführt wird. 
Sonnst müsste ich ja erst alle GNDs verbinden auf einen Punkt sammeln 
und von da an dann Stern förmig wegführen. Und das wiederrum würde die 
Leiterbahnen auf Grund von platz Mangel dünner machen oder das Board 
größer... Oder ich müsste ein Layer hinzufügen.

Aber es liese sich auch durch ein paar Drahtbrücken realisieren.

Wenn ich AGND und GND verbinde, an welchen Punkt würde ich das am besten 
tuen?

Grüße

Felix

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Felix H. schrieb:
> Wenn ich AGND und GND verbinde, an welchen Punkt würde ich das am besten
> tuen?

Am besten direkt unter dem Mikrocontroller. Wenn du dich ein wenig mehr 
mit der Massegestaltung auseinandersetzen willst, empfehle ich dir, 
einfach mal bei gängigen Herstellern von AD-Wandlern zu schauen. Hier 
findet man in den Datenblättern und in Application Notes in der Regel 
ebenfalls den Hinweis, die analoge und digitale Masse möglichst unter 
dem Bauteil zu verbinden sowie vielleicht noch den einen oder anderen 
Tipp.

von Arno Nyhm (Gast)


Lesenswert?

Es sei mal angemerkt, dass es laut Atmel-Datenblatt zum XMEGA A3 soetwas 
wie 'AGND' gar nicht gibt, alles 'GND', so auch Pin 60 - seiner Nähe zu 
den Externen-Quarz-Pins, Pin 58 und Pin 59, nach, ist es wahrscheinlich 
der Masse-Anschluss des Oszillators, der so nunmal nicht läuft - egal ob 
mit internem oder externem Zeitgeber.

Zudem kann man ein AGND wohl kaum schlimmer mit GND verbinden, als es 
eben gar nicht mit GND zu verbinden!
Jede gefrickelte Verbindung wäre besser und tut's für Tests idR. ohne 
Probleme!

von Felix H. (masterq)


Angehängte Dateien:

Lesenswert?

Danke Christoph,
ist erledigt,
hier mal die veränderte Version, aber es fehlt immer noch ein bisschen 
etwas...
@Arno
Was meintest du hier mit?
> Die Masseführung der Bürdenkondensatoren ist eben noch schlimmer...
Die leiterbahn ist immer noch lang allerdings nicht mehr dünn, ist das 
schon befriedigend?
Hat jemand noch ein paar Tipps für AVCC?
Soll ich als hochfrequentz dämpfung optional zu einer Drahtbrücke eine 
Ferritperle zwischen AVCC und VCC setzen?
Soll VCC vielleicht doch mit drahtbrücken einmal dicht um den xmega 
geführt werden?
GND vom quarz sollte ich lieber nicht mit dem GND verbinden das zu aller 
erst über AGND läuft und weiterhin aussen rum führen oder vielleicht 
doch durch eine Drahtbrücke ersetzten..?

Mir fällt es auf Grund von mangelnder Erfahrung schwer die Wichtigkeit 
solcher Dinge richtig einzuschätzen. Besonders da es hier um das 
Verhältnis von dem Aufwand ein solches Board herzustellen geht, zu der 
einwandfreien Funktionalität.
Da ich das Board hinterher veröffentlichen möchte, meine ich nicht 
meinen und euren einmaligen Aufwand (danke an alle die sich bisher zeit 
genommen haben) beim layouten und helfen, sondern den Aufwand den jeder 
einzelne Benutzer hat, der sich dieses Board baut.

Sobald ich fertig bin, und alles verstanden habe werde ich eine kurze 
Dokumentation verfassen, die allen anderen welche in meiner Situation 
sind dabei helfen wird die Einzelheiten zumindest oberflächlich zu 
verstehen.

Vielen Dank
und Grüße

Felix

von Felix H. (masterq)


Lesenswert?

@Arno
Natürlich hatte ich beim Test diesen Einzelnen GND durch externe 
Beschaltung mit den anderen verbunden. Das Datenblatt ist 
widersprüchlich zu den Informationen die man sonnst so findet. Wäre 
allerdings toll wenn du recht hast, denn so könnte ich mit dieses riesen 
lange nervende Wire sparen zu pin 6 der PDI Schnittstelle und dieses 
direkt verbinden.
Zu beachten ist aber auch das er ebenfalls direkt neben avcc liegt.

Beste Grüße

Felix

von TSE (Gast)


Lesenswert?

Hallo,

Hast du R3 bestückt?

von Felix H. (masterq)


Lesenswert?

Jop, den und ein paar der Kondensatoren - Naja und halt den xmega sowie 
die buchse und die Pinleisten ^^

von Felix H. (masterq)


Lesenswert?

Ich denke das Board wird funktionieren, sobald ich einen neuen XMEGA 
drauf packe...

von TSE (Gast)


Lesenswert?

ich würd auch 100 ohm Schutzwiderstände in die programmer leitungen 
legen... kann man mit nem lötklecks überbrücken wenns auch so geht.
Gibt aber Berichte hier im forum nach dem das programmen erst dann 
möglich war

wie groß ist den R3?

von Felix H. (masterq)


Lesenswert?

R3 ist 10K. Die 100 Ohm Widerstände werden implementiert, danke für den 
Tipp!

Felix

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

TSE schrieb:
> ich würd auch 100 ohm Schutzwiderstände in die programmer leitungen
> legen... kann man mit nem lötklecks überbrücken wenns auch so geht.
> Gibt aber Berichte hier im forum nach dem das programmen erst dann
> möglich war

Das ist überflüssig und wird weder auf irgendeinem ATMEL-Board so 
gemacht noch auf irgendeinem anderen kommerziellen Board, das ich kenne 
(unsere gehören ebenfalls dazu). Das Problem liegt unter Garantie 
irgendwo anders, bei Felix scheint es ja wirklich die Ground-Verbindung 
zu sein, die die Probleme verursacht.

von Felix H. (masterq)


Lesenswert?

@TSE
Wegen der 100 Ohm Widerstände, hast du vielleicht einen Link zu so einem 
Thema?

von Felix H. (masterq)


Angehängte Dateien:

Lesenswert?

Was sagt ihr denn zu diesem Entwurf?

Grüße

von TSE (Gast)


Lesenswert?

sehe ich richtig das C10 am Reset mit drann hängt?
evtl mal den Schaltplan mit posten

beim programmieren über PDI darf keine Kapazität am Reset hängen, da 
reagieren die programmer giftig drauf--> design rules Xmega

von TSE (Gast)


Lesenswert?


von TSE (Gast)


Lesenswert?

Hast du das Ding eig zum Programieren an 3,3V gehängt oder willst du 
über PDI versorgen?
(OT)... geht letzteres überhaupt?

von Felix H. (masterq)


Angehängte Dateien:

Lesenswert?

Der Schaltplan ist fast unverändert, aber hier nochmal im Anhang.
C10 ist an gnd und vcc. Also mein avrisp mkii, kann die Schaltung nicht 
versorgen. Vielleicht geht das mit anderen Einstellungen oder anderen 
Programmern.

Grüße

Felix

von Arno Nyhm (Gast)


Lesenswert?


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.