Hallo zusammen, kann ich zwischen Quarz und Takteingang des MCU noch einen Transistor klemmen ohne das mir die Takterzeugung kaputtgeht? Hintergrund ist folgender: Ich möchte ein möglichst Stromsparendes Datenlogginmodul haben, das bei möglichst geringen Takt und 3V Versorungsspannung läuft. Gleichzeitig soll aber die möglichkeit gegeben sein das gleiche Modul via USB am Rechner zum auslesen/konfigurieren zu betreiben. USB soll in Firmware mit V-USB realisiert werden, und die braucht nunmal wenigstens 12 MHz. Ich suche also eine Möglichkeit den Takt abhängig von der verwendeten Spannungsversorgung zu wählen.
Uli Trautenberg schrieb: > kann ich zwischen Quarz und Takteingang des MCU noch einen Transistor > klemmen ohne das mir die Takterzeugung kaputtgeht? > Ich suche also eine Möglichkeit den Takt abhängig von der verwendeten > Spannungsversorgung zu wählen. Eventuell zwei verschiedene externe Quarzoszillatoren nutzen?
Mist, der Mann hat Recht... An die Fuses hab ich gerade nicht gedacht. Fällt jmd. eine Lösung ein, egal welcher Art wie ich evtl. anders 2 Takte auf dem Ding fahren kann?
Nimm nen PIC18Fxxx. Bei denen kann man im Programm die Taktquelle ändern. Einige haben auch eine einstellbare PLL.
Uli Trautenberg schrieb: > kann ich zwischen Quarz und Takteingang des MCU noch einen Transistor > klemmen ohne das mir die Takterzeugung kaputtgeht? Das kann man tatsächlich machen. In einem Beispiel für einen externen Takt am 8051 wurde ein Transistor in die Leitung an einem der beiden Quarzkondensatoren geschaltet. Man schaltet da einfach den Fußpunkt des ersten Ausgangskondensators nach dem Verstärker auf die Basis eines NPN-Transistors, der seinerseits mit dem Emitter auf Masse liegt.
Wenn es um AVR geht - das ist bisher nicht gesagt worden - dann könnten die Typen mit "32 kHz RTC" weiterhelfen, die haben damit zwei Quarze. Die parametrische Suchfunktion von Atmel ist ziemlich umständlich, zuerst hatte ich nach "RTC" geschaut, in der Liste steht es aber ganz vorn unter "32" also viele ATMega haben sowas.
Viele (Alle???) AVRs haben einen ClockPrescaler der im laufenden Programm verwendet werden kann, falls du mit 'MCU' einen AVR meinst.
Bekomme ich (nehmen wir einen ATTiny2313) keine Probleme wenn ich den ClockPrescaler verwende? Spezifiziert ist er bei 3V nur bis 10Mhz, er würde aber ja auch im 3V Betriebsfall mit 12Mhz anlaufen bis der Prescaler gesetzt ist?
Der Prescaler teilt den Takt ja nur herunter, der Oszillator läuft immer mit der Quarzfrequenz. Gruß Jack
Naja, der Prescaler sollte doch das erste Silizium nach dem Takteingang sein, der wird den höheren Takt schon dauerhaft verkraften. Sorgen mach ich mir eher um den restlichen Core, ob der stabil soweit hochläuft bei 12Mhz@3V das ich den PreScaler setzen kann...
Setzt doch einfach CKDIV8, dann hast du den Prescaler mit 8 initialisiert (mehr macht die Fuse nicht) beim Reset. Empfiehlt Atmel auch im Datenblatt, allerdings schreiben die nur "higher frequency than maximum ... at the present operating condition".
Ich würde einen Controller mit internem und externen Oszillator wählen (z.B: Pic18xx). Wenn der USB angeschlossen wird, wird der externe Oszillator eingeschaltet. Ohne USB Anschluss wird der Takt aus dem internen Oszillator (4MHz oder 31kHz) erzeugt. Wenn auch ohne USB eine hohe Genauigkeit nötig ist, kann auch ein 32k Uhrenquarz verwendet werden. Die Lösung mit dem Transistor halte ich für nicht praktikabel, da durch die unkontrollierbare Impedanz des Transistors (Sperrschichtkapazitäten) die Oszillatorfreuenz instabil wird. Gruß Mike
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.