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

7

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

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

Anti Mafia
quelle

Antworten:

19

Zwei Hauptgründe, an die ich denken kann, sind ...

  1. Sie möchten mit einer höheren Taktrate laufen als mit dem internen Oszillator verfügbar. Für den 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 Kristall mit bis zu 16 MHz betreiben.

  2. Sie benötigen ein präzises und genaues Timing. Mit etwas Aufwand können Sie den internen RC-Takt mit einer Genauigkeit von +/1% kalibrieren, aber ein billiger (1 US-Dollar) 16-MHz-Kristall kann sofort auf 0,005% (50 ppm) genau sein. Der interne RC-Oszillator reagiert auch empfindlicher auf Temperatur- und Spannungsänderungen, sodass ein externer Kristall im Allgemeinen stabiler ist.

Warum sollten Sie die maximale Taktrate erhöhen? Wenn Sie doppelt so schnell laufen, können Sie doppelt so viel Arbeit in derselben Zeit erledigen - oder dieselbe Menge Arbeit in der Hälfte der Zeit. Oder Sie können Signale mit der doppelten Frequenz erzeugen / zählen.

Warum sollten Sie eine präzise und genaue Uhr haben? Vielleicht möchten Sie lokal verfolgen, wie viele Sekunden Sie ausgeführt haben. Nach 1 Woche können Sie mit einem% 1-Oszillator mehr als eine Stunde ausgeschaltet sein, während Sie mit einem 50-ppm-Kristall innerhalb einer halben Minute sein sollten. Oder Sie interessieren sich für die Zeit in einem sehr kurzen Maßstab - zum Beispiel das Generieren von seriellen Datenbits, bei denen eine Abweichung von 1% auf beiden Seiten einer Verbindung ausreichen kann, um Rahmenfehler zu verursachen.

Bigjosh
quelle