Hi, ich habe da mal eine Frage, auf die ich hier nirgends eine Antwort finden konnte. Früher wurde, wenn ich das richtig verstanden habe, viel mit Versorgungsspanungen von 5 V gearbeitet und heute nimmt man lieber die 3,3 V, warum auch immer. Ein AVR kann ja i.d.R. mit bis zu 20 MHz betrieben werden. Warum nimmt eigentlich nicht jeder Bastler der 5 V-Schaltungen baut gleich die 20 MHz? Ok, der Stromverbrauch ist natürlich höher, aber macht sich das wirklich bemerkbar? Oder anders herum gefragt, reichen die Maximalen 8 oder 10 MHz bei 3,3 V für größere Anwendungen? Das ein Megaherz 10^6 Schläge pro Sekunde sind, ist klar, aber ich kann mir halt nicht vorstellen, wie viel Megaherz für welche Anwendung sinnig sind und was eher unsinnig ist.
z.B. kann die Hardware-PWM-Frequenz nur ein Teiler der Taktfrequenz sein. Benötigst du eine bestimmte PWM-Frequenz, musst du den Controller mit einer entsprechenden Taktfrequenz betreiben. Bei Batterieanwendungen kann es schon wichtig sein, Strom zu sparen durch möglichst geringe Spannung und Taktfrequenz.
ein einfacher Taschenrechner für 3 EUR [4 Grundrechenarten, Wurzel, Kehrwert] wird mit einigen hundert KILO-Herz betrieben (z.B. 200 kHz). Der "Bordcomputer" der Apollo Kapsel lief auf 512 kHz. überlege dir, wie du "früher" auf einem Blatt Papier addiert, mutipliziert oder (wenn du sowas überhaupt gemacht hast) Wurzeln gezogen hast. Dann stelle dir ansatzweise vor, wie ein Programm dazu aussieht, welches nur 8 oder 16 bit breite Register hat, du aber dennoch Bruchzahlen mit 10 Nachkommastellen damit berechnen willst (--> Du wirst zu Recht annehmen, daß dieses Programm mehr als 5 Zeilen Programmcode umfasst) Wie war nochmal die Frage? > Oder anders herum gefragt, reichen die Maximalen 8 oder 10 MHz > bei 3,3 V für größere Anwendungen? JA. DEFINITIV.
Hallo, wenn ein AVR mit <= 8MHz betrieben wird, ist das oft der interne Oszillator. Für alle Anwendungen, bei denen die Genauigkeit eines Quarzes/Kermaikresonators nicht benötigt wird, ist das eine gute Wahl. Beim Einsatz von Kermaikresonatoren ist bei 16MHz meist Schluss, bei 20MHz brauch man den Quarz oder einen externen Taktgenerator. Dafür ist dann der Takt auch für z.B. kritische RS-232-Timings genau genug. Ein Beispiel für die Taktauswahl: mit einem AVR sollten alle 50µs zwei Pins gelesen und in einen Puffer geschoben werden. Ausserdem musste das Ende der Datenübertragung erkannt, der Puffer umgeschaltet und der Hauptprozess benachrichtigt werden, dass neue Daten vorliegen. Mit 8MHz Takt hätte man ca. 400 Befehle in der Zeit ausführen können. Das war in Grenzsituationen zu knapp, so dass ein 20MHz-Quarz zum Einsatz kam. Fazit: Man kann es ja mal langsam versuchen, und zählt dann im Assemblerlisting des Compilers die Befehle. Wenn man das nicht kann/will, nimmt man einen Quarz :-) Grüße, Kurt
Megaherz schrieb: > Früher wurde, wenn ich das richtig verstanden habe, viel mit > Versorgungsspanungen von 5 V gearbeitet und heute nimmt man lieber die > 3,3 V, warum auch immer. Warum: kleinere Halbleiterstrukturen, die weniger Spannung abkönnen; geringerer Energieverbrauch (P=U^2/R, d.h. halbe Spannung -> viertel Leistung) > Warum nimmt eigentlich nicht jeder Bastler der 5 V-Schaltungen baut > gleich die 20 MHz? weil dann zB bei den seriellen Schnittstellen die üblichen Baudraten nicht genau hinkommen. Daher findest Du oft krumme Quarzfrequenzen. > Oder anders herum gefragt, reichen die Maximalen 8 oder 10 MHz bei 3,3 V > für größere Anwendungen? Was sind "größere Anwendungen"? Für vieles reicht es, und wenn nicht, dann gibts andere Chips, die viel schneller sind. Es gibt zB dsPIC33EP mit 70 MHz (16 Bit) oder PIC32MX1xx/2xx mit 50 MHz (32 Bit) im DIL28, und die sind nur unwesentlich teurer als ein Mega 328p, und sie laufen mit 3.3V. Wer wirklich Rechenleistung oder viel RAM braucht, wäre also völlig bescheuert, wenn er AVR nehmen würde. fchk
Ok, vielen Dank an alle :-) Die Antworten bringen mich sehr viel weiter ;-)
@ Megaherz (Gast) >Warum nimmt eigentlich nicht jeder Bastler der 5 V-Schaltungen baut >gleich die 20 MHz? Machen die meisten doch, ist auch OK. >Ok, der Stromverbrauch ist natürlich höher, aber macht sich das wirklich >bemerkbar? Sicher, das ist praktisch linear zur Taktfrequenz. >Oder anders herum gefragt, reichen die Maximalen 8 oder 10 MHz bei 3,3 V >für größere Anwendungen? Was ist für dich eine "größere Anwendung". Die Pallette ist SEHR groß. Manchmal braucht man viel MHZ aber wenig Speicher, manchmal anders herum, manchmal beides, manchmal beides nicht. >Das ein Megaherz 10^6 Schläge pro Sekunde sind, ist klar, aber ich kann >mir halt nicht vorstellen, wie viel Megaherz für welche Anwendung sinnig >sind und was eher unsinnig ist. Das kann man auch nicht so einfach, dazu braucht es Erfahrung und Wissen. Eine Soft-PWM braucht viele MHz, sonst aber sehr wenig Flash. Ein Menu für eine Steuerung braucht viel Flash für Texte und Anzeigen aber wenig MHz, weil vielleicht nur alle paar hundert ms was passiert.
Eine niedrigere Taktfrequenz und weniger Spannung führt auch zu weniger Funkstörungen. Von daher spricht viel für 3,3 V (oder weniger). Für das meiste reicht auch schon der interne 1 MHz Takt so wie es bei den meisten als Vorgabe eingestellt ist. Das ist immer noch etwa die maximale Geschwindigkeit die der original 8051 konnte oder etwa das 1-2 fache von dem was früher ein C64, Apple 2 oder typische CP/M Computer an Geschwindigkeit hatten. Weniger nimmt man eher ungern, weil dann ggf. die ISP Verbindung auch langsamer gestellt werden muss. Der Schritt von 10 MHz zu 20 MHz ist nur ein Faktor 2 - da gibt es nur ganz wenige Fälle wo 20 MHz ausreichen, aber 10 nicht mehr. Vermutlich gibt es mehr Anwendungen wo auch 128 kHz schon ausreichen.
Bei den ersten atmega8-Versionen war der Frequenzbereich von der Technologie mit 16MHz schon ziemlich ausgereizt. Die 16MHz wurden für 5V garantiert.Da gab es ("selektiert", weil extra danach ausgemessen) die Niedervolt-Versionen des atmega8, die aber m.W. nur bis 8MHz spezifiziert waren. Daraus lässt sich ersehen: 16MHz war bei den ersten atmegas schon die Grenze der Taktfrequenz. Bei Nachfolgeversionen wie atmega48,88... werden, dank feinerer Strukturen 20MHz als Grenze angegeben. Die Auslieferungseinstellung der meisten atmegas ist aber 1MHz. Bei dieser Frequenz scheinen sich die Kontroller erst richtig wohl zu fühlen, was sich in vollem ausnutzbaren Spannungs- und Temperaturbereich zeigt. Welche Taktfrequenz nötig ist, entscheidet eigentlich die Software. Meistens sind 1MHz völlig ausreichend. Wenn das Programm allerdings mit copy und paste zusammengestöpselt ist, ohne Rücksicht auf die Resourcen, sind selbst 20MHz Taktfrequenz zu wenig, ganz zu schweigen vom benötigten Speicherbereich.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.