Wann brauchen wir einen externen Kristall für einen Atmega-Chip?

Ich habe eine Mikrocontroller-Schaltung erstellt, basierend auf den am häufigsten verwendeten Schaltungen, die ich im Internet finden konnte - die einen externen Kristall verwenden. Wie ich weiß, hat Atmega16 einen internen Oszillator, der standardmäßig mit 1 MHz arbeitet. So kann der Mikrocontroller ohne externen Quarz verwendet werden. Aber jetzt bin ich verwirrt - brauche ich einen externen Quarz für meine Mikrocontroller-Schaltung? Ich verwende nur ADC, USART und LM35. Ich weiß nicht, ob der interne Oszillator ausreicht, gut oder etc. ist, um verwendet zu werden.

Wann brauchen wir also einen externen Quarz für unseren Mikrocontroller?

Antworten (1)

Zwei Hauptgründe, die mir einfallen, sind...

  1. Sie möchten mit einer höheren Taktrate laufen, als dies mit dem internen Oszillator möglich ist. Bei dem von Ihnen erwähnten Atmega16-Chip hat der interne Oszillator eine maximale Geschwindigkeit von 8 MHz, aber Sie können den Chip mit einem externen Quarz mit bis zu 16 MHz betreiben.

  2. Sie brauchen ein präzises und genaues Timing. Mit einigem Aufwand können Sie die interne RC-Uhr auf eine Genauigkeit von +/- 1 % kalibrieren, aber ein billiger ($ 1) 16-MHz-Quarz kann sofort auf 0,005 % (50 ppm) genau sein. Der interne RC-Oszillator ist auch empfindlicher gegenüber Temperatur- und Spannungsänderungen, sodass ein externer Quarz im Allgemeinen stabiler ist.

Warum sollten Sie sich für eine Erhöhung der maximalen Taktfrequenz interessieren? Doppelt so schnell zu laufen bedeutet, dass Sie in der gleichen Zeit doppelt so viel Arbeit erledigen können – oder die gleiche Menge Arbeit in der Hälfte der Zeit. Oder Sie können Signale mit doppelter Frequenz erzeugen/zählen.

Warum sollten Sie sich für eine präzise und genaue Uhr interessieren? Vielleicht möchten Sie die Anzahl der Sekunden, die Sie gelaufen sind, lokal verfolgen. Nach 1 Woche können Sie mit einem %1-Oszillator um mehr als eine Stunde daneben liegen, während Sie mit einem 50-ppm-Quarz innerhalb einer halben Minute liegen sollten. Oder Sie interessieren sich vielleicht nur sehr kurz für die Zeit - zum Beispiel das Generieren serieller Datenbits, bei denen ein Versatz um 1 % auf beiden Seiten einer Verbindung ausreichen könnte, um Framing-Fehler zu verursachen.