www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega8 - Quarzoszillator konfigurieren und Taktfrequenz erhöhen


Autor: Stearman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Wie ich einen Quarzoszillator (4 Beine) an den Mikrocontroller 
anschliesse weiss ich, was danach folgt jedoch nicht.
Habe zwar gehört, dass man Fusebits setzten muss, was ich mit PonyProg 
tun würde, welche ich jedoch setzten muss verstehe ich überhaupt nicht. 
Muss ich da bereits die Taktfrequenz meines Oszillators irgendwo angeben 
oder wird diese später per Software an den Mikrocontroller übermittelt?

Angenommen ich würde keinen Oszi anschliessen, würde der Atmega8 doch 8 
MHZ machen, nicht? Standartmässig ist aber nur 1MHz definiert, wie 
ändere ich das?

Besten Dank
gruss
Stearman

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was die Fuses betrifft, ist das hier erklärt: 
http://www.mikrocontroller.net/articles/AVR_Fuses#...

>Muss ich da bereits die Taktfrequenz meines Oszillators irgendwo angeben
>oder wird diese später per Software an den Mikrocontroller übermittelt?
Die Fuses definieren die Taktquelle. Bei der Taktquelle "interner 
RC-Oszillator" ist aber damit auch schon die Frequenz gegeben. Der 
RC-Osz. läuft bei 8MHz. Allerdings hat noch die CKDIV-Fuse einen 
Einfluss.

In der Software selbst brauchst Du die Taktfrequenz nur dann angeben, 
wenn Du irgendwelche Frequenzabhängige Peripherie benutzt. Timer oder 
UART. Siehe Tutorials.

>Angenommen ich würde keinen Oszi anschliessen, würde der Atmega8 doch 8
>MHZ machen, nicht?
Nein. Nur wenn Du auch die CKSEL Fuse auf "internen RC-Oszillator" 
setzt.

>Standartmässig ist aber nur 1MHz definiert, wie ändere ich das?
Nein. Kommt darauf an, was Du unter "standardmäßig" verstehst. Einen 
Standard gibt es nicht. Allerdings werden die Prozessoren ab Fabrik mit 
gewissen Fuses ausgeliefert. Welche das sind, steht im Datenblatt.

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der mega kann auch mit internen oszi 8Mhz, ohne dass du außen was 
dranhängst.
Die einstellung der Fusebits ist etwas  tricky. Wenn du da was falsch 
machst, kannst du den nicht mehr umprogrammieren.
ich benutze zum programmieren avrdude mit Burn-O-Mat als Gui. das hat 
den Vorteil, dass die für die meisten Controllertypen dieFuses nicht 
selbst ausrechnen musst, sondern in einer GUI einstellen kannst, was du 
für einen Oszi du benutzen willst.

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rein theoretisch sagt das Datenblatt alles, was man dazu braucht.


Man programmiert also die Betriebsart "external clock" ein (nicht 
external crystal). Dazu sicherheitshalber die start-up-time (SUT-bits) 
mit 64ms (die größte), denn kürzere start-up-zeiten könnten Probleme 
bringen.

Die Frequenz spielt bis zur maximalen Arbeitsfrequenz des atmega8 dann 
keine Rolle, was die fuses angeht.

Wenn external clock einprogrammiert ist, ist automatisch der interne 
RC-Oszillator vom Takt weggeschaltet. Ein Programmieren geht dann nur 
noch, wenn der externe Takt wirklich angeschlossen ist.

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter R. schrieb:
> Rein theoretisch sagt das Datenblatt alles, was man dazu braucht.
>
>
> Man programmiert also die Betriebsart "external clock" ein (nicht
> external crystal). Dazu sicherheitshalber die start-up-time (SUT-bits)
> mit 64ms (die größte), denn kürzere start-up-zeiten könnten Probleme
> bringen.
>
> Die Frequenz spielt bis zur maximalen Arbeitsfrequenz des atmega8 dann
> keine Rolle, was die fuses angeht.
>
> Wenn external clock einprogrammiert ist, ist automatisch der interne
> RC-Oszillator vom Takt weggeschaltet. Ein Programmieren geht dann nur
> noch, wenn der externe Takt wirklich angeschlossen ist.


Die Betriebsart esxternal Clock sollte man auf keinen Fall wählen!
Die ist dazu da, wenn man den µC durch nen Taktgenerator mit dem Takt 
versorgen will.

für einen externen Kristall, oder Resonator gelten andere Einstellungen!

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Vlad Tepesch schrieb:
> Die Betriebsart esxternal Clock sollte man auf keinen Fall wählen!
> Die ist dazu da, wenn man den µC durch nen Taktgenerator mit dem Takt
> versorgen will.

Zitat aus der Frage des Posters:
>Wie ich einen Quarzoszillator (4 Beine) an den Mikrocontroller
>anschliesse weiss ich, was danach folgt jedoch nicht.

Genau das will er ja offensichtlich.......

Gruß aus Berlin
Michael

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry, hab ich falsch verstanden, ich dachte er meint nen normalen 
Quarz.

Was ist denn der Vorteil von nem Quarzoszilator zu nem normalen Quarz 
mit 2 Kerkos?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Vlad Tepesch (vlad_tepesch)

>Was ist denn der Vorteil von nem Quarzoszilator zu nem normalen Quarz
>mit 2 Kerkos?

Wenn man etwas mehr Geld ausgibt kann man einen genaueren bzw. stabilen 
Oszillator kaufen. Der interne + Quarz tut es aber für 99% aller 
Anwendungen.

MFG
Falk

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gründe für externen Taktoszillator:

Der Takt wird auch für andere Prozessoren/IC's benötigt, dann ist ein 
externer Oszillator die bessere Lösung.

Einzelquarze am Kontroller schwingen nach dem Reset langsam hoch, d.h 
der Takt steht erst nach einer start-up-zeit von einigen ms zur 
Verfügung. Bei einem externen Taktoszillator steht der Takt sofort zur 
Verfügung, der Kontroller kann nach wenigen  Takten bereits arbeiten.

In einer Umgebung mit starken Störsignalen können u.U. die Zuleitungen 
des Quarzes zuviel an Störungen einfangen.

Die Frequenz des Quarzes ist so speziell, dass keine Quarze gefertigt 
werden können, die zum Oszillator des Kontrollers passen.

Die geforderte Frequenzkonstanz ist nur durch Teko erfüllbar, nicht 
durch Einzelquarz.

sorry: was ich oben zur start-up-Zeit gesagt habe, gilt für Einzelquarz, 
nicht für externen Takt, bei dem kann man die kürzeste start-up-Zeit 
einstellen

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Peter R. schrieb:
> sorry: was ich oben zur start-up-Zeit gesagt habe, gilt für Einzelquarz,
> nicht für externen Takt, bei dem kann man die kürzeste start-up-Zeit
> einstellen

Würde ich nicht so verallgemeinern wollen, auch der externe Oszillator 
muß bei PowerOn anschwingen und nach dieser Zeit ein sauberes Signal 
liefern.

Gruß aus Berlin
Michael

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.