Kann man bei nem AVR zur Laufzeit die Taktquellen Intern/extern umschalten? Danke
es gibt ne ne möglichkeit. in geräten die PAL&NTSC können sind auch zwei quarze drin. hier mal ein pdf. oben links ist der osd-ic und rechts daneben ist der oszillator-kreis
SiO2 es geht, wenn du einen 2ten controller nimmst, der den ersten umfused, aber du macht dann immer einen reset und hast probleme mit der lebendsduer.. evtl 2 externe oszilatoren nehmen
Etwas nachteilig mag sich auswirken, das gemäss Datasheet pro Taktzyklus nur 2% Abweichung erlaubt sind. Eigentlich darf man also nicht prompt umschalten, sondern müssen eine PLL gemächlich hoch/runterziehen.
bei einem AVR?? naja, ich hatte im betrieb schon mal den quarz gewechselt, und der AVR lief munter weiter
Hallo, also rein technisch sollte man 2 quarzoszillatoren einfach via AND Gatter und Inverter mit nem Portpin verheiraten können. Da braucht man nix fusen. Ob die Taktänderung immer so gut funktioniert ist aber fraglich Eckhard
>>Kann man bei nem AVR zur Laufzeit die Taktquellen Intern/extern >>umschalten? intern / extern ;) ich wuerde es mit einem RS Flip Flop machen und einem NAND Baustein
Ich möchte auch 2 externe Taktquellen umschalten, dachte mir aber, das es sicherer ist über den zwischenschritt Interner Takt. Ich hab halt die Befürchtung, das über ne Torschaltung + FF eventuell störungen auftreten, wo sich der AVR aufhängt. Ich werde es mal so versuchen. Besten Dank SiO2
Noch kurz was es soll: Ich moechte von 4200Baud bis 1Mbaud alle Raten mit 0% Fehler, deswegen fur Baud>230k 16MHz, und darunter 14.7Mhz. Am wochenende mal aufbauen.
@Peter: >>naja, ich hatte im betrieb schon mal den quarz gewechselt, und der AVR lief munter weiter... Klar! Während kein Quarz dran war, lief er auch garantiert weiter.... und wenn du nen neues Quarz dranhängst wird der sicher resetten oder so.
@Simon: Wieso sollte der AVR resetten? Durch den statischen Aufbau kann man ihn quasi auf 0 runterziehen. Wenn wieder ein Takt anliegt, gehts einfach weiter. Dies entspricht auch meiner Erfahrung in der Praxis. Allerdings macht mir die Angabe des Datenblattes mit den 2% schon Sorge.
hatte ich auch schon so ähnlich gemacht. Das Quartz angehalten. Und dann wieder fortgesetzt.
@SiO2: Beispiel aus dem Datenblatt des Tiny13: Avoid changing the calibration value in large steps when calibrating the calibrated internal RC Oscillator to ensure stable operation of the MCU. A variation in frequency of more than 2% from one cycle to the next can lead to unpredictable behavior. Auf Deutsch: Man soll die Taktfrequenz um nicht mehr als 2% pro Taktzyklus verstellen, weil der µC sonst mit seinem Timing durcheinanderkommen kann.
>>Auf Deutsch: Man soll die Taktfrequenz um nicht mehr als 2% pro >>Taktzyklus verstellen, weil der µC sonst mit seinem Timing >>durcheinanderkommen kann. eben. Und deswegen wird es bestimmt nicht gut funktionieren, den Takt wegzunehmen (16Mhz -> 0Mhz sind nämlich 100%)
jup, calibration bezieht sich auf den int.r-c osz. , der verträgt das nicht. bei ext takt sollte alles von 0 bis 20mhz erlaubt sein!
Der Tiny13 und alle AVRs der neusten Generation können ihren Takt intern per Software skalieren (Register CLKPR). Stichwort System Clock Prescaler. cu joern
Ich denke das du mit ein bisschen Logik und nem Analog Switch per Port Pin zwischen Externen Quarzen hin und her schalten kannst.
Wozu Analogschalter, wenn man Quarzoszillatoren benutzt? Da kommt IMHO ein Rechtecksignal heraus, welches man über ein paar Gatter verteilen kann. @Rolf Magnus: Der Witz mit dem Calibration-Byte war gut. ;)
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.