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
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.