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 !
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?
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.
... 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....
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....
Uli A. schrieb: > Ist die Groundplane zwingend ? Wirklich zwingend nun nicht, aber sie sorgt für eine bessere Signalintegrität. fchk
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
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
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...!
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....;-)))
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...
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
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.
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....!
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.
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 ?
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.
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.
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.
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.
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 !
@ Stefan: Danke für die Auf- und Erklärung !
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...
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
Frank K. schrieb: > - ISP-Pinheader muss nicht mit drauf. Käse. Denn wenn JTAG disabled ist kommt er gar nicht an der Controller ran.
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
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.
@Frank: Vielen lieben Dank für Deine Bemühungen und Deine Zeit !!!
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
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)
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.)
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
@ Frank: Danke ! Machen denn 16MHz (und die Verwendung der bisher angedachten Quarze) beim 328p auch Sinn ? Oder "kann" der nur langsamer ?
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
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.
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...
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
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!
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!
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.
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.
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.
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 !
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....;-)
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
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
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.
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
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 !
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...
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
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
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
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.
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...;-)
Ach ja, noch ne Frage zu dem Ferrit zwischen AVCC und AGND: Soll der dann anstatt des 100nF oder zusätzlich ?
Uli A. schrieb: > Soll der dann anstatt des 100nF oder zusätzlich ? Auf jeden Fall zusätzlich, sonst wirkt er sich negativ aus.
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
Ja, macht definiv Sinn....!!! Hatte mich auch schon gewundert....was genau AGND sein sollte... ;-))))
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...!
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)
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 ?
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
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...! ;-(
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).
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?
> 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 ... ;-)
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.
>> 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.
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
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
Du hast zwei Oszillatoren, Xtal1/2 sowie Tosc1/2 (auf PG3/4).
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)...
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
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
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....
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
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.
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
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....)
Uli A. schrieb: > Was fändet Ihr sinnvoller ? Kommt auf deine Anwendung an. Der eine Oszillator taktet die CPU, der andere nur einen Timer.
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 ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.