Hallo, ich habe für mein aktuelles Projekt einen ATMega128(L) eingeplant, der mit 3,3V laufen soll. Für diese Versorgungsspannung ist der Betrieb ja nur bis 8MHz spezifiziert. Jetzt habe ich allerdings nur einen Quarz mit 14,7456MHz (bekomme auch keinen im MJ Package mit 7,3728MHz (wenn doch, wo?)). Im Datenblatt der ATMega128(L)s habe ich nun das "XTAL Divide Control Register" (XDIV) gefunden. Ist es möglich, dieses möglichst früh nach dem Reset auf 2 zu stellen, so dass der Takt auf 7,3728MHz geteilt wird? Ich habe öfter gelesen, dass die Megas auch übertaktek laufen, aber sporadisch Fehler zeigen. Was haltet ihr also von meiner "Idee"? Viele Grüße, Lasse PS: Die Taktfrequenz muss 7,3728MHz oder 14,7456MHz betragen, damit ich mit der Kamera von Ulrichradig über das UART mit einer Baudrate von 921600 kommunizieren kann.
wenn du in Serie gehst ist dies eine schlechte Idee, sonst (im Fall einer einzel Muster erstellung) lass das ding mit vollem Takt (14,x) brummen und schau das du einiger maßen im ausgetesteten Temperatur Bereich bleibst.
Nehm doch den internen Oszillator auf 8 MHz und trimm den auf deine 7,3728MHz. Mit einem Uhrenquarz am Timer0 und fortlaufender Nachregelung bleibt die Frequenz für RS232 genau genug. gruß hans
Um das Maß der aberwitzigen Vorschläge voll zu machen: Las doch die Webcam schneller senden, z.B. mit 1Mit/s, dann wird alles einfacher. Vielleicht schlummert in der Webcam ein Quarz der gerne statt mit 7.3728MHz auch mit 8MHz laufen möchte :-)
Hallo, gibt es noch mehr Meinungen zu meiner Idee? ;) Das ganze soll nicht in Serie gehen, aber schon lange funktionieren. Den internen Oszillator nehmen und trimmen kommt mir auch nicht so gut vor (weil nicht dafür spezifiziert soweit ab von 8MHz zu laufen)... An der Webcamgeschwindigkeit was verändern, ändert nichts an der Tatsache dass mir ein langsamerer Quarz dann fehlen würde ;) Trotzdem vielen Dank für die bisherigen Antworten :) Gruß, Lasse
Ich habe jetzt nicht beim ATmega128 nachgeschaut, aber laufen die ATmega nicht alle mit Vorteiler 8 an? Da braucht man doch nur auf 2 runterschalten. clock_prescale_set(clock_div_2); Die maximale Frequenz des Oszillators ist nicht von der Betriebsspannung abhängig; nur die Systemfrequenz des Controllers.
Mittels eine 32 kHz Uhrenquarzes den internen Oszillator trimmen ist nicht ungewöhnlich. Das wird unter anderem selber von Atmel auf dem Butterfly-Evalboard gemacht. Und es gibt auch entsprechende allgemeine App.-Notes von Atmel dazu http://atmel.com/dyn/resources/prod_documents/doc8002.pdf. Von 8,0000 MHz auf 7,3728 MHz runter ist grade so unter der Grenze dessen was man tun sollte (10%), und geht. Zitat: > For all tunable oscillators it is important to notice that it is not > recommended to tune the oscillator more than 10% off the base frequency > specified in the datasheet.
Das mit dem Uhrenquarz ist interessant. Apropos Uhrenquarz: Wie wäre es mit einer PLL mit 74HC4046? Ist nicht unaufwendig, da noch ein Teiler 1/225 benötigt wird. Aber (evtl.) jede Menge Neuland :-)
Hi, @Henry: laut Datenblatt ist die interne Division der Taktrate normalerweise ausgeschaltet. Schade, das wäre ja perfekt gewesen :) @Norgan: Interessant! Zumal bei meinem Layout die beiden TOSC-Pins auch noch frei sind. @Eddy: Leider kommt eine zusätzliche Schaltung dank bereits bestellten Platinen nicht mehr in Frage. Ansonsten hätte ich einfach ein anderes Quarzgehäuse genommen und hätte wohl weniger Probleme ;) Vielen Dank für die guten Antworten und Gruß, Lasse
Kannst du vielleicht den ATmega 1284P einsetzen? Der hat die CKDIV8 Fuse zum Systemstart mit 1/8 Frequenz. Ist die Fuse gesetzt wird das Teilerregister mit div8 initialisiert. Das kann man später um Programm umstellen.
Hi, der ist leider nicht pinkompatibel, und nicht zu ordern (privat, deutschland). Aber der 2561V sieht gut aus und ist bei csd zu bekommen... :) Das ist genial, den hab ich bisher (warum auch immer) total übersehen, natoll, noch eine Bestellung ;) Gruß, CowZ
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.