PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Mehrere Atmea328P gemeinsam takten



Moppi
15.05.2020, 08:18
Hallo,

ist es möglich, mehrere 328P an den entsprechenden Pins parallel zu schalten, um nur einen Quarz und zwei 22pF-Kondensatoren verbauen zu müssen?


MfG

021aet04
15.05.2020, 09:19
Direkt geht das nicht (1 Anschluss ist Ausgang, 1 Anschluss ist Eingang).

Du kannst aber an einen den Quarz anschließen und per Fuses den Taktausgang (weiß jetzt nicht wie der genau heißt) aktivieren. Diesen Takt gibst du auf die restlichen Atmegas. Dort musst du aber die Fuses etwas anders einstellen (Takteingang, nicht Quarz).

Mfg Hannes

wkrug
15.05.2020, 09:22
Ich würde mal sagen Nein, weil im MEGA 328 dann ein aktives Gatter benötigt wird und Du somit 2 aktive Ports parallel schalten würdest.
Evtl könnte eine verbindung von einem MEGA zum anderen über nur eine Leitung klappen.
Aber auch das würde Ich persönlich nicht machen ( zusätzliche Last am Oszillator + parasitäre Induktivitäten + Kapazitäten ).

Du könntest aber einen externen Quarzoszillator verwenden und beide 328P auf externe Taktquelle einstellen - Diese Lösung wäre mein Favorit.

Es gibt auch Controller wo Du den Takt per Fuse auf einen Ausgang schalten kannst und damit den 2ten 328 takten.
Ob der 328P das kann müsstest Du im Datenblatt nachschauen

Moppi
15.05.2020, 10:02
Danke!

Also an die Fuses will ich nicht dran, ich will das so einfach wie möglich halten. Ich weiß, dass man auch extern takten kann, muss aber nicht sein. Ist nicht tragisch. Bekommt jeder seine Bauteile extra.


MfG

oberallgeier
15.05.2020, 10:34
.. Also an die Fuses will ich nicht dran, ich will das so einfach wie möglich halten .. Bekommt jeder seine Bauteile extra ..Warum nicht an die Fuses ran? Das wäre ja die einfachste Methode: ganz OHNE Quarz! Einfach mit dem internen Oszillator! Bei mir läuft manche Geschichte ohne Quarz und Kondensatoren (z.B. die Lüftersteuerung). Dann ist allerdings bei 8 MHz EDF - und UART ist dann (nur) eher fünf- besser vierstellig angesagt. Und andere, taktbezogene Dinge. (Im Hinterkopf höre ich da gleich "arduino" - und dessen Dialekt setzt ja üblicherweise auf die 16 MHz mit Quarz.)
Beispiel für Fuses ohne Quarz (oben erwähnter Aufbau) (https://dl.dropbox.com/s/kkk8uwydejtjdz5/TDL10.jpg?dl=0)

Moppi
15.05.2020, 11:05
Also ich will schon 16MHz haben. Das ist universell das Beste, was ich bisher hatte. Einmal die Geschwindigkeit und zum andern kann man damit auch einen 328P noch mit 3.3V betreiben. 8MHz ist nur noch halbe Geschwindigkeit. Auf so 3 Bauteile kommts nicht an. Außerdem einfach zum Nachbauen. Timer usw. sollen auch arduinogemäß, ohne frickeln, richtige Ergebnisse liefern.

MfG

wkrug
15.05.2020, 12:11
Also an die Fuses will ich nicht dran, ich will das so einfach wie möglich halten
Oh, aber das tust Du doch schon?!

Im Auslieferungszustand sind die Megas üblicherweise auf internen Oszillator, stellenweise sogar noch mit /8 Teiler gefused.
Also musst Du da ohnehin an die Takt Fuses ran.
Ausserdem ist, soweit Ich weiß auch JTAG aktiv?!


Bekommt jeder seine Bauteile extra
Ein Quarz Oszillator ist 1 Bauteil und evtl noch ein Stützkondensator?!

Moppi
15.05.2020, 13:11
Im Auslieferungszustand sind die Megas üblicherweise ..

Na ja, nicht so ganz. Du kannst auch welche mit Bootloader bestellen, da muss nur noch der Sketch drauf gespielt werden. Ich habe schon welche welche mit Bootloader und ohne gehabt. Bei denen mit (Conrad hat die glaub ich) liegt gleich der Quarz mit dabei. Interner Oszillator: ist nicht so meins, es sei denn es kommt überhaupt nicht auf Genauigkeit an, Hauptsache das Ding läuft. Da ich aber immer davon ausgehe, dass auch der ADC möglichst genau funktionieren soll und diverse Timer Settings, sind diese internen Takte für mich nicht so interessant. Immerhin sind ja 20MHz, am 328P, möglich und es werden nur 16MHz genutzt. Angesichts der Möglichkeiten mit einem 328P halte ich inzwischen 16MHz auch für ein bisschen schmal. Kommt immer drauf an, was man damit machen will. JTAG kenne ich noch gar nicht und brauche ich nicht. Ich weiß nicht, wofür nimmt man das und wie funktioniert es?


Also musst Du da ohnehin an die Takt Fuses ran.

Das ist ja automatisch bei der Arduino-IDE schon so angelegt, dass Du einen Bootloader drauf laden kannst, der ist dann für den 16MHz-Takt ausgelegt und alles so gesetzt, dass es funktioniert, wie bei einem Arduino Uno. Da muss man keinen Handschlag tun, um die Fuses zu setzen oder so.

Externe Bauteile:

Ein Quarz muss dran und die zwei 22pF-Cs. Ich glaub, so aus dem Kopf, von jedem Quarzbeinchen gegen GND. Manche machen noch einen 10kOhm-R gegen Pin1, wegen booten. Aber da der Pin1 intern schon einen Widerstand hat, spare ich mir das und habe noch nie ein Problem damit gehabt.

MfG

Bumbum
15.05.2020, 18:00
Hallo,


Also ich will schon 16MHz haben....zum andern kann man damit auch einen 328P noch mit 3.3V betreiben.

Das stimmt so nicht! Ich habe gerade extra noch mal ins Datenblatt geschaut. Für 16 MHz und stabilen Betrieb werden für VCC mindestens 4,5 V gefordert!

Ich würde auch die Fuses ändern. Solange du die Angst davor nicht verlierst verschenkst du jetzt und auch bei zukünftigen Projekten eventuell Möglichkeiten. Der Pin, der dann den Takt vom "Master" ausgibt ist dann der PB0 (CLKO).

Viele Grüße
Andreas

Moppi
15.05.2020, 19:53
Das stimmt so nicht! Ich habe gerade extra noch mal ins Datenblatt geschaut. Für 16 MHz und stabilen Betrieb werden für VCC mindestens 4,5 V gefordert!

Der stabile Bereich geht bis 14MHz bei 3.3V. Jedenfalls laut Diagramm. Wer Angst davor hat und sich unsicher ist, sollte allerdings die Finger davon lassen. Weil Angst essen Seele auf!
Ich habe bis jetzt nichts negatives feststellen können, wenn dich die 328P mit 3.3V und 16MHz betrieben habe. Daher kann ich den 328P-PU mit 3.3V und 16MHz betreiben und tue das auch, wenn möglich.


Im Datenblatt steht es etwas anders.




MfG

- - - Aktualisiert - - -

Es gab mal, vor einiger Zeit noch, einen Arduino Duemilanove mit 3.3V zu kaufen, der mit 16MHz läuft. Ich habe einiges drüber gelesen damals und es dann einfach versucht.

- - - Aktualisiert - - -

Nach einigem Suchen habe ich ein ähnliches Board gefunden, wo auch etwas dazu geschrieben steht. Das sind die Seeeduino - Boards: https://www.seeedstudio.com/Seeeduino-V4-2-p-2517.html

Auf der Seite stehen zwei wichtige Dinge beschrieben:


There's a switch to choose the system supply voltage, 3.3V or 5V, which is very useful if you want to set the system to 3.3V to save power.

übersetzt:

Es gibt einen Schalter zur Auswahl der System-Versorgungsspannung, 3,3V oder 5V, was sehr nützlich ist, wenn Sie das System auf 3,3V einstellen wollen, um Strom zu sparen.

Dieser Umstand ist nicht außer Acht zu lassen! Bei 3.3V verbraucht ein ATmega328P wesentlich weniger, als bei 5V Versorgungsspannung. Das habe ich auch nachgemessen.

Die zweite Sache auf der Seite:

Attention
Operating the chip at 16 MHz with 3.3 volts is beyond the specified maximum frequency "Safe Operating Area" for the ATmga328P chip. So when you switch the working voltage to 3.3V, it may not be safe. However, at room temperature, most chips work fine that way.



übersetzt:

Achtung


Der Betrieb des Chips bei 16 MHz mit 3,3 Volt liegt außerhalb der für den ATmga328P-Chip spezifizierten maximalen Frequenz "Safe Operating Area". Wenn Sie also die Betriebsspannung auf 3,3V umschalten, ist es möglicherweise nicht sicher. Bei Raumtemperatur funktionieren die meisten Chips jedoch gut so.



Das stimmt so. Ich kann das nur bestätigen.

oberallgeier
16.05.2020, 08:26
Der stabile Bereich geht bis 14MHz bei 3.3V. Jedenfalls laut Diagramm ..Welches Diagramm? Wo finde ich das?

Moppi
16.05.2020, 08:37
Welches Diagramm? Wo finde ich das?

Dokument
Rev.: Atmel-42735B-ATmega328/P_Datasheet_Complete-11/2016



Seite 369, Figure 32-1. Maximum Frequency vs. VCC

oberallgeier
16.05.2020, 12:12
.. Rev.: Atmel-42735B-ATmega328/P_Datasheet_Complete-11/2016 .. Seite 369, Figure 32-1. Maximum Frequency vs. VCCEine meiner Grundlagen ist, dass ich weder aus (Papier- und/oder anderen) Zeichnungen noch aus systematischen oder Übersichts-Diagrammen Zahlenwerte ausmesse, reininterpoliere, -interpretiere oder so. Und in diesem Datenblatt, das ich derzeit auch für meine 328er-Familie benutze, kann ich keine belastbaren Angaben zu 14 MHz @ 3,3V finden.

......https://dl.dropbox.com/s/kk4a7d3w2puzqz6/Dia_ok-13-20%25.JPG?dl=0 (https://dl.dropbox.com/s/6ogunevscft8fu0/Dia_ok-13-1.JPG?dl=0)
......(C) oberallgeier 2020 (größere Version in der Grafik verlinkt)

Aber wenn man schon übertaktet ist´s e wurscht ob man zehn oder zwanzig Prozent daneben liegt. Zumal im Hobby-/Amateurbereich. Man fällt eben aus den spezifizierten Angaben raus. Und die overclock freaks kennen die Folgen.

Moppi
16.05.2020, 13:49
@oberallgeier

Das sei Dir zugestanden. Wenn ich aber ein Diagramm sehe, erwarte ich schon, dass das dann nicht so gezeichnet ist, dass ein Ablesefehler von 50% zustande kommt.

Ich habe das im Grafikprogramm über Pixels genau ausgezirkelt :lol: Warum das so unterschiedliche Angaben sind, keine Ahnung (max. 12MHz habe ich schon gelesen bei 3.3V).
Ich denke eher, das mit den 14MHz stimmt etwa, sonst könnte ich mir vorstellen, dass der bei 16MHz mehr rumzicken müsste. Aber ist meine Meinung, wissen kann ich das nicht.
Entscheidend ist für mich, dass es funktioniert. Ich will die Dinger weder bei 60°C betreiben, noch bei -20°C. Im Weltall auch nicht. ;)

Allerdings muss ich dazu sagen, dass ich die 328P nur mit sauberer stabiler Versorgung, vom Akku, betrieben habe. Kann sein, dass es unter nicht so optimalen Bedingungen schnell anders aussieht.


MfG