In den AVR-Datenblättern im Abschnitt "Elektrische Eigenschaften" finden Sie normalerweise eine Grafik wie die folgende (diese stammt vom ATMega328):
Ich habe Designs gesehen, die zu "funktionieren" scheinen, aber außerhalb des schattierten Umschlags funktionieren. Insbesondere habe ich 3,3-V-Designs (Arduino) gesehen, bei denen die Uhr von einem externen 16-MHz-Kristall aus betrieben wird. Dies entspricht eindeutig nicht den Spezifikationen. Was sind die praktischen negativen Konsequenzen eines Laufens außerhalb dieses Umschlags?
arduino
microcontroller
avr
clock-speed
vicatcu
quelle
quelle
Antworten:
So machen Sie das Leben interessanter 101:
Wenn es dich nicht interessiert
dass Ihre Ergebnisse manchmal falsch sein können,
dass Ihr System manchmal abstürzt,
dass Ihr Leben interessanter sein kann,
dass Ihr Segway-Klon nur gelegentlich Gesichtspflanzen ohne offensichtlichen Grund ausführt,
dass ...
Führen Sie dann das Teil auf jeden Fall außerhalb der Herstellerspezifikation aus
Sie bekommen, wofür Sie nicht bezahlen.
Wenn Sie einen 10-Dollar-Kopf haben, kaufen Sie einen 10-Dollar-Helm.
Es kann oft funktionieren.
Es kann manchmal nicht funktionieren.
Es kann nicht offensichtlich sein, dass es manchmal nicht funktioniert.
Ein ADC-Wert ist möglicherweise korrekt.
Oder nicht
quelle
Bei diesen Geschwindigkeiten berechnen die meisten Prozessoren alle Signale, die in einem bestimmten Taktzyklus benötigt werden, und warten auf die nächste Taktflanke, während sie sich stabilisieren. Sie speichern alle diese Signale und berechnen die Signale, die im nächsten Taktzyklus benötigt werden Warten auf diese Flanke, während sich diese Signale stabilisieren usw. Wenn eine Taktflanke eintrifft, bevor sich die erforderlichen Signale stabilisiert haben, kann es vorkommen, dass die nicht stabilisierten Signale nicht sauber zwischengespeichert werden. Wenn dies in einem Mikrocontroller auftritt, können die Auswirkungen unvorhersehbar sein - aus mindestens zwei Gründen:
Die Hersteller geben die Betriebsparameter für Prozessoren so an, dass die Prozessoren innerhalb dieser Parameter nur normal arbeiten. Das Verschieben von Dingen außerhalb dieses Umschlags kann dazu führen, dass der Prozessor nur noch 99,9999999 zuverlässig ist. Das klingt vielleicht nicht allzu böse, aber es macht keinen Spaß, einen Prozessor zu diagnostizieren, der etwa einmal pro Minute willkürlich etwas falsch macht (16MHz).
quelle
Vereinfachte Antwort auf Ihre Frage:
Das Arbeiten außerhalb des "sicheren Geschwindigkeitsbereichs" kann dazu führen, dass Ihr System instabil arbeitet. Was das heißt? Falsche Berechnungsergebnisse, Mikrocontroller-Reset usw.
Wenn du das nur zum Spaß machen willst, solltest du dir diese Seiten / Artikel ansehen:
Übertakten von Arduino mit Flüssigstickstoffkühlung. 20 ⇒ 65,3 MHz bei -196 ºC / -320 ºF
ATmega328 Overclock (30MHz)
quelle
Eine noch nicht erwähnte Überlegung, die weniger mit dem Betrieb bei gültigen Frequenzen in ungültigen Spannungsbereichen (16 MHz bei 3,3 V) als vielmehr mit dem Betrieb bei ungültigen Frequenzen in gültigen Spannungsbereichen (24 MHz bei 5 V) zu tun hat, ist die Wärmeableitung.
Jedes Mal, wenn ein Gate im Chip ein- oder ausgeschaltet wird, leitet es Wärme ab. Das Gate, das aus MOSFETs besteht, wirkt in der Zeit zwischen EIN und AUS oder AUS und EIN wie ein variabler Widerstand. Dieser Widerstand leitet natürlich Wärme ab. Je häufiger geschaltet wird, desto kürzer ist die Zeit zwischen den Schaltvorgängen, in der diese Wärme aus dem Chip abgeführt wird, und Sie riskieren einen Wärmestau.
Ergo, je schneller du rennst, desto mehr Wärme kann sich aufbauen. Das ist der Grund, warum PC-CPUs große Lüfter haben - sie schalten so schnell, dass sie die Wärme nicht schnell genug aus dem Chip holen können, und brauchen daher Hilfe.
Die Höchstgeschwindigkeit des Chips wird so gewählt, dass der Chip seine Wärmeentwicklung unter den gültigen Betriebsbedingungen (z. B. Umgebungstemperatur, typischerweise max. 85 ° C oder 105 ° C) zuverlässig abführen kann. Ein Überschreiten dieser Frequenz kann zur Überhitzung des Chips führen.
Ja, es kann möglich sein, den Chip schneller als vorgesehen laufen zu lassen, wenn Sie Unterstützung leisten - z. B. durch einen Kühlkörper und möglicherweise einen Lüfter. Aber an einem warmen Tag im Sommer kann es natürlich vorkommen, dass das, was den ganzen Winter über perfekt funktioniert hat, plötzlich seltsame Dinge tut.
Eine andere zu berücksichtigende Sache ist die der Anstiegsraten. Taktsignale (und auch andere Signale) benötigen Zeit, um auf den gewünschten Pegel zu steigen oder zu fallen. Wenn die Interna des Chips bedeuten, dass das Taktsignal 15 ns benötigt, um von einem LOW auf ein HIGH zu steigen, und Sie versuchen, es mit einer Frequenz zu takten, bei der eine HIGH-Periode von beispielsweise 42 ns (24 MHz) vorliegt, so dass nur 27 ns eines gültigen Takts übrig bleiben verbleibender Zeitraum. Das sind nur 64% der Uhr als Taktsignal - der Rest ist Müll. Gleiches gilt für IO-Pins. Dinge wie SPI-Taktausgänge werden durch die Anstiegsrate des IO-Pins begrenzt. Wenn Sie also Ihren Chip übertakten, um einen schnelleren SPI zu erhalten, werden Sie feststellen, dass die Dinge nicht immer wie geplant verlaufen, wie die schöne Rechteckwelle, die Sie vom Taktausgang erwarten ist nicht mehr quadratisch.
quelle
Das Gerät funktioniert möglicherweise nicht mit einer bestimmten Spannungs- / Temperaturkombination.
quelle