mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AtMegaL mit 14,7456MHz Quarz und XDIV


Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: wt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Henry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Norgan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.