Problem mit der externen AVR-Uhr

Hey, ich habe einige Chips mit dem Arduino-Bootloader darauf und einige Chips ohne. Ich möchte sie mit der gleichen Schaltung verwenden. Die Verwirrung, die ich habe, ist, dass der Arduino 16 MHz extern verwendet und der AVR intern ist. Wird es ein Problem verursachen, wenn ich sie in derselben Schaltung verwende?

Ich dachte, ich füge einfach die Uhr hinzu, die Arduino-Chips werden den Kristall verwenden und die anderen Chips nicht. Habe ich recht?

Antworten (3)

Solange Sie die Sicherungen so eingestellt haben, dass sie den internen Oszillator verwenden, und Sie die XTAL-Pins aus irgendeinem Grund auf diesen Chips nicht verwenden, sollten Sie A-OK sein. Sie sollten diese XTAL-Pins jedoch nicht auf Ausgänge setzen, sondern auf Eingänge ohne aktivierte interne Pullups (dh DDRx = 0; PORTx = 0). Ich bin mir jedoch nicht sicher, ob Sie mit mehr als einem Kristall pro Chip einverstanden sind. Die Kristalle sind "passive" Komponenten, und der AVR enthält tatsächlich einige Schaltkreise, um den Kristall zur Resonanz "anzutreiben" ...


BEARBEITEN OK Ich wollte nur sicherstellen, dass Sie nicht versuchen, Kristalle zu "teilen". Wie die anderen gesagt haben, kann ich mir keinen (vernünftigen) Grund vorstellen, warum Sie Ihre Chips mit der gleichen Taktrate betreiben müssten. Beachten Sie jedoch, dass einige Ihrer Registereinstellungen (z. B. Timer-Vorskalierungen, Baudrateneinstellungen usw.) implizit mit Ihrer Taktrate gekoppelt sind und möglicherweise in ansonsten identischer Firmware angepasst werden müssen.

Ich habe nicht mehr als einen Kristall auf einem Chip. Die Arduino-Chips haben einen eigenen 16-MHz-Takt, während die normalen Chips den internen Takt verwenden.

Die Takteinstellung von ATMega*8-Chips wird durch die Fuses bestimmt. Ich würde lieber die gleichen Uhreinstellungen für den Arduino-Chip und den AVR verwenden, oder Ihre Anwendung funktioniert möglicherweise nicht richtig (insbesondere wenn Sie serielle Kommunikation usw. verwenden ...).

Diese Seite enthält nützliche Informationen zum Thema sowie Links zu den relevanten Teilen im Datenblatt.

hängt davon ab, was Sie unter "Probleme verursachen" verstehen.

Unter der Annahme, dass sie mit etwas wie SPI oder I2C mit angemessener SoC-Unterstützung kommunizieren, gibt es kein Kommunikationsproblem, da SPI/I2C für den Betrieb ohne Taktsynchronisierung zwischen ICs ausgelegt sind.

Möglicherweise haben Sie Probleme mit der Signalintegrität und EMI, wenn mehrere ICs mit unabhängigen Taktgebern betrieben werden. Dies wird besonders deutlich in zusammengehackten Prototypschaltungen mit hohem Erdungswiderstand, z. B. ist ein Steckbrett mit verdrahteter Erdung ein viel größeres Problem als eine Leiterplatte mit einer soliden 2-Unzen-Masseebene.

Die nicht synchronen Takte können erhöhten Jitter und Erdungsprellen in den Schaltkreisen des jeweils anderen verursachen. Ein Tipp ist, zu vermeiden, dass der Erdstromrückfluss unter anderen Stromkreisen fließt, die von einer anderen Uhr laufen. Denken Sie immer daran, dass Hochfrequenzstrom dem Weg der geringsten Induktivität und nicht dem Weg des geringsten Widerstands folgt, wenn Sie den Stromrückweg betrachten.