Forum: Mikrocontroller und Digitale Elektronik Testplatine für ATmega 2560 - Kondensatoren an jedem VCC/GND Paar ?


von Uli A. (schnuppi44)


Lesenswert?

Hallo zusammen,

kurze Frage: Ich layoute gerade eine Testplatine für die Überführung der 
Pins eines ATmega 2560 ins 2,54er Raster zum fleißigen 
Breadboard-Experimentieren. Alles soweit so gut und fertig.

Habe mich jetzt nur gefragt, ob ich nicht der Einfachheit halber noch 
100nF Kondensatoren über die VCC/GND-Paare direkt auf dem Board 
integriere, damit ich die nicht immer noch auf dem Breadboard aufstecken 
muss (und im blöden Fall schlicht vergesse).

Ich habe alle VCC/GND ohnehin auf der Testplatine miteinander verbunden.

Die eigentliche Frage ist nun:

Reicht mir da dann EIN Kondensator an einer beliebigen Stelle zwischen 
VCC und GND ? Oder sollte ich trotz der Verbindung pro VCC/GND 
Anschlusspaar (z.B. Pin10/11) einen 100nF setzen ? Und wenn ja, jeweils 
möglichst nah am MC (fast unmöglich wegen der Enge der Bahnen) oder 
reicht das am Boardrand ?

Und nochmal allgemein gefragt - würdet Ihr an meiner Stelle noch weitere 
ggfs. ohnehin standardmäßig nötige Teile in so eine Testplatine mit 
einbauen ? (z.B. einen Widerstand zu VCC für den RESET Pin ? Oder lieber 
komplett "frei bleiben" ?

Beste Grüße und danke für die Hilfe !

von ... (Gast)


Lesenswert?

sorry, aber ich kann mir die Frage nicht verkneifen... warum?
BOBs für den IC gibt es in Mengen und recht preiswert (Arduino, 
Crump,...)

zu deiner Frage: Stützkondensatoren an jeden VCC Pin, direkt am 
Chipgehäuse, direkte Anbindung an die GND Plane

zu deinem Nachsatz:  warum willst du dir ein Board bauen, wenn du keine 
Idee da hast, wie/wofür du es nutzen willst?

von fchk (Gast)


Lesenswert?

Jedes VCC-GND-Pärchen sowie AVCC-AGND braucht grundsätzlich 100n so 
dicht wie nur irgendwie möglich an den Pins. Nimm SMD-Kondensatoren in 
0402, die haben bessere HF-Eigenschaften. Alle VCCs und GNDs miteinander 
verbinden. AGND mit GND, AVCC über Ferrit (z.B. BLM15AG221) mit VCC 
verbinden.

Groundplane an der Unterseite, Verbindungen soweit wie möglich auf der 
Oberseite routen.

Dann gehören noch die beiden Quarze (16 MHz Systemtakt und ggf 32kHz 
Uhrentakt) zusammen mit ihren Kondensatoren und dem 1M 
Anschwingwiderstand mit aufs Board, denn diese Verbindungen sind auch 
kritisch. Beim Uhrenquarz mit Jumpern/Lötbrücken arbeiten, um die Pins 
auch anderweitig nutzen zu können.

Nimm am besten SMD-Quarze:
https://www.reichelt.de/keramik-smd-quarz-3x5x1mm-16-0mhz-16-000000-mj-p85005.html?&trstct=pol_0&nbc=1
https://www.reichelt.de/keramik-smd-quarz-3-2-x-1-5-x-0-8-mm-32-768-khz-gey-kx-327nht-7-p245474.html?&trstct=pol_1&nbc=1

100n an AREF gegen GND nicht vergessen.
10k gegen VCC an Reset.

von Uli A. (schnuppi44)


Lesenswert?

... schrieb:
> sorry, aber ich kann mir die Frage nicht verkneifen... warum?
> BOBs für den IC gibt es in Mengen und recht preiswert (Arduino,
> Crump,...)
>
> zu deiner Frage: Stützkondensatoren an jeden VCC Pin, direkt am
> Chipgehäuse, direkte Anbindung an die GND Plane
>
> zu deinem Nachsatz:  warum willst du dir ein Board bauen, wenn du keine
> Idee da hast, wie/wofür du es nutzen willst?

Ich habe ehrlich gesagt kein Board gefunden, das längs auf ein 
Breadboard passt, so dass man noch eine Steckbrückenreihe davor (oben 
und unten) frei hat...die Experimentierboards zum Aufbringen von Megas, 
die ich gefunden habe sind alle quadratisch mit je 25 pins an allen 
Seiten - und gar nicht mal so billig (16€, wenn ich mich recht 
erinnere)....Deine Anmerkung zu meinem Nachsatz finde ich nicht sehr 
konstruktiv, und ich verstehe sie auch nicht...es geht ja gerade ums 
Experimentieren (daher der Name "Testplatine" oder "Experimentierboard") 
mit Ideen und das Lernen, wie das alles funktioniert - hardware- und 
programmierseitig...

Vielleicht war das aber auch meinerseits missverständlich ausgedrückt - 
zur Erklärung: ich meinte damit nicht die Integration von regelrechten 
kompletten Erweiterungen im Sinne von (in Arduino-Sprech:) Shields o.ä. 
sondern eine Art "Minimalkonfiguration" von z.B. Widerständen oder 
Kondensatoren, die man für den Betrieb immer braucht - analog zu den 
100nF's der Ausgangsfrage....

von Uli A. (schnuppi44)


Lesenswert?

fchk schrieb:
> Jedes VCC-GND-Pärchen sowie AVCC-AGND braucht grundsätzlich 100n so
> dicht wie nur irgendwie möglich an den Pins. Nimm SMD-Kondensatoren in
> 0402, die haben bessere HF-Eigenschaften. Alle VCCs und GNDs miteinander
> verbinden. AGND mit GND, AVCC über Ferrit (z.B. BLM15AG221) mit VCC
> verbinden.
>
> Groundplane an der Unterseite, Verbindungen soweit wie möglich auf der
> Oberseite routen.
>
> Dann gehören noch die beiden Quarze (16 MHz Systemtakt und ggf 32kHz
> Uhrentakt) zusammen mit ihren Kondensatoren und dem 1M
> Anschwingwiderstand mit aufs Board, denn diese Verbindungen sind auch
> kritisch. Beim Uhrenquarz mit Jumpern/Lötbrücken arbeiten, um die Pins
> auch anderweitig nutzen zu können.
>
> Nimm am besten SMD-Quarze:
> 
https://www.reichelt.de/keramik-smd-quarz-3x5x1mm-16-0mhz-16-000000-mj-p85005.html?&trstct=pol_0&nbc=1
> 
https://www.reichelt.de/keramik-smd-quarz-3-2-x-1-5-x-0-8-mm-32-768-khz-gey-kx-327nht-7-p245474.html?&trstct=pol_1&nbc=1
>
> 100n an AREF gegen GND nicht vergessen.
> 10k gegen VCC an Reset.

Danke, genau solche Anregungen meinte ich ;-)

Ist die Groundplane zwingend ? Hab zwar grundsätzlich alle Mega <> Pin - 
Verbindungen nur auf der Oberseite verlegt, habe aber direkt noch einen 
6-pin ISP und eine Buchsenreihe für Adafruit FRAM Boards mit integriert, 
wofür ich auch die Unterseite mit nutzen musste - ebenso für die meisten 
VCC und GND - Bahnen wegen der sehr begrenzten "Höhe" der Platine, damit 
sie noch auf das Breadboard passt....

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:

> Ist die Groundplane zwingend ?

Wirklich zwingend nun nicht, aber sie sorgt für eine bessere 
Signalintegrität.

fchk

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> Uli A. schrieb:
>
>> Ist die Groundplane zwingend ?
>
> Wirklich zwingend nun nicht, aber sie sorgt für eine bessere
> Signalintegrität.
>
> fchk

Danke. Sorry für die vermutlich trivialen Anfängerfragen....sollte ich 
dann dennoch soviel Fläche wie möglich als (miteinander verbundene) 
Massefläche(n) anlegen, auch wenn sie teilweise von Leiterbahnen 
unterbrochen wird ? Oder bringt das hauptsächlich nur dann was, wenn sie 
"komplett" ist, also die gesamte Unterseite eher unterbrechungsfrei 
ausfüllt ? Hab mal gelesen, dass solche stückhaften Masseflächen auch 
wieder andere Probleme auslösen können (kann mich aber nicht mehr an den 
genauen Zusammenhang erinnern)...

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Lies das mal:

https://incompliancemag.com/article/alternative-paths-of-the-return-current/

Bei Dir ist das jetzt nicht wirklich notwendig. Die elektrischen 
Eigenschaften von Steckbrettern sind eh so furchtbar, dass das dann auch 
nichts mehr nützt. Für die aktuelle schnelle digitale Elektronik ist das 
wichtig, und da spendiert man dann gerne auch mal ein paar Extra-Layer.

fchk

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> Lies das mal:
>
> https://incompliancemag.com/article/alternative-paths-of-the-return-current/
>
> Bei Dir ist das jetzt nicht wirklich notwendig. Die elektrischen
> Eigenschaften von Steckbrettern sind eh so furchtbar, dass das dann auch
> nichts mehr nützt. Für die aktuelle schnelle digitale Elektronik ist das
> wichtig, und da spendiert man dann gerne auch mal ein paar Extra-Layer.
>
> fchk
Verstehe. Danke für Deine Hilfe und den Link zu dem spannenden 
"Feldversuch"....;-)))))))

Sehr interessant...!

von Uli A. (schnuppi44)


Lesenswert?

Uli A. schrieb:
> Die elektrischen
>> Eigenschaften von Steckbrettern sind eh so furchtbar, dass das dann auch
>> nichts mehr nützt.

Und ja, das habe ich auch schon im Selbstversuch erleben dürfen - 
Arduino Nano mit 9 LEDs und neun Pushbuttons auf dem Breadboard ohne 
mich selbst zu erden = lustige Lichtorgeleffekte beim bloßen Nähern mit 
der Hand....quasi ein Licht-Theremin....;-)))

von Uli A. (schnuppi44)


Lesenswert?

Uli A. schrieb:
> Dann gehören noch die beiden Quarze (16 MHz Systemtakt und ggf 32kHz
>> Uhrentakt) zusammen mit ihren Kondensatoren und dem 1M
>> Anschwingwiderstand mit aufs Board, denn diese Verbindungen sind auch
>> kritisch.

Sorry, dass ich da offensichtlich noch ne Menge Lücken habe:

Aber muss ich externe Quarze verwenden ? Oder tut es auch die 
Mega-interne Taktung ?

Zur Info: Ich beschäftige mich hauptsächlich mit einfacheren 
Logik-Schalt-Projekten (wenn auch mit vielen Pins!) oder 
Schrittmotorsteuerungen u.ä.
Aus meiner noch Laien-Sicht erscheint mir das weder zeitkritisch in 
Hinblick auf eine hochgetaktete Arbeitsgeschwindigkeit noch für einen 
"Uhrentakt"...oder liege ich da völlig falsch ?

Andererseits weiß ich ja jetzt noch nicht, wohin mich meine Experimente 
noch führen mögen, und wenn das mit den Quarzen später nötig wird, macht 
es natürlich Sinn, das jetzt schon mit vorzusehen...

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Uli A. schrieb:
>> Dann gehören noch die beiden Quarze (16 MHz Systemtakt und ggf 32kHz
>>> Uhrentakt) zusammen mit ihren Kondensatoren und dem 1M
>>> Anschwingwiderstand mit aufs Board, denn diese Verbindungen sind auch
>>> kritisch.
>
> Sorry, dass ich da offensichtlich noch ne Menge Lücken habe:
>
> Aber muss ich externe Quarze verwenden ? Oder tut es auch die
> Mega-interne Taktung ?

Hängt vom Anwendungsfall ab. Aber: Die Quarzanschaltung am Prozessor ist 
layoutkritisch. Wenn Du jetzt keinen Quarz vorsiehst, kannst Du niemals 
Dinge realisieren, für die Du einen stabilen Quarztakt brauchst. Das 
fängt schon bei einem UART mit 38400 bps oder mehr an. Außerdem sind 
diese beiden Pins da - Du verlierst nichts, wenn Du den Quarz bestückst.

Quarze gibts auch in sehr klein (2.5mm * 2mm), Platz sollte also kein 
Kriterium sein.

Mach sie drauf - beide. Du wirst es sonst bereuen.

fchk

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Ich habe ehrlich gesagt kein Board gefunden, das längs auf ein
> Breadboard passt, so dass man noch eine Steckbrückenreihe davor (oben
> und unten) frei

Und wenn schon, was fängst du dann damit an? Du musst an fast jeden Pin 
ein Dupont Kabel stecken, um dahin zu kommen, wo die anderen Bauteile 
sind. Und das wird wohl in den allermeisten Fällen ein weiteres 
Steckbrett sein müssen, dass daneben liegt.

Dann kannst du auch gleich ein Arduino Board auf die gleiche Weise mit 
deinem Steckbrett verbinden. Dann hast du sogar mehr Löcher zugänglich.

Ich habe das Gefühl, dass du einer der zahlreichen Anfänger bist, die 
sich ihr eigenes übermäßig großes Universalboard bauen wollen, weil sie 
befürchten, sonst etwas zu verpassen.

Ich will Dir keine Vorschriften machen. Aber lass Dir dies von einem 
ausgebildeten Elektroniker mit mehr als 30 Jahre Hobbyerfahrung 
versichern: Zum Lernen nimmt man besser kleine Modelle, nicht die 
größten.

von Uli A. (schnuppi44)


Lesenswert?

Stefan ⛄ F. schrieb:
> Uli A. schrieb:
>> Ich habe ehrlich gesagt kein Board gefunden, das längs auf ein
>> Breadboard passt, so dass man noch eine Steckbrückenreihe davor (oben
>> und unten) frei
>
> Und wenn schon, was fängst du dann damit an? Du musst an fast jeden Pin
> ein Dupont Kabel stecken, um dahin zu kommen, wo die anderen Bauteile
> sind. Und das wird wohl in den allermeisten Fällen ein weiteres
> Steckbrett sein müssen, dass daneben liegt.
>
> Dann kannst du auch gleich ein Arduino Board auf die gleiche Weise mit
> deinem Steckbrett verbinden. Dann hast du sogar mehr Löcher zugänglich.
>
> Ich habe das Gefühl, dass du einer der zahlreichen Anfänger bist, die
> sich ihr eigenes übermäßig großes Universalboard bauen wollen, weil sie
> befürchten, sonst etwas zu verpassen.
>
> Ich will Dir keine Vorschriften machen. Aber lass Dir dies von einem
> ausgebildeten Elektroniker mit mehr als 30 Jahre Hobbyerfahrung
> versichern: Zum Lernen nimmt man besser kleine Modelle, nicht die
> größten.

Ich glaube, es macht ggfs. Sinn, nochmal kurz meine Beweggründe zu 
erklären, bevor ich noch mehr Meldungen in Richtung "und was bringt Dir 
das dann...????" bekomme :

a) LERNEN ! LERNEN ! POPERNEN ! (wie schon der berühmte deutsche 
Philosoph H.Schneider zu sagen pflegte....)

Ich will Dinge immer verstehen - ist so ne blöde Angewohnheit...;-)

b) Anlass des ganzen Zirkus ist die Enwicklung eines Prototypen für ein 
Tonstudiogerät, das ich ggfs. in Kleinserie auf den Markt bringen 
möchte.
Da will ich dann nicht mit fertigen Arduinos arbeiten müssen sondern mit 
entsprechenden eigenen, "verschlankten" Mikroprozessorboards, die dann 
eben möglichst wenig UNNÖTIGE aber alle NÖTIGEN Teile enthalten 
sollten...dazu muss ich aber eben genau verstehen, welche das sind und 
wie die grundsätzlich(nötig)e Architektur eines AVR-"Systems" 
funktioniert...ist das valide ?

@Stefan (Ich meine das nicht annähernd so böse wie es sich jetzt 
vielleicht liest): Wenn man alles schon weiß und die Erfahrung von 30 
jahren HAT, dann fragt man sich doch nicht in Foren wie diesen durch, 
oder ? Aller Anfang ist eben schwer....;-)

Und zu Deinem letzten Punkt: Ja, genau...erst mit kleineren Modellen 
lernen macht total Sinn (hab hier auch deshalb Standard 328p's in 
klassischer IC-Bauweise liegen, mit denen ich anfange) - ich brauche 
aber für das mittelfristige Ziel (siehe b)) schlicht viel mehr Pins 
(min.total: 54 inputs,54 outputs) daher werde ich mich recht bald als 
nächsten Schritt ohnehin mit dem 2560 o.ä beschäftigen müssen, wenn ich 
nicht sehr viele einzelne kleine AVRs nutzen möchte....dann kann ich das 
auch direkt tun....Deinen und Franks Hinweis auf die vielen Kabelbrücken 
in Verbindung mit der schlechten Platform "Breadboard" nehme ich aber 
gerne auf - macht wahrscheinlich mehr Sinn, meine 2560 Platine mit 
Buchsenleisten zu versehen statt sie INS Breadboard zu stecken - wieder 
ein schlechter Kontakt mehr pro Leitung....!

von Thomas (kosmos)


Lesenswert?

wegen der Störfestigkeit auch an den Resetpin 100nF gegen Masse. Auf 
deinem Steckbrett bringts nichts mehr, da sind die Leitungen zu lange 
sind also möglichst nah an den µC.

von Uli A. (schnuppi44)


Lesenswert?

Thomas O. schrieb:
> wegen der Störfestigkeit auch an den Resetpin 100nF gegen Masse. Auf
> deinem Steckbrett bringts nichts mehr, da sind die Leitungen zu lange
> sind also möglichst nah an den µC.

Danke für den Hinweis !

Aber nochmal eine grundsätzliche Frage zu dem Thema "müssen an jedes 
Paar VCC/GND" separate Kondensatoren:

a) Mich wundert, dass dies auf meinem Arduino Mega 2560 (Klon) nicht der 
Fall ist

b) Soweit ich Abblockkondensatoren an MPs verstanden habe, sollen sie 
doch die "angelieferte" Spannung von eingestreuten HF-Signalen 
"befreien" oder ? Das würde doch an einer Stelle der ohnehin verbundenen 
VCC-GND-Paare reichen, solange ich immer nur an der gleichen (!) Stelle 
meine Stromversorgung anlege, oder ?
Interessanterweise gibt es auch in "Practical Electronics for Inventors" 
von Paul Scherz und Simon Monk die Empfehlung "1 capacitor per digital 
chip"...

Oder was übersehe ich ?

Um nicht falsch verstanden zu werden:
Ich verstehe, dass beim Beseitigen von Störquellen ggfs. mehr mehr 
ist...und ich wäre auch flexibler, über all die Stromquelle anzulegen 
wenn ich überall separate Kondensatoren anbringe....aber ist meine 
Annahme in b) korrekt ?

von Dienstplanschauer (Gast)


Lesenswert?

Uli A. schrieb:
> Oder was übersehe ich ?

Vermeide möglichst jeden zusätzlichen Kondensator! Es gibt
jede Menge Leute im Internet die beweisen es dir dass es
ohne Kondensatoren geht. Und du weisst ja, alles was im
Internet geschrieben steht ist wahr!

Gegen diese unnötigen Kondensatoren spricht ja auch dass
sie jede Menge zusätzliches Geld kosten und nicht zu ver-
gessen die Arbeit und Fläche die sie verbrauchen sie
unterzubringen.

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Mich wundert, dass dies auf meinem Arduino Mega 2560 (Klon) nicht der
> Fall ist

Da wollte man wohl jeden Cent einsparen. Wenn für dich niedriger Preis 
wichtiger ist, als zuverlässige Funktion, dann baue das so nach.

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Soweit ich Abblockkondensatoren an MPs verstanden habe, sollen sie
> doch die "angelieferte" Spannung von eingestreuten HF-Signalen
> "befreien" oder ?

Jein. Primär sollen sie verhindern, dass die Versorgungsspannung 
aufgrund des extrem schwankenden Strom-Bedarfs des jeweiligen IC 
schwankt. Es geht dabei sowohl um die Versorgung des IC selbst, als auch 
um dessen Wirkung nach außen hin.

Die Stromaufnahme komplexer IC's kann locker zwischen 1µA und 100mA 
springen, bei Funkschnittstellen sogar  noch mehr. Jedes Stück Leitung 
hat einen gewissen Wellenwiderstand, was dann zum Einbruch der Spannung 
führt.

> Das würde doch an einer Stelle der ohnehin verbundenen
> VCC-GND-Paare reichen

Die Verbindungen dazwischen haben auch schon einen gewissen 
Wellenwiderstand. Und zwar im Chip als auch außerhalb. Wenn das nicht so 
wäre, bräuchte der Chip nicht mehrere Anschlüsse zur Stromversorgung.

> Interessanterweise gibt es auch in "Practical Electronics for Inventors"
> von Paul Scherz und Simon Monk die Empfehlung "1 capacitor per digital
> chip"...

Damit meinte er wohl Logikgatter, die haben nur ein VCC/GND Paar.

von Thomas (kosmos)


Lesenswert?

schau dir das mal an
http://ww1.microchip.com/downloads/en/appnotes/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf
hier siehst du die Stromimpulse die sich ohne Kerko auf den ganzen 
Versorgungsleitungen ausbreiten, mit Kerko nur zw. µC und Kerko.

von Uli A. (schnuppi44)


Lesenswert?

Thomas O. schrieb:
> schau dir das mal an
> 
http://ww1.microchip.com/downloads/en/appnotes/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf
> hier siehst du die Stromimpulse die sich ohne Kerko auf den ganzen
> Versorgungsleitungen ausbreiten, mit Kerko nur zw. µC und Kerko.

Sehr interessant ! Danke für den Link !

von Uli A. (schnuppi44)


Lesenswert?

@ Stefan:

Danke für die Auf- und Erklärung !

von Uli A. (schnuppi44)


Lesenswert?

Hat noch jemand Anregungen, was auf so ein Board direkt "unverzichtbar" 
mit drauf sollte ? Serielles Interface würde ich erstmal weglassen und 
separat als Modul verwenden...

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Hat noch jemand Anregungen, was auf so ein Board direkt "unverzichtbar"
> mit drauf sollte ? Serielles Interface würde ich erstmal weglassen und
> separat als Modul verwenden...

Das sind reine digitale Signale, die sind nicht so kritisch. Wichtig 
ist:
- Abblockkondensatoren: 100nF im 0402 Format an jedem VCC-GND- und 
AVCC-AGND
- 100nF 0402 ziwxhen ARF und AGND.
- Ferrit BLM15AG221 zwischen AVCC und AGND
- Quarz für Systemtakt, mit darauf abgestimmten Kondensatoren und 1M 
parallel zum Quarz.
- optional RTC Quarz-Beschaltung
- 10k/100n am Reset-Pin. Wobei: die 100n am Reset-Pin sind bei DIESEM 
AVR ok, weil der eh kein DebugWire kann. Debugwire ist ein 
Debugprotokoll, das den Resetpin benutzt, und da darf außer dem Pullup 
nichts weiteres dran sind. Reset-Pin rausführen!
- Alle Portpins + Reset rausführen
- 1 GND-Pin pro mindestens 8 IO-Pins - denke daran, dass der Strom auch 
wieder zurück muss. GND-Pins gleichmäßig verteilen.
- Alle Bauteile als SMD. Kondenstatoren/Ferrit als 0402, Widerstände 
können auch 0603 sein, weil die in 0402 echt fummelig zu löten sind. 
Kondensatoren sind höher, das geht noch besser. Kleinere Bauteile haben 
bessere HF-Eigenschaften.
- Wenn Du magst, darfst Du noch einen 10u XR7 16V in 1206 in die Nähe 
der Stromversorgungs-Einspeisung tun.

- ISP-Pinheader muss nicht mit drauf. Wenn Du magst, kannst Du den 
10-poligen JTAG-Header fürs Atmel-ICE mit draufsetzen. Das ist ein 
10-poliger Stecker im 1.27mm Raster, der recht klein ist und nicht aufs 
Steckbrett passt. Siehe:
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-ICE_UserGuide.pdf
Seite 30.
Der dafür vorgesehene Stecker ist der hier
https://www.samtec.com/de/products/ftsh-105-01-f-dv-k
aber Du kannst auch jede andere Stiftleiste im 1.27mm Raster nehmen - 
das ist dann halt nur nicht verdrehsicher.

fchk

von jo mei (Gast)


Lesenswert?

Frank K. schrieb:
> - ISP-Pinheader muss nicht mit drauf.

Käse.

Denn wenn JTAG disabled ist kommt er gar nicht an der Controller ran.

von Frank K. (fchk)


Lesenswert?

jo mei schrieb:
> Frank K. schrieb:
>> - ISP-Pinheader muss nicht mit drauf.
>
> Käse.
>
> Denn wenn JTAG disabled ist kommt er gar nicht an der Controller ran.

Selber Käse. Wenn er alle Portpins rausgeführt hat, wie ichs ihm 
geschrieben habe, hat er auch alle ISP-Signale im Zugriff. Da der 
Standard-ISP-Header eh 0.1" Raster hat, ist der auch 
steckbrett-tauglich, auch elektrisch spricht da nichts gehen. Beim 
Header fürs AtmelIce ist das wegen des anderen Rastermaßes was anderes, 
daher sollte das mit aufs Board drauf.

fchk

PS: Im Auslieferungszustand ist JTAG enabled. Er muss es wissentlich 
abschalten und as kann er nur über ISP.

: Bearbeitet durch User
von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> - Quarz für Systemtakt, mit darauf abgestimmten Kondensatoren und 1M
> parallel zum Quarz.

Was ist denn ein gängiger/sinnvoller Systemtakt ? 16MHz ? Dann müssten 
das 2x 22pF sein, oder ? Und mal ne ganz blöde Frage: Wie löte ich denn 
diese von Dir vorgeschlagenen Mini-SMD Quarze mit den 2 oder 4 Pads 
unten ? Geht ja nur mit Heißluft, oder?

Spricht technisch was gegen diese etwas einbaufreundlichere Variante 
(außer dem höheren Platzbedarf)? ;-)

https://www.reichelt.de/smd-standardquarz-grundton-16-mhz-iqd-lfxtal003237-p245408.html?&trstct=pos_3&nbc=1

Bin einfach noch nicht so recht im Micro-SMD Thema angekommen....;o)

> - optional RTC Quarz-Beschaltung

> - 10k/100n am Reset-Pin. Wobei: die 100n am Reset-Pin sind bei DIESEM
> AVR ok, weil der eh kein DebugWire kann.

Wie sieht das beim mega328p AU32 aus ? 100n auch okay ?

> Debugwire ist ein
> Debugprotokoll, das den Resetpin benutzt, und da darf außer dem Pullup
> nichts weiteres dran sind. Reset-Pin rausführen!

> - Alle Portpins + Reset rausführen
> - 1 GND-Pin pro mindestens 8 IO-Pins - denke daran, dass der Strom auch
> wieder zurück muss. GND-Pins gleichmäßig verteilen.
> - Alle Bauteile als SMD. Kondenstatoren/Ferrit als 0402, Widerstände
> können auch 0603 sein, weil die in 0402 echt fummelig zu löten sind.

Spricht denn was gegen Kondensatoren in 0603 ? Versuche, den 
Fummelfaktor ein bisschen kleiner zu halten...;-)

> Kondensatoren sind höher, das geht noch besser. Kleinere Bauteile haben
> bessere HF-Eigenschaften.
> - Wenn Du magst, darfst Du noch einen 10u XR7 16V in 1206 in die Nähe
> der Stromversorgungs-Einspeisung tun.
>
> - ISP-Pinheader muss nicht mit drauf.

ISP hatte ich eh schon vorher mit angelegt in klassischer 2x3 Bauform 
wie auf dem Arduino auch...

Wenn Du magst, kannst Du den
> 10-poligen JTAG-Header fürs Atmel-ICE mit draufsetzen. Das ist ein
> 10-poliger Stecker im 1.27mm Raster, der recht klein ist und nicht aufs
> Steckbrett passt. Siehe:
> http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-ICE_UserGuide.pdf
> Seite 30.
> Der dafür vorgesehene Stecker ist der hier
> https://www.samtec.com/de/products/ftsh-105-01-f-dv-k
> aber Du kannst auch jede andere Stiftleiste im 1.27mm Raster nehmen -
> das ist dann halt nur nicht verdrehsicher.

von Uli A. (schnuppi44)


Lesenswert?

@Frank: Vielen lieben Dank für Deine Bemühungen und Deine Zeit !!!

von Joachim B. (jar)


Lesenswert?

Uli A. schrieb:
> Ich habe ehrlich gesagt kein Board gefunden, das längs auf ein
> Breadboard passt

was ist dein Ziel?
viel flash, viele Ports oder mehr SRAM?

https://github.com/JChristensen/mini1284

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> - 1 GND-Pin pro mindestens 8 IO-Pins - denke daran, dass der Strom auch
> wieder zurück muss. GND-Pins gleichmäßig verteilen.

Indirekt hierzu nochmal eine Knobelfrage:

Welche Pins des 2560 brauche ich denn für eher standardmäßigere 
Anwendungen definitiv GAR NICHT nach draußen geführt ?

(unabhängig von 33/34 für das sich dann ja schon auf dem Board 
befindliche Quarz)

von Uli A. (schnuppi44)


Lesenswert?

Joachim B. schrieb:
> was ist dein Ziel?
> viel flash, viele Ports oder mehr SRAM?
>
> https://github.com/JChristensen/mini1284

Danke für den Tip - den 1284 kannte ich auch noch nicht....sind aber 
noch deutlich zu wenig Pins für meine geplante Anwendung (s.o.)

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:

> Was ist denn ein gängiger/sinnvoller Systemtakt ? 16MHz ? Dann müssten
> das 2x 22pF sein, oder ? Und mal ne ganz blöde Frage: Wie löte ich denn
> diese von Dir vorgeschlagenen Mini-SMD Quarze mit den 2 oder 4 Pads
> unten ? Geht ja nur mit Heißluft, oder?

Bei 5V sind 16 MHz Standard. Ich löte die quarze ganz normal mit einem 
kleinen Lötkolben - Du musst die Pads nach außen hin ein halben 
Millimeter größer machen und vorverzinnen, dann geht das schon. Heißluft 
macht das einfacher.

Die SMD-Quarze gibts auch mit zwei Pads - die sind noch deutlich 
einfacher zu verarbeiten, aber nicht so gängig.

Z.B. TXC 7A-16.000MAAJ-T

http://www.txccorp.com/download/products/quartz_crystals/2015TXC_7A_28.pdf

5.0mm * 3.2mm

Die Kondensatoren müssen zum Quarz passen. Der oben angegebene Typ hat 
18pF Ladekapazität, d.h. da müssten 22pF passen.

> Spricht technisch was gegen diese etwas einbaufreundlichere Variante
> (außer dem höheren Platzbedarf)? ;-)
>
> 
https://www.reichelt.de/smd-standardquarz-grundton-16-mhz-iqd-lfxtal003237-p245408.html?&trstct=pos_3&nbc=1

Das Routing der umlaufenden Signale wird dann natürlich erheblich 
schwerer - irgendwo müssen die Leiterbahnen ja hin, und unter dem Quarz 
darfst Du die auch nicht führen, und furchbar lang dürfen die 
Leiterbahnen auch nicht sein.

> Wie sieht das beim mega328p AU32 aus ? 100n auch okay ?

Nein. Da darf am Reset-Pin außer dem Pullup überhaupt nichts hängen, 
sonst geht DebugWire nicht.

> Spricht denn was gegen Kondensatoren in 0603 ? Versuche, den
> Fummelfaktor ein bisschen kleiner zu halten...;-)

0603 ist noch ok, größer sollte es nicht werden.

fchk

von Uli A. (schnuppi44)


Lesenswert?

@ Frank:

Danke !

Machen denn 16MHz (und die Verwendung der bisher angedachten Quarze) 
beim 328p auch Sinn ? Oder "kann" der nur langsamer ?

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Frank K. schrieb:
>> - 1 GND-Pin pro mindestens 8 IO-Pins - denke daran, dass der Strom auch
>> wieder zurück muss. GND-Pins gleichmäßig verteilen.
>
> Indirekt hierzu nochmal eine Knobelfrage:
>
> Welche Pins des 2560 brauche ich denn für eher standardmäßigere
> Anwendungen definitiv GAR NICHT nach draußen geführt ?
>
> (unabhängig von 33/34 für das sich dann ja schon auf dem Board
> befindliche Quarz)

{}

leere Menge.

Gegenfrage: Reichen Dir beim 2560 die eingebauten 8k RAM? Wenn nicht, 
dann kannst Du über die Ports A, C und G externes RAM anschließen.
Das wäre sowas wie hier
http://www.issi.com/WW/pdf/61C256AL.pdf
und einem HC573
https://scienceprog.com/adding-external-memory-to-atmega128/

Dann hättest Du 40k.

Ports A, C und G wären dann schon belegt und bräuchten nicht mehr nach 
draußen.


fchk

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> @ Frank:
>
> Danke !
>
> Machen denn 16MHz (und die Verwendung der bisher angedachten Quarze)
> beim 328p auch Sinn ? Oder "kann" der nur langsamer ?

Solange Du die AVRs mit 5V betreiben willst, sind 16 MHz das, was sie 
können.  Bei 3.3V geht nur noch 8MHz. Ist halt alte Technik.

fchk

PS: Du darfst auch den 328pb nehmen, der hat im TQFP noch ein paar 
Funktionen mehr als die nicht-B Variante.

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> Reichen Dir beim 2560 die eingebauten 8k RAM? Wenn nicht,
> dann kannst Du über die Ports A, C und G externes RAM anschließen.

Hmmm. Das kann ich momentan noch schlecht beantworten....aber wenn ich 
Dich richtig verstehe, sind dann pro Port (A,C,G) ja 8 PIOs (bis auf 
G)"weg", oder?....da verliere ich zu viele Pins....spontan würde ich 
vermuten, dass für meine eher unkomplizierten Schaltlogik-Programme die 
8KB RAM ausreichen müssten...

von spess53 (Gast)


Lesenswert?

Hi

>Solange Du die AVRs mit 5V betreiben willst, sind 16 MHz das, was sie
>können.

Die ATMega48...328 können bei 5V sogar 20MHz.

MfG Spess

von Joachim B. (jar)


Lesenswert?

Uli A. schrieb:
> ..sind aber
> noch deutlich zu wenig Pins für meine geplante Anwendung (s.o.)

Pins kann man aber leichter erweitern als SRAM und der hat doppelt so 
viel!

von Rene K. (xdraconix)


Angehängte Dateien:

Lesenswert?

Thomas O. schrieb:
> schau dir das mal an
> 
http://ww1.microchip.com/downloads/en/appnotes/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf
> hier siehst du die Stromimpulse die sich ohne Kerko auf den ganzen
> Versorgungsleitungen ausbreiten, mit Kerko nur zw. µC und Kerko.

Aus jener AppNote: Uhhhh... Das sollte man so auch nicht unbedingt in 
die weite Öffentlichkeit streuen.

An den TO: daran bitte KEIN Beispiel nehmen wie man den Quarz route!

von Thomas (kosmos)


Lesenswert?

Ich würde alle Pins rausführen und ggf. ein paar Stiftleiste für Jumper 
vorsehen. So kann man nach der debugwire Session den Kerko wieder 
aktivieren.

von Stefan F. (Gast)


Lesenswert?

Frank K. schrieb:
> Bei 5V sind 16 MHz Standard.

Bei Arduino vielleicht. Bei mir sind 14,7456 Mhz Standard, damit alle 
gängigen Baudraten genau erzeugt werden können.

von Joachim B. (jar)


Lesenswert?

Stefan ⛄ F. schrieb:
> Bei Arduino vielleicht. Bei mir sind 14,7456 Mhz Standard, damit alle
> gängigen Baudraten genau erzeugt werden können.

kann man auch in Arduino machen, "einfach" nur die boards.txt anpassen
Eigenen Optibootloader erstellen mit F_CPU und genehmer uploadrate BAUD 
Einstellung.
Hatte ich bei meinen Nanos als Option gemacht, sowie beim Migthy mini 
1284p.
Vor allem beim nano musste ich auf einen langsameren upload umstellen 
damit es auch mit wUSB (wireless) oder über Ethernet klappt, der default 
upload mit 115k oder 57k6 war zu schnell für wUSB oder USB lanport 
Sharkoon 100/400.

Mit der neuen IDE 1.8.12 kämpfe ich noch, die haben da eine Menge 
verändert, aber ich bin auf einen guten Weg.

von Uli A. (schnuppi44)


Lesenswert?

Thomas O. schrieb:
> Ich würde alle Pins rausführen und ggf. ein paar Stiftleiste für Jumper
> vorsehen. So kann man nach der debugwire Session den Kerko wieder
> aktivieren.

Gute Idee !

von Uli A. (schnuppi44)


Lesenswert?

Rene K. schrieb:
> An den TO: daran bitte KEIN Beispiel nehmen wie man den Quarz route!

@ Rene: Könntest Du das präzisieren, was da so falsch ist ?

Ist ja immerhin ne Angabe des Herstellers der Dinger - da denke ich mir 
als Anfänger erstmal, dass die eigentlich wissen sollten, wovon sie 
reden bzw. wie man's richtig macht....;-)

von Uli A. (schnuppi44)


Lesenswert?

Mal noch ne andere Frage:

Ich würde die Serial Port Geschichte erstmal noch vom Testboard 
unabhängig lassen (brauche für mein späteres Gerät vermutlich keinen 
seriellen Anschluss mehr und das Prozessorboard soll deshalb wie schon 
beschrieben nur unbedingt nötige Komponenten beinhalten...)

Wäre sowas hier

https://www.reichelt.de/entwicklerboards-microusb-buchse-auf-uart-cp2102-debo-musb2uart-2-p266052.html?&nbc=1

grundsätzlich ohne großes Gewurstel als externes Element für mich 
nutzbar in einem AVR-Testsetup ? Oder brauche ich dann noch was anderes 
? Und wie ist das mit dem Takt in Kombination des (z.B. 16 MHz-) Taktes 
des AVRs?

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Wäre sowas hier
>
> 
https://www.reichelt.de/entwicklerboards-microusb-buchse-auf-uart-cp2102-debo-musb2uart-2-p266052.html?&nbc=1
>
> grundsätzlich ohne großes Gewurstel als externes Element für mich
> nutzbar in einem AVR-Testsetup ? Oder brauche ich dann noch was anderes

ja. Was da rauskommt, ist nur ein UART. Du musst nur aufpassen, dass die 
Spannungspegel stimmen, d.h. das beide mit 3.3V oder 5.0V Signalpegel 
laufen. Und natürlich TX und RX kreuzen und NICHT TX auf TX und RX auf 
RX.

> ? Und wie ist das mit dem Takt in Kombination des (z.B. 16 MHz-) Taktes
> des AVRs?

Die Bitrate muss natürlich übereinstimmen. Beim USB-Adapter stellst Du 
das über den PC ein, beim AVR im Baudratendivisor. Bei 8 oder 16 MHz 
kannst Du das nicht ganz exakt einstellen, aber 3% Abweichung sind 
erlaubt. Siehe Datenblatt Seite 223ff.

Wenn Du die Bitraten exakt haben willst, musst Du einen sogenannten 
Baudratenquarz mit 7.3728 MHz (3.3V) bzw 14.7456MHz nehmen. Das meinte 
Stefan F. mit seiner Bemerkung.

Aber bei 16MHz und 115200bps hast Du 2.1% Fehler, und das passt noch. 
Also kein Grund zur Sorge. Im richtigen Leben mit aktuellen Controllern 
gibts das Problem eh nicht mehr - die dort eingesetzten UARTs sind 
deutlich flexibler. Die AVR-Peripherie ist halt ... veraltet halt. Macht 
man heute anders. Kannst Dir ja mal zum Vergleich einen PIC32MZ 
anschauen.

fchk

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Frank K. schrieb:
> Du musst nur aufpassen, dass die
> Spannungspegel stimmen, d.h. das beide mit 3.3V oder 5.0V Signalpegel
> laufen

Der CP2102 liefert 3,3V und verträgt 5V.

von Rene K. (xdraconix)


Lesenswert?

Uli A. schrieb:
> @ Rene: Könntest Du das präzisieren, was da so falsch ist ?
>
> Ist ja immerhin ne Angabe des Herstellers der Dinger - da denke ich mir
> als Anfänger erstmal, dass die eigentlich wissen sollten, wovon sie
> reden bzw. wie man's richtig macht....;-)

Ja das ist richtig, das sollte man... eigentlich. Aber in diesem 
Beispiel ist es falsch.

Überlege dir, wie der Strom fließt. Die Kondensatoren sollten zwischen 
Quarz und MC liegen.

Aber ausführlicher wird es hier erklärt, und wie man es richtig macht: 
(ebenso eine falsche AppNote, von TI diesmal)

http://www.lothar-miller.de/s9y/categories/33-Quarz

von Uli A. (schnuppi44)


Lesenswert?

Vielen Dank an alle hilfreichen Geister für Eure Zeit und Bemühungen, 
mich Rookie zu unterstützen...!  ;o)

Also, ich fasse mal kurz zusammen, was eine sinnvolle Grundkonfiguration 
eines Testboards für den mega2560 und den 328p (AU32 TQFP!) beinhalten 
würde:

- 100nF gegen GND an alle VCCs, jeweils möglichst nah am MC

- 100nF gegen GND an AREF

- Ferrit BLM15AG221 zwischen AVCC und AGND

- 10k gegen VCC an Reset

- 100nF gegen GND an Reset - mit Jumper beim 328p

- Quarz einbinden an 33/34 beim 2560 bzw. 7/8 beim 328p(TQFP), dabei 2x 
22pF zu GND, möglichst "in Richtung des MP weisend" + 1M parallel zum 
Quarz

Hierzu direkt noch eine Frage: Finde beim Recherchieren das mit dem 
Baudratenquarz 14,7456 recht einleuchtend...spricht da irgendwas DAGEGEN 
? Immerhin hat man da durch die Bank 0% Abweichung....Oder andersherum 
gefragt: Was spricht dann FÜR 16 MHz ? Preis ? Sonstige Komplikationen 
beim Anschluss oder beim Einstellen der Baudrate ? Und was für einen 
Wert hätten beim BRQ die beiden Kondensatoren ?

WÄRE ICH DANN DAMIT FÜR MEIN(E) TESTBOARD(S) KOMPLETT ?

LG an alle !

von Otto (Gast)


Lesenswert?

Uli A. schrieb:
> Was spricht dann FÜR 16 MHz ? Preis ? Sonstige Komplikationen
> beim Anschluss oder beim Einstellen der Baudrate ? Und was für einen
> Wert hätten beim BRQ die beiden Kondensatoren ?
>
> WÄRE ICH DANN DAMIT FÜR MEIN(E) TESTBOARD(S) KOMPLETT ?

Das sind alles Fragen die niemand absolut zutreffend beantworten kann 
wenn die konkrete Anwendung unbekannt ist! Zum reinen Rumspielen/Testen 
reicht das so locker...

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Hierzu direkt noch eine Frage: Finde beim Recherchieren das mit dem
> Baudratenquarz 14,7456 recht einleuchtend...spricht da irgendwas DAGEGEN
> ?

Ja:

a) Die Bootloader von Arduino muss man dazu umkonfigurieren und neu 
compilieren. Dementsprechend muss man sich dann ein eigenes Board 
konfigurieren. Ist beides kein Hexenwerk.

b) Du kommst nicht so leicht auf exakt 1ms Intervalle für Timer.

c) Es ist langsamer als 16 oder 20 MHz

von fchk (Gast)


Lesenswert?

Uli A. schrieb:
> Und was für einen
> Wert hätten beim BRQ die beiden Kondensatoren ?

Das hängt vom Quarz ab. Wenn Du den hier nimmst

https://www.digikey.de/product-detail/de/txc-corporation/7A-14-7456MAAE-T/887-1746-1-ND/3518796

dann wären 15pf oder 18pf korrekt.

Bei dem hier:

https://www.digikey.de/product-detail/de/txc-corporation/7A-14-7456MAAJ-T/887-1085-1-ND/2118962

wären 22pF angesagt.

fchk

von Uli A. (schnuppi44)


Lesenswert?

Otto schrieb:
> Uli A. schrieb:
>> Was spricht dann FÜR 16 MHz ? Preis ? Sonstige Komplikationen
>> beim Anschluss oder beim Einstellen der Baudrate ? Und was für einen
>> Wert hätten beim BRQ die beiden Kondensatoren ?
>>
>> WÄRE ICH DANN DAMIT FÜR MEIN(E) TESTBOARD(S) KOMPLETT ?
>
> Das sind alles Fragen die niemand absolut zutreffend beantworten kann
> wenn die konkrete Anwendung unbekannt ist! Zum reinen Rumspielen/Testen
> reicht das so locker...

Gut. Darum geht es ja un erster Linie - Rumspielen & Testen und dabei 
einerseits noch möglichst flexibel bleiben aber das Nötigste an Bord 
haben - vor allem, wie schon mehrfach oben beschrieben, wenn es Teile / 
Baugruppen sind, die man eh immer braucht und/oder die beim Aufbau im 
Breadboard Probleme machen

von Uff Basse (Gast)


Lesenswert?

Uli A. schrieb:
> Rumspielen & Testen und dabei
> einerseits noch möglichst flexibel bleiben aber das Nötigste an Bord
> haben

Uli A. schrieb:
> Finde beim Recherchieren das mit dem
> Baudratenquarz 14,7456 recht einleuchtend

Diese beiden Gedanken vereint: es ist natürlich unheimlich wichtig
jede Teillerrate von 300 Baud bis 921000 Baud zuv Verfügung zu
haben, nicht wahr?

Der "Baudraten-Quarz" ist auch so ein Erbe aus der Steinzeit.

von Uli A. (schnuppi44)


Lesenswert?

Stefan ⛄ F. schrieb:
> Uli A. schrieb:
>> Hierzu direkt noch eine Frage: Finde beim Recherchieren das mit dem
>> Baudratenquarz 14,7456 recht einleuchtend...spricht da irgendwas DAGEGEN
>> ?
>
> Ja:
>
> a) Die Bootloader von Arduino muss man dazu umkonfigurieren und neu
> compilieren. Dementsprechend muss man sich dann ein eigenes Board
> konfigurieren. Ist beides kein Hexenwerk.
>
> b) Du kommst nicht so leicht auf exakt 1ms Intervalle für Timer.
>
> c) Es ist langsamer als 16 oder 20 MHz

Danke für den Input.

Dann scheint mir in meinem Fall 16MHz zunächst mal mehr Sinn zu machen, 
da ich ja aktuell noch den Umstieg von Aduino zu nativer AVR-Umgebung 
vollziehen bzw. da noch viel lernen muss/möchte.

So oder so scheint es mir vor allem sinnvoll, eine SMD-Quarz-Bauform zu 
nehmen, die beide Werte (BRQ 14,7456 & 16MHz) erlaubt - ich werde mir 
sowieso direkt 20 der Boards fertigen lassen, und da kann ich ja dann 
munter Kombinationen ausprobieren bzw. mehrere unterschiedlich 
bestücken...

Das mit den Timern fände ich ggfs. auch wichtiger als die 
"toleranzfreie" Baudrate.

Die reine Geschwindigkeit ist für mich dagegen (momentan!) eher 
nebensächlich...aber das kann sich ja in der Zukunft ändern...;-)

von Uli A. (schnuppi44)


Lesenswert?

Ach ja, noch ne Frage zu dem Ferrit zwischen AVCC und AGND:

Soll der dann anstatt des 100nF oder zusätzlich ?

von Uff Basse (Gast)


Lesenswert?

Uli A. schrieb:
> Ferrit zwischen AVCC und AGND:

"Zwischen" ist sicher ein Fehler!

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Soll der dann anstatt des 100nF oder zusätzlich ?

Auf jeden Fall zusätzlich, sonst wirkt er sich negativ aus.

von fchk (Gast)


Lesenswert?

Uli A. schrieb:
> Ach ja, noch ne Frage zu dem Ferrit zwischen AVCC und AGND:

MEEP! 6, setzen.

Der Ferrit muss zwischen AVCC und VCC. Der säubert die 
Versorgungsspannung für die analogen Pins etwas. Zwischen AVCC und AGND 
hättest Du Dir einen beinahe-Kurzschluss gebaut.

fchk

von Stefan F. (Gast)


Lesenswert?

fchk schrieb:
> Der Ferrit muss zwischen AVCC und VCC.

Das hat er wohl auch so gemeint... hoffe ich

von Uli A. (schnuppi44)


Lesenswert?

Ja, macht definiv Sinn....!!!

Hatte mich auch schon gewundert....was genau AGND sein sollte...

;-))))

von Uli A. (schnuppi44)


Lesenswert?

fchk schrieb:
> Uli A. schrieb:
>> Ach ja, noch ne Frage zu dem Ferrit zwischen AVCC und AGND:
>
> MEEP! 6, setzen.
>
> Der Ferrit muss zwischen AVCC und VCC. Der säubert die
> Versorgungsspannung für die analogen Pins etwas. Zwischen AVCC und AGND
> hättest Du Dir einen beinahe-Kurzschluss gebaut.
>
> fchk

Den hatte ich von Dir....;o)))) Alles gut - Hauptsache, aufgeklärt bzw. 
rechtzeitig erkannt...!

von Joachim B. (jar)


Lesenswert?

Uli A. schrieb:
> Also, ich fasse mal kurz zusammen, was eine sinnvolle Grundkonfiguration
> eines Testboards für den mega2560 und den 328p (AU32 TQFP!) beinhalten
> würde:
>
> - 100nF gegen GND an alle VCCs, jeweils möglichst nah am MC
> - 100nF gegen GND an AREF

JA

Uli A. schrieb:
> - Ferrit BLM15AG221 zwischen AVCC und AGND

Nö wo soll das denn stehen?

Uli A. schrieb:
> So oder so scheint es mir vor allem sinnvoll, eine SMD-Quarz-Bauform zu
> nehmen, die beide Werte (BRQ 14,7456 & 16MHz) erlaubt

gut, auch wer den Bootloader anpassen kann könnte überlegen einen

18,4320 MHz
19,6608 MHz
22,1184 MHz

wählen je nach Spannungsversorgung kann ein 20MHz AVR auch etwas höher 
liegen, gemessen wurde bei einigen Exemplaren auch 22-24MHz.

Wenns mal um die letzten % ankommt, nicht das ich overclock immer 
gutheissen würde, bin da eher sicherer unterwegs, aber durch 
verkleinerte Chipstrukturen sind oft mehr drin als ein Datenblatt 
(unkorrigiert) verspricht.

Bestes Beispiel WD1772-2 wo ALLE statt mit ausgewiesenden 8 MHz locker 
kurzzeitig auch immer mit 16 MHz spielten! (-2 zeigte den "neueren" Typ 
an)

von Uli A. (schnuppi44)


Lesenswert?

fchk schrieb:
> Der Ferrit muss zwischen AVCC und VCC.

Hmmm....liegt der Ferrit denn dann quasi IN der Versorgungsleitung / 
Speisung von VCC zum AVCC pin am MC ? oder zusätzlich, also parallel 
dazu ?

von fchk (Gast)


Lesenswert?

Uli A. schrieb:
> fchk schrieb:
>> Der Ferrit muss zwischen AVCC und VCC.
>
> Hmmm....liegt der Ferrit denn dann quasi IN der Versorgungsleitung /
> Speisung von VCC zum AVCC pin am MC ? oder zusätzlich, also parallel
> dazu ?

AVCC ist nur und ausschließlich über den Ferrit mit der 
Versorgungsspannung verbunden.

Datenblatt, Seite 9:

"2.3.17 AVCCAVCC is the supply voltage pin for Port F and the A/D 
Converter. It should be externally connected to VCC, even if the ADC is 
not used. If the ADC is used, it should be connected to VCC through a 
low-pass filter."

Und der low-pass filter ist der Ferrit in Verbindung mit dem 100n am 
AVCC gegen GND.

Ist das so schwer?

fchk

von Uli A. (schnuppi44)


Lesenswert?

fchk schrieb:
> Ist das so schwer?

Nein. Bin nur einfach noch recht am Anfang und daher unsicher und will 
nicht umsonst ne fehlerhafte Platine in Auftrag geben....

Danke nochmals für die Beantwortung der "Dummie"-Fragen...!

;-(

von foobar (Gast)


Lesenswert?

Nur ein Hinweis bzgl des 256er: Dir ist schon bewußt, dass die Dinger 
von der Programmierung her eher eklig sind?  Die 256kB Flash lassen sich 
mit 16-Bit-Adressen nicht mehr ansprechen und entsprechende Verrenkungen 
sind nötig.  Das fängt bereits beim 128er an; da reicht ein 16-Bit 
Programcounter noch (wegen Word-Adressen), aber Daten im Flash brauchen 
bereits 24-Bit-Adressen.

Meiner Meinung nach sind die AVR bis 32kB Flash (möglichst mit im 
Datensegment gespiegeltem Flash) optimal.  64kB Flash ist noch OK, aber 
wenn man noch mehr braucht, nimmt man 32-Bit-Prozessoren (z.B. 
Cortex-M).

von Stefan F. (Gast)


Lesenswert?

foobar schrieb:
> Dir ist schon bewußt, dass die Dinger
> von der Programmierung her eher eklig sind?

Ich denke, dass der C Compiler sich schon darum kümmern wird. Oder 
nicht?

von foobar (Gast)


Lesenswert?

> Ich denke, dass der C Compiler sich schon darum kümmern wird. Oder
> nicht?

Er versucht es zu verstecken (z.B. mit Trampolines) aber wie üblich bei 
solchen Hacks, fällt man auf die Schnauze, wenn man es ignoriert. 
Alleine dass man sich nun nicht mehr nur mit pgm_read_byte sondern mit 
pgm_read_byte_near und pgm_read_byte_far rumschlagen muß, reicht mir 
schon ... ;-)

von Stefan F. (Gast)


Lesenswert?

foobar schrieb:
> Alleine dass man sich nun nicht mehr nur mit pgm_read_byte sondern mit
> pgm_read_byte_near und pgm_read_byte_far rumschlagen muß, reicht mir
> schon ... ;-)

Muss man nicht, wenn man die Daten in einem Segment zusammen hält, was 
normalerweise kein Problem sein sollte.

von foobar (Gast)


Lesenswert?

>> pgm_read_byte_near und pgm_read_byte_far rumschlagen
>
> Muss man nicht, wenn man die Daten in einem Segment zusammen hält,

Nun ja, ist ja alles im Flash und wo es da landet (in den ersten 64kB 
oder weiter hinten), weiß man als C-Programmierer eigentlich nicht.  Und 
nen Typ mit 256kB nimmt man ja gerade, weil die 64kB nicht reichen.

von Uli A. (schnuppi44)


Lesenswert?

Noch ne Frage zum Einbinden des Uhrentakts:

Habe im Datenblatt des 2560 für die Verwendung eines 32kHz-Uhrentaktes 
im Gegensatz zum "falsch beschriebenen Anschluss" eines z.B. 16 MHz 
Quarzes nur gesehen:

XTAL 2: NC

XTAL 1: EXTERNAL CLOCK SIGNAL

GND: an GND

Grundsätzlich gefragt: Verstehe ich das richtig, dass man ENTWEDER einen 
LF Uhrentakt verwendet ODER einen HF "Systemtakt" (z.B. 16MHz) ?

Und wenn ja, wie wird der 32kHz Quarz dann angebunden, wenn die 
Belegungsangaben hier stimmen ?

LG

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Noch ne Frage zum Einbinden des Uhrentakts:
>
> Habe im Datenblatt des 2560 für die Verwendung eines 32kHz-Uhrentaktes
> im Gegensatz zum "falsch beschriebenen Anschluss" eines z.B. 16 MHz
> Quarzes nur gesehen:

Datenblatt Seite 43 unten, Abschnitt "10.6 Low Frequency Crystal 
Oscillator".

Dazu Datenblatt Seite 47, Abschnitt "10.11 Timer/Counter Oscillator"

Lesen kannst Du aber schon selber?

fchk

von foobar (Gast)


Lesenswert?

Du hast zwei Oszillatoren, Xtal1/2 sowie Tosc1/2 (auf PG3/4).

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> Datenblatt Seite 43 unten, Abschnitt "10.6 Low Frequency Crystal
> Oscillator".
>
> Dazu Datenblatt Seite 47, Abschnitt "10.11 Timer/Counter Oscillator"
>
> Lesen kannst Du aber schon selber?

Ja, lesen kann ich durchaus...;-/

Und die Abschnitte hatte ich auch schon gefunden und gelesen. Das heißt 
aber nicht, dass ich da direkt schlau draus werde - daher die 
Frage...die bezieht sich - WEILe ich das dort gelesen habe - auch 
konkret auf das Datenblatt, genauer gesagt auf Fig. 23 im Gegensatz zu 
Fig. 22 (anscheinend sind die Seitenzahlen in meiner Version leicht 
anders - was bei Dir S.43 unten ist, ist bei mir S.44 oben)...

von Uli A. (schnuppi44)


Lesenswert?

foobar schrieb:
> Du hast zwei Oszillatoren, Xtal1/2 sowie Tosc1/2 (auf PG3/4).

Danke....also sind das zwei komplett unabhängige Taktungen, die man 
ggfs. BEIDE gleichzeitig für verschiedene Anwendungen verwenden kann ?

Und wenn ja, wären die dann genauso zu konfigurieren wie der Quarz an 
XTAL1/XTAL2 - mit den beiden Kondensatoren gegen GND und dem parallelen 
1M ?

Das wird so langsam recht eng da in der Ecke....;-)

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:

> Und wenn ja, wären die dann genauso zu konfigurieren wie der Quarz an
> XTAL1/XTAL2 - mit den beiden Kondensatoren gegen GND und dem parallelen
> 1M ?

true; true;

> Das wird so langsam recht eng da in der Ecke....;-)

Jetzt weiß Du, warum Du SMD-Quarze in einem möglichst kleinen Format 
sowie Kondensatoren in 0402 verwenden sollst - mal abgesehen von den 
besseren HF-Eigenschaften (0402-Kondensatoren haben eine geringere 
Induktivität).

fchk

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> Jetzt weiß Du, warum Du SMD-Quarze in einem möglichst kleinen Format
> sowie Kondensatoren in 0402 verwenden sollst - mal abgesehen von den
> besseren HF-Eigenschaften (0402-Kondensatoren haben eine geringere
> Induktivität).
>
> fchk

Alles klar.....dann schaue ich mal, ob ich das noch irgendwie 
unterkriege....;-)

Immerhin ist das 32kHz Quarz ein bisschen kleiner...

Danke nochmals für Deine Hilfe, Frank (und allen anderen) - und sorry 
für die für Dich vermutlich teils dämlichen Fragen....

von Uli A. (schnuppi44)


Lesenswert?

Nochmal kurz ne Frage in die Runde bezüglich der Anbindung des 
Clock-Quarzes mit 32 kHz:

Die im Datenblatt angegebene Ladekapazität ist 12,5 pF.

Was nehme ich dann für die zwei Kondensatoren gegen GND ? 22pF oder 
kleiner ?

Und wie errechnet oder bemisst sich diese Dimensionierung ?

LG

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Und wie errechnet oder bemisst sich diese Dimensionierung ?

Aus den Zahlreichen Diskussionen hier im Forum habe ich mir folgende 
Faustformel notiert:

Man nehme die Lastkapazität aus dem Datenblatt mal zwei minus 5pF.

Mit deinen 22 pF bist du nahe an dieser Faustformel. Probiere sie!

Einige AVR Mikrocontroller enthalten per Software zuschaltbare interne 
Kondensatoren, so dass die externen entsprechend kleiner sein müssen, 
wenn sie aktiviert sind.

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Nochmal kurz ne Frage in die Runde bezüglich der Anbindung des
> Clock-Quarzes mit 32 kHz:
>
> Die im Datenblatt angegebene Ladekapazität ist 12,5 pF.
>
> Was nehme ich dann für die zwei Kondensatoren gegen GND ? 22pF oder
> kleiner ?

Ich mache es immer so: vom angegebenen Wert ausgeben und den 
nächstgrößeren in der E-Reihe nehmen, bei 12.5pF wären das dann 15pF. 
Das ist so ganz grob Pi mal Auge und funktioniert meistens. Wenn der 
Wert zu klein ist, schwingt der Quarz nicht an, wenn er zu groß ist, 
stimmt die Frequenz nicht genau.

Und wenn ich die Wahl habe, nehme ich Quarze mit möglichst geringer 
Lastkapazität.

> Und wie errechnet oder bemisst sich diese Dimensionierung ?

https://www.wdi.ag/files/presse/2017-06_Problemkind-Quarz.pdf

Und wenn Du es dann noch genauer wissen willst:

http://www.rainers-elektronikpage.de/Grundlagen-der-Quarztechnik/Quarzkochbuch.pdf

fchk

von Uli A. (schnuppi44)


Lesenswert?

Danke !!!

von Uli A. (schnuppi44)


Lesenswert?

Soooo....;-)

Testplatine 2560 ist fertig...!

Wie mache ich das nun bei dem 328pAU mit den Quarzen ? Da gibt es ja nur 
ein kombiniertes Paar Pins für XTAL / OSC...d.h. da müsste ich mich dann 
entscheiden, ob ich einen Systemtakt ODER eine Clock von extern anbinde 
?

Was fändet Ihr sinnvoller ? (Davon abgesehen, dass ich natürlich auch 
beides im Layout parallel vorsehen kann und dann das Quarz auflöten, das 
gerade mehr Sinn macht....)

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Was fändet Ihr sinnvoller ?

Kommt auf deine Anwendung an. Der eine Oszillator taktet die CPU, der 
andere nur einen Timer.

von Uli A. (schnuppi44)


Lesenswert?

Stefan ⛄ F. schrieb:
> Kommt auf deine Anwendung an. Der eine Oszillator taktet die CPU, der
> andere nur einen Timer.

Was ich noch nicht ganz verstanden habe (komme ja "gerade" vom Arduino, 
wo das alles schon vorkonfiguriert ist, so dass man da nicht drüber 
nachdenken muss):

Wenn ich davon ausgehe, dass der Systemtakt von extern u.a. dazu dient, 
möglichst stabil das Gesamtsystem zu takten - wozu brauche ich dann 
überhaupt nochmal einen separaten Clocktakt für Timer ? Wieso werden 
dann die für Timeranwendungen benötigten Unterteilungen nicht einfach 
daraus abgeleitet ?

Oder ist der Timer nicht nur eine TAKTung im Sinne einer festgelegten 
Frequenz sondern eine unendlich (absolute Werte) weiterzählende Uhr, bei 
der man für Timeranwendungen dann ggfs. an verschiedenen "Zeitstellen" 
abgegriffe Werte in Relation setzt ?

Oder andersherum gefragt im Falle des 328p, bei dem ich ja eben nicht 
beides gleichzeitig realisieren kann:

Welcher Fall wäre ein sinnvolles Beispiel, bei dem ich für den Timer den 
stabilen Systemtakt "opfern" würde ?

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Wenn ich davon ausgehe, dass der Systemtakt von extern u.a. dazu dient,
> möglichst stabil das Gesamtsystem zu takten - wozu brauche ich dann
> überhaupt nochmal einen separaten Clocktakt für Timer ? Wieso werden
> dann die für Timeranwendungen benötigten Unterteilungen nicht einfach
> daraus abgeleitet ?

Kannst du machen.

1) Die üblichen 8 MHz Quarze (oder schneller) sind allerdings weniger 
genau als 32,768 kHz Uhrenquarze.

2) Man kann Mikrocontroller bei Nicht-Gebraucht so schlafen legen, dass 
der Haupt-Oszillator abgeschaltet wird. Mit den zweit-Oszillator kann 
die Uhr (der Timer) in dieser Zeit weiter laufen.

3) Oszillatoren mit niedriger Frequenz brauchen weniger Energie, als 
Oszillatoren mit hoher Frequenz (nicht immer aber oft).

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.