Forum: Mikrocontroller und Digitale Elektronik Mhz an ATMega16


von Marco (Gast)


Lesenswert?

Hallo,

ich bin drauf und dran mir eine Mikrocontrollerschaltung mit Hilfe des
Tutorials selber zusammen zu bauen. Allerdings möchte ich einen
AtMega16 verwenden. Nun ist mir das mit dem Quarzoszi nicht ganz klar:
Ist dieser überhaupt notwendig? Könnte ich auch die 16Mhz des AtMega16
voll ausreizen? Was sind Vor-und Nachteile von verschiedenen
Taktungen?

Danke
Marco

von Markus Kaufmann (Gast)


Lesenswert?

Interner Oszillator:
Geht nur bis 8MHz, nicht so übermäßig Temperaturstabil, die beiden Pins
für den Taktanschluß können anderweitig verwendet werden.

Externes Quarz:
Braucht 3 Bauteile (Quarz+2 Kondensatoren), recht genau, billig.

Quarzoszillator:
relativ groß und teuer und strahlt im HF-Bereich.

Markus

von Marco (Gast)


Lesenswert?

Kann ich nun einen 16Mhz verwenden? Warum wird im Tutorial ein 4Mhz
verwendet?

Grüße
Marco

von Tetja Rediske (Gast)


Lesenswert?

Hab das selbe vor, wäre deswegen auch an einer Antwort interressiert.

von Thomas Burkhardt (Gast)


Lesenswert?

Hallo,


ja du kannst einen 16er Quarz verwenden, wenn du nicht die L-Version
des Controllers nimmst.

> Warum wird im Tutorial ein 4Mhz verwendet?

Weil man nicht immer den schnellsten Quarz nehmen muss?! Immer so
schnell wie nötig, nicht wie möglich...

Viele Grüße

von Jörg Hofmann (Gast)


Lesenswert?

Hi,
die 4 MHz haben sich so langsam bei AVR Controlern eingelebt. Erstens
weil die AVR Risc sowieso schnell sind, 1 Takt und meistens ein Befehl,
und zweiten wo kämen wir hin mit 16 MHz und einen Software Timer. Ich
hab mit 4 MHz schon zwei  Register in benuzung für 150ms.

von Matthias (Gast)


Lesenswert?

Hi

@Jörg
Das versteh ich jetzt nicht. Ich komme bei 4MHz, 1024er Vorteiler und
einem 8-Bit Timer auf eine INT-Frequenz von 15,2Hz (65,536ms) Also
sollte doch ein einziges Register + CTC-Mode des Timers locker für
deine 150ms reichen.

Matthias

von Martin Jansen (Gast)


Lesenswert?

nur so theoretisch,
wärs möglich, nen frequenzgenerator mit ttl-pegel an den µC
anzuschliessen?

von Peter D. (peda)


Lesenswert?

"wärs möglich, nen frequenzgenerator mit ttl-pegel an den µC
anzuschliessen?"

Sollte gehen, besser ist aber CMOS-Pegel.


Peter

von Jörg Hofmann (Gast)


Lesenswert?

Tag,

@Matthias, ich meinte einenh Software Timer wo man mit hife von
Registern und sprungbefehlen den controller neinige Zeit Beschäftigen
läst. Und die Hardware Timer sind mir für solche aufgaben einfach zu
schade. Und dann, rechne mal wie weit du kommst mit einem Register.

Bsp.

Wait1:
ldi  Tim1,255
Wait11:
dec  Tim1      ; ein Takt
brne Wait11    ; zwei Takte

3 takte  4 MHz  255 = 0,00019125 s also 191,25 µs

das sind noch keine 150 ms da muss ein zweiter Hilfszähler her.

von Matthias (Gast)


Lesenswert?

Hi

also ich hab immer einen frei laufenden Timer mit sowas um 1ms INT
Zeit. Sozusagen als Systemtick. Damit kann man wunderbar alle möglich
Zeiten im ms-Bereich abfangen ohne auf so einen Mist (ja Mist) wie
hartkodierte Schleifen zurückgreifen zu müssen. Sowas kann man machen
wenn man mal irgendwo ein paar µs braucht. Aber im ms-Bereich macht man
das über den Timertick.

Matthias

von Thorsten (Gast)


Lesenswert?

Frag an Matthias:

Angenommen, ich möchte folgendes realisieren:

funktion1();
delay(20ms);
function2();
delay(30ms);

Wie würdest du das machen, auch mit deinem Timertick ? Ich verstehe das
nicht so ganz, wo der Vorteil ist. Ob ich jetzt im Timer warte oder in
einer Schleife, ist doch eigentlich egal. Wäre nett, wenn du dazu mal
was sagen könntest.

Gruß
Thorsten

von Matthias (Gast)


Lesenswert?

Hi

Du kannst während der warterei noch andere Dinge machen wie etwa Tasten
pollen, den Watchdog bediehnen usw. Kommt eben auf die Anwendung an.
Für den Timertick muß man ja nicht unbedingt einen extra Timer
reservieren. Evtl. reicht da auch einer der PWM macht oder ähnliches.

Obiges Beispiel würde so aussehen:

funktion1();
tick=0;
while(tick<20)
{
 tuwas;
}
function2();
tick=0;
while(tick<30)
{
 tuwas;
}

Matthias

von Thorsten (Gast)


Lesenswert?

Ach so, alles klar. Stand auf dem Schlauch, danke !

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
Noch kein Account? Hier anmelden.