www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 16MHZ oder nicht!


Autor: Andreas V. (wicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich lerne mit einem ATmega 2560.

Laut Datenblatt von ATmel steht auch gleich auf dem Deckblatt 0-16 MHZ.

Mir wurde aber gesagt es würde keinen Microcontroller mit 16 MHZ geben.

Was ist den nun richtig? Darf ich weiterhin in meinem Code 16 MHZ 
einstellen oder lieber nicht? und noch eine Anfängerfrage, wenn ich die 
Frequenz benötige wird diese im Makefile eingetragen oder über define in 
der .c Datei?

Danke,
Andreas

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja. Was ist verbindlich, das was im Datenblatt steht, oder was 
irgendjemand erzaehlt ?

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas V. schrieb:
> Laut Datenblatt von ATmel steht auch gleich auf dem Deckblatt 0-16 MHZ.
Ja, also halte dich daran.

> Mir wurde aber gesagt es würde keinen Microcontroller mit 16 MHZ geben.
Und zwar weil...?

> und noch eine Anfängerfrage, wenn ich die
> Frequenz benötige wird diese im Makefile eingetragen oder über define in
> der .c Datei?
Besser im Makefile, für den Fall, dass du z.B. die <util/delay.h> noch 
sonstwo benutzt.

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas V. schrieb:

> Laut Datenblatt von ATmel steht auch gleich auf dem Deckblatt 0-16 MHZ.

richtig

>
> Mir wurde aber gesagt es würde keinen Microcontroller mit 16 MHZ geben.

wer ? Atmel ? oder gibts mittlerweile "Elektronik-Bild" ?

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die AVR's laufen im Auslieferungszustand mit einem internen 
RC-Oszillator.   In diesem Sinne haben die meisten Kontroller eine 
Taktfrequenz von 8MHz.

Mittels der Fuses kann man aber auf externen Quarz oder externen 
Oszillator umschalten, dann kann man dem Kontroller jede gewünschte 
Taktfrequenz geben, nur oberhalb 16MHz ist die Funktion nicht mehr im 
ganzen Spannungsbereich /Temperaturbereich gesichert.

Autor: Andreas V. (wicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven P. schrieb:
>> Laut Datenblatt von ATmel steht auch gleich auf dem Deckblatt 0-16 MHZ.
> Ja, also halte dich daran.

Das habe ich auch vor, wurde wegen der Aussagen hier nur etwas verwirrt, 
sodass ich einfach noch einmal nachfragen wollte.

Sven P. schrieb:
>> Mir wurde aber gesagt es würde keinen Microcontroller mit 16 MHZ geben.
> Und zwar weil...?

Das kann ich Dir auch nicht sagen, aber einige waren doch sehr erstaunt 
darüber

Sven P. schrieb:
> Besser im Makefile, für den Fall, dass du z.B. die <util/delay.h> noch
> sonstwo benutzt.

und wie würde so ein Eintrag im Makefile aussehen?

Danke

Autor: doc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab grade einen Mikrocontroller mit 75 Mhz hier liegen..aber wenn du 
sagst, den gibt es garnicht..hm..bringst du mich in Grübeln... dann bin 
ich wohl auf eine Schwindlerfirma hereingefallen.

Autor: Sigint 112 (sigint)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas V. schrieb:
> Mir wurde aber gesagt es würde keinen Microcontroller mit 16 MHZ geben.

Das ist auch richtig, da es 16MHz heißt. ;-)
Aber im Ernst: Wer hat dir den Unsinn erzählt?!? Moderne Mikrocontroller 
gehen bis ein paar hundert MHz. Der Takt wird dabei oft intern 
hochgesetzt, sodaß der externe Quarz kleiner (in MHz) ausfallen kann. 
Die meisten AVR gehen, soweit mir das jetzt bekannt ist, bis 20MHz. 
Allerdings kann man die teilweise stark übertakten.

Gruß,
  SIGINT

Autor: Andreas V. (wicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter R. schrieb:
> Mittels der Fuses kann man aber auf externen Quarz oder externen
> Oszillator umschalten, dann kann man dem Kontroller jede gewünschte
> Taktfrequenz geben, nur oberhalb 16MHz ist die Funktion nicht mehr im
> ganzen Spannungsbereich /Temperaturbereich gesichert.

Das bedeutet ich darf bei meiner define keine 16 MHZ eintragen, sondern 
nur 8?

Autor: Andreas V. (wicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
doc schrieb:
> Hab grade einen Mikrocontroller mit 75 Mhz hier liegen..aber wenn du
> sagst, den gibt es garnicht..hm..bringst du mich in Grübeln... dann bin
> ich wohl auf eine Schwindlerfirma hereingefallen.

Nicht ich habe dies gesagt, die Aussage kommt hier aus dem Forum

Autor: Marvin M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

lies die Beiträge bitte richtig.... Bei OBERHALB von 16MHz funktioniert 
er eventuell nicht richtig. Das wäre dann ja auch ein Betrieb außerhalb 
der Spezifikation. Solange Du mit Spannung, Temperatur, Frequenz und 
Strom innerhalb der Spezifikationen des Datenblatts bleibst, darfst Du 
auch 16MHz eintragen.
Welche Frequenz man benutzt, ist auch davon abhängig, was der µC machen 
soll. 16MHz sind beispielsweise für ein Lauflicht völliger Unsinn.

Nur Präventiv: Wenn Du eine Frequenz im Makefile einträgst, heißt das 
nicht automatisch, dass der µC auch mit dieser Frequenz läuft. Da musst 
Du dann schon die Fuses richtig einstellen und ggf. einen Quarz 
anschließen.

Und: Wo in diesem Forum steht, es gäbe keine µC mit 16MHz?

Autor: sp1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn im Datenblatt 16 MHz bei 4 bis 5V angegeben sind dass läuft das 
Teil auch mit 16 MHz wenn man einen entsprechenden Quarz anschließt. 
Warum denn auch nicht?

Deine "Freunde" verwechseln das bestimmt mit GHz. Ich kenne auch so 
einen Spezi (Kommilitone E-Technik(!)) der eine 800 MB Festplatte in der 
Hand hielt und erst sagte "Wow die ist aber groß" und danach "Wie viel 
GB sind denn 800 MB?".
Das fasst man sich manchmal schon an den Kopf :).

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es sich um Atmel AVR handelt gibt es im Datenblatt
eine Kapitel:

   Electrical Characteristics

Bei den neueren ist dort unter

  Speed Grades

bei den älteren (die mit Niederspannungstyp V) unter

  Maximum Speed vs. VCC

sind Grafiken mit Taktfrequenz und Spannung.

Bei anderen µC (auch von anderen Herstellern) ist es ähnlich.

Diese Angaben sind so grundsätzlich, dass das Datenblatt hier
wohl selten Fehler hat ;)

avr

Autor: Andreas V. (wicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marvin M. schrieb:
> Und: Wo in diesem Forum steht, es gäbe keine µC mit 16MHz?

"Deine Frequenz ist zu hoch eingestellt, so einen AVR gibts nicht!"
ist zum beispiel so eine Antwort.
Aber ich will hier niemanden hochfahren.
Ich möchte nur das wenn ich eine frage habe ich eventuell hier auch die 
Unterstützung finden. Mir soll keiner eine Lösung presentieren die will 
ich allein finden. Nur als Anfänger fehlt halt auch die Erfahrung.

Autor: sp1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In dem anderen Thread hat man dir gesagt dass die Frequenz zu hoch ist 
weil du im define 1,6 GHz und nicht 16 MHz angegeben hast...

Autor: sp1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
16e6 ist nicht so fehleranfällig wie 16000000. Das ist schnell mal ne 0 
zu viel dabei... oder auch zwei ;)

Autor: Andreas V. (wicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sp1 schrieb:
> In dem anderen Thread hat man dir gesagt dass die Frequenz zu hoch ist
> weil du im define 1,6 GHz und nicht 16 MHz angegeben hast...

Damit sollte es geklärt sein, jetzt hab ich es auch gesehen!

Und warum habe ich dann keine Probleme mit dieser Konfiguration 
bekommen?

Autor: doc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil das NICHT die Konfiguration ist..
Das ist nur Angabe für den Compiler. Wenn du da was falsch machst, 
instressiert das niemanden, nichtmal den Compiler. Du wirst höchstens 
irgendwann feststellen, daß bestimmte Sachen viel zu langsam ablaufen...

Autor: Andreas V. (wicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die vielen und sehr aufschlussreichen Antworten.
Allen noch einen schönen abend.

Gruß,
Andreas

Autor: nur ein (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Höchst wahrscheinlich weil du keinen externen Quarz/Oszilator an deinen 
µC angeschlossen hast und die Fuses auch nicht auf externe 
Taktversorgung eingestellt hast! Dann kannst du in deinem Makefile auch 
1000GHz eingeben aber der controller läuft weiterhin mit seiner internen 
Taktversorgung, meist 1MHz.

Autor: Andreas V. (wicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank!

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 16e6 ist nicht so fehleranfällig wie 16000000. Das ist schnell mal ne 0
> zu viel dabei... oder auch zwei ;)

Alternativ geht auch (16  1000  1000). Das ist auch noch gut 
erkennbar.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, und jetzt nochmal, ohne Forums-Zeichenersetzungs-Gedöns:
 16 * 1000 * 1000

Autor: Arno R. (conlost)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das bedeutet ich darf bei meiner define keine 16 MHZ eintragen, sondern
>nur 8?

In deine define solltest du die Frequenz eingeben, die du verwendest.

Wenn du einen 16 MHz Quarz am Controller eingebaut hast, dann gibst
du das in der define an.
Wenn du einen 14,745600 MHz Quarz einsetzt, dann gibst du diesen Wert
in deiner define an.

Mit dem Wert in der define kannst du nicht die Taktfrequenz für den
Controller ändern, sondern du teilst dem Assembler oder Compiler mit
diesem Wert nur mit, wie hoch die Taktfrequenz ist, damit diese bei
Berechnungen in der richtigen Größe berücksichtigt wird.

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.