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
Was die Fuses betrifft, ist das hier erklärt:
http://www.mikrocontroller.net/articles/AVR_Fuses#Taktquellen_Fuse_Einstellung>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.
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.
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.
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!
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
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?
@ 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
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
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