Hallo, eine Frage zum Verständnis, was genau macht oder passiert mit dem AVR, wenn ich statt 8MHz Quarz einen 25MHz einbaue? Arbeitet die Do Schleife dann schneller? oder ist es nur für den Timer vorgesehen? Wann sollte ich einen kleineren und wann einen größeren Quarz nehmen? Was entscheidet die optimale Größe des Quarz? Danke im Voraus Frank
Frank Neumann schrieb: > was genau macht oder passiert mit dem AVR, wenn ich statt 8MHz Quarz > einen 25MHz einbaue? Er arbeitet schneller, unzuverlässig oder gar nicht (Außerhalb der Spezifikation, zulässige Quarze siehe Datenblatt). Und ich vermute mal er wird wärmer/verbraucht mehr Strom. Nicht empfehlenswert außer zum Spaß/Experimentieren. Frank Neumann schrieb: > Arbeitet die Do Schleife dann schneller? > oder ist es nur für den Timer vorgesehen? Beides, wobei manche Timer auch alleine extern getaktet werden können. Frank Neumann schrieb: > Wann sollte ich einen kleineren und wann einen größeren Quarz nehmen? > Was entscheidet die optimale Größe des Quarz? Je nachdem, wie viel Platz Du auf der Platine hast.
Frank Neumann schrieb: > Hallo, > > eine Frage zum Verständnis, > was genau macht oder passiert mit dem AVR, wenn ich statt 8MHz Quarz > einen 25MHz einbaue? da 25Mhz außerhalb der Kennwerte gemäß Datenblatt liegen hängt es vom Zufall ab ob der Quarzoszillator vom AVR dann überhaupt noch schwingt. Je kühler CMOS betrieben wird, desto höher ist die maximale Betriebsfrequenz. Über 25MHz sollte man auf keinen Fall hinausgehen weil dies schon jenseits der vom Hersteller vorgegebenen Grenze liegt. Wer die maximal zuläßigen Betriebswerte des Herstellers willentlich übersteigt macht das auf eigene Verantwortung und Gefahr. Auch besteht bei manchen ICs und Bedingungen die Gefahr einer möglichen Überhitzung. > > Arbeitet die Do Schleife dann schneller? > oder ist es nur für den Timer vorgesehen? Bis auf den RC Watchdog Timer sind alle vom Takt abhängigen Schaltungsteile von der Frequenz der Taktquelle proportional abhängig. Also alle internen Zähler und Vorteiler und Synchronisations Logik. > > Wann sollte ich einen kleineren und wann einen größeren Quarz nehmen? Wenn Du physische Größe meinst, dann sind kleinere Quarze generell robuster aber möglicherweise ungenauer. Deine Frage ist irreführend weil man nicht weiß ob physische Größe oder Frequenz gemeint ist. Quarze werden heutzutage in extrem kompakten Baugrößen gefertigt und werden in veschiedensten Genauigkeitsklassen und Temperaturstabilität gefertigt. Die Beantwortung hängt auch stark von der Anwendung ab und läßt sich ohne Kontext und Randbedingungen nicht gut beantworten. > Was entscheidet die optimale Größe des Quarz? Wenn Du Frequenz meinst: Stromverbrauch. Je niedriger die Quarzfrequenz ist, desto geringer ist die Stromaufnahme. Sonst hängt das stark von den Anforderungen der Anwendung ab. Baudraten für asynchrone Verständigung. Da der Baudratengenerator nur Integer Nummern verarbeiten kann, sind spezielle Frequenzen besonders geeignet um genaue konforme Baudraten wie 115200 Baud exakt zu erzeugen. Z.b. Findet man in solchen Fällen die (komische) Frequenz 11.0592MHZ oder 18.432MHz da sie sich genau teilen lassen und Null % Baudratenfehler aufweisen. Timing. Wer z.B. Zeitintervalle genau in us messen will, findet Frequenzen wie 8 oder 16 MHz günstig weil der Vorteiler des Timers genau auf 1us Periode herunter geteilt werden kann und so Zeitintervalle ohne Runden zu müssen, genau erfasst werden können. Dafür kann man nicht alle Baudraten fehlerfrei erzeugen. Ist also ein Kompromiss. Ich rate Dir die einschlägigen Einführungen im Forum und sonst wo zu studieren. Auch das Datenblatt und die vielen Application Notes können viele Deiner Fragen mehr oder weniger gut beantworten. Wenn Du wirklich ein totaler uC Einsteiger bist, dann wirst Du einige Zeit brauchen die vielen dazu existierenden Informationen richtig zu verdauen weil Vieles eigentlich nicht ohne Hintergrundwissen wirklich verständlich ist. Der Fachjargon ist auch so eine Sache. Sieh Dir die vielen Artikel hier im Forum an. Sonst frage halt. Der Stephanus hat auch eine gute einführende Seite. Da wir Dich nicht kennen, ist es halt schwierig Fragen auf Deinem Niveau für Dich verständlich zu beantworten. Das wird hier oft vergessen. Ich hoffe mein Kommentar klingt nicht herablassend. Das ist nicht meine Absicht. > > Danke im Voraus > Frank
Ok, danke erstmal an Euch für die ausführliche Erklärung. Ich habe vor, mir eine I/O Karte zu basteln, ich weiß es gibt fertige und günstige im Netz aber der Sinn ist ein selber basteln und dabei die uC Welt kennen lernen. Da es über die USB laufen soll, dachte ich mir, ich nehme mir den AT90USB162 zur Hand, weil ich eine fertige Grundschaltung im Netz gefunden habe. Lt. dem Datenblatt darf ich max. 16MHz nehmen. Aber selbst hier stellt sich die Frage, wann ein 8MHz und wann einen 16MHz ist einzusetzen? Hätte das z.B Einfluss auf die Kommunikation zwischen der HW und dem PC? Je höher desto schneller die Übertragung?
Frank Neumann schrieb: > Aber selbst hier stellt sich die Frage, wann ein 8MHz und wann einen > 16MHz ist einzusetzen? In erster Linie wäge ich bei so etwas immer ab, wie schnell und genau der µC für die entsprechende Anwendung sein muss. Als zweite Frage kommt dann immer auf, wieviel Strom der µC verbrauchen darf in der entsprechenden Anwendung. Das legt dann bei mir immer die Taktquelle und Geschwindigkeit fest.
Frank Neumann schrieb: > Ok, danke erstmal an Euch für die ausführliche Erklärung. > > Ich habe vor, mir eine I/O Karte zu basteln, ich weiß es gibt fertige > und günstige im Netz aber der Sinn ist ein selber basteln und dabei die > uC Welt kennen lernen. Da es über die USB laufen soll, dachte ich mir, > ich nehme mir den AT90USB162 zur Hand, weil ich eine fertige > Grundschaltung im Netz gefunden habe. Das hat nur Sinn wenn Dir die volllständige und korrekt funktionierende Projekt HW und SW Dokumentation mit allen SW Werkzeugen zur Verfügung steht die erlauben den Original Quellcode lauffähig herzustellen sowie die HW zu testen. Auch so bedarf es einiger Erfahrung um so etwas erfolgreich zum Laufen zu bringen. Wenn Du auf dem Gebiet noch keine Erfahrung hast lass es besser bleiben. Ein USB Projekt ist nichts für Anfänger. Auch die Beherrschung der SW Werkzeuge bedarf vieler Erfahrung. Der geringste Fehler führt hier oft zu 100% Versagen. > > Lt. dem Datenblatt darf ich max. 16MHz nehmen. Dann mußt Du Dich daran halten. > Aber selbst hier stellt sich die Frage, wann ein 8MHz und wann einen > 16MHz ist einzusetzen? Darüber dürfte Dein Quell Code bzw. Die Dokus Aufschluß geben. Wenn der uC mit 8 Mhz schnell genug ist und der Quell Code paßt, dann wird es auch mit 8 Mhz funktionieren. Der USB Teil(Controller) hat seinen eigenen internen Takt und ist vom uC Teil diesbezüglich unabhängig. > > Hätte das z.B Einfluss auf die Kommunikation zwischen der HW und dem PC? Ganz bestimmt. Da mußt Du Dich an die Original Design Randbedingungen halten. Wenn das ein Bauprojekt ist, dann halte Dich an diese Angaben. Willkürliche Abweichungen führen ohne große Sachkenntnis garantiert zu Mißerfolg. > > Je höher desto schneller die Übertragung? Nicht unbedingt. Das gewählte USB Übertragungs Protokoll und die USB HW bestimmt wie schnell es geht. Zur Steuerung von Real World IO wie z.B. Relais spielt das überhaupt keine Rolle. Für USB muß der USB Engine Takt genau eingehalten werden. Intern arbeitet USB oft mit 48Mhz um alle Signale konform aufzubereiten. Mein Rat ist: Solltest Du mit uC bei Null Anfangen, dann würdest Du es Dir und allen Forumsmitstreitern leichter machen erst einmal mit Einfach anzufangen, oder vielleicht mit Arduino anzufangen und Dich durch die zahlreichen Beispiele durcharbeiten um mitzukriegen ob Dir das zusagt und ein Gefühl für diese Art Technik bekommst. Außerdem hat Arduino eine große User Community und Bibliotheken die schnelles Probieren erlauben um sich ein Bild darüber machen zu können. Laß im Augenblick die Finger von USB. Das ist ein schlafender Vulkan an Problemen wenn man sich nicht auskennt. Sonst würdest Du ja auch nicht hier fragen.
Frank Neumann schrieb: > Ich habe vor, mir eine I/O Karte zu basteln, ich weiß es gibt fertige > und günstige im Netz aber der Sinn ist ein selber basteln und dabei die > uC Welt kennen lernen. Der erste Schritt dazu ist, das Datenblatt und die AppNotes zu den beteiligten Bauteilen zu lesen und zu verstehen. Dort ist dann auch die Taktverteilung und die Auswirkungen auf Komponenten und Stromverbrauch beschrieben. > die uC Welt kennen lernen. Kauf dir ein fertiges EVAL Board und mache daran deine ersten Erfahrungen. Wenigstens weißt du dann, dass die Hardware prinzipiell funktioniert und der Fehler in deiner Beschaltung oder der Software ist. Dann kannst du da auch mal unterschiedliche Quarze einbauen oder einen externen Takt von einem Quarzoszillator mit 25MHz einspeisen. Sonst geht es dir wie dem Kollegen aus dem Beitrag "Eagle Schaltplan - Verbesserungsvorschläge": du stößt schon bei den simpelsten Fragen an "Probleme".
Frank Neumann schrieb: > Aber selbst hier stellt sich die Frage, wann ein 8MHz und wann einen > 16MHz ist einzusetzen? Soweit ich das Datenblatt überflogen habe, gehen für USB 8 oder 16MHz. Eine PLL macht daraus die benötigten 48MHz (*6 bzw. /2*6). Frank Neumann schrieb: > Je höher desto schneller die Übertragung? Nö. Geschwindigkeit und Pollingrate sind im USB-Standard festgelegt. Eine Pollingrate von 1ms bedeutet, daß sich nicht schneller als alle 1ms die IOs setzen oder lesen lassen. Die maximal mögliche Ausgabefrequenz beträgt also 500Hz. Hast Du denn schon irgendeine Vorstellung, wie PC-seitig die Ansteuerung erfolgen soll?
Frank Neumann schrieb: > Was entscheidet die optimale Größe des Quarz? Du meinst wohl die Taktfrequenz. Ich halte es generell für eine gute Idee, die Leistungsgrenzen nur dann auszureizen, wenn man dafür einen wichtigen Grund hat. Potentiell ist mit weniger Fehlfunktionen zu rechnen, wenn man unter dem Maximum bleibt. Ungenutzte Rechenleistung durch unnötig hohe Takfrequenz halte ich für Energieverschwendung. Sie ist für nichts gut. By the way: Vergleiche mal Business Laptops (Arbeitsgeräte) der 500-1000€ Klasse mit gleich teuren Consumer Laptops von Saturn oder Aldi. Du wirst sehen, dass die Business Geräte überwiegend langsamer getaktet sind. Unterm Strich kann man mit den Business Geräten aber mehr Arbeitsleistung bringen, weil sie zuverlässiger laufen. Man verplempert weniger Zeit mit Fehlfunktionen.
Die 16 MHz gelten nur für 5V Betrieb. Es gibt im Datenblatt eine Kurve, die für 3,3V irgendwo bei max. 8 MHz liegt. PS. es gab mal eine Werbung für aktive Computerkühler mit Kältemaschine: "Wenn Pinguine Computer hätten, würden sie schneller laufen. Die Computer, nicht die Pinguine". Höhere Taktfrequenzen bedeuten auch höhere Verlustleistung.
Frank Neumann schrieb: > Ich habe vor, mir eine I/O Karte zu basteln... > Je höher desto schneller die Übertragung? Mein USB I/O Interface (http://stefanfrings.de/net_io/index.html) läuft mit 7 MHz effektiv nicht langsamer als mit 20 MHz. Weniger habe ich nicht ausprobiert. Mein Ethernet I/O Interface (http://stefanfrings.de/net_io/index.html) läuft mit 20MHz effektiv genau so schnell, als wie mit 32MHz. In beiden Fällen ist die Schnittstelle zum PC das Nadelöhr, dass die Geschwindigkeit dominiert. Ich würde Dir empfehlen, zuerst mit der höchsten empfohlenen Taktrate des µC zu beginnen. Wenn das Programm fertig ist, probierst du aus, wie weit du runter gehen kannst. Bei Controllern mit integriertem USB hast da meist nicht allzu viele Wahlmöglichkeiten. Die 1€ STM32 Bluepill Boards (http://stefanfrings.de/stm32/stm32f1.html#bluepill) wollen zum Beispiel mit 48 oder 72 Mhz getaktet werden.
Das stimmt, wer den MC außerhalb der Spezifikation betreibt hat die Verantwortung. Im Garten habe ich mehrere Anwendungen, die mit >30MHz Takt gut klarkommen. Es entsteht allerdings auch keine Katastrophe, wenn die SOLAR-Lampe (im Kombi mit Funk-/IR-Empfänger) dann mal versagen sollte oder der Kombi-Sensor Unfug anzeigt. Und bevor Fragen kommen: Ich verwende fertige Quarz-Oszillatoren. Ist halt wie immer im Leben, die Verantwortung hat der der es dann macht...
Ich bevorzuge niedere Frequenzen. zB 7.3238 MHz, da passt das UART. Niedrige Frequenzen erlauben die CPU mit kleinerer Spannung laufenzulassen. Ich bevorzuge zur Zeit 3.3V, hatte aber auch schon 3.0V. Dies ist meist durch externe Komponenten gegeben, und ich Pegelwandler vermeide. Bei Stromsparanwendungen wuerde man allenfalls mit 2.7V oder weniger laufen lassen, und den Quarz auf 3.84Mhz, 1.9MHz oder tiefer. Quarze habe ich mal je 100 Stueck mit verschiedenen Frequenzen fuer jeweils 20 Euro gekauft und die reichen immer noch.
:
Bearbeitet durch User
Ja, kommt darauf an was Du erreichen willst. Zum Stromsparen ist nicht nur die hohe Frequenz ein Thema, auch der Oszillator verkonsumiert schon viel. Mir ging es mehr um die Möglichkeit, dass (richtig gut) Übertakten geht.
Frank Neumann schrieb: > Arbeitet die Do Schleife dann schneller? > oder ist es nur für den Timer vorgesehen? Guckst du Datenblatt
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.