mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega mit 16.5888 MHz Quarz


Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

wollte nur mal wissen, ob es hier Probleme gibt.
Der Atmega32 läuft ja eigentlich mit 16 MHz.
Da ich aber eine genaue Baudrate haben möchte aber auch keinen
Geschwindigkeitsverlust, würde ich gern diesen Quarz einsetzen.

Weiss jemand, ob es bei der Überschreitung um ca. 0,5 MHz 
Schwierigkeiten
gibt?
Dies soll nicht nur für ein Einzelprojekt gedacht sein.

Oli

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sollte normal eigentlich funktionionieren. Am besten Testen ob die 
Peripherie (EEprom, Timer,...) noch zuverlässig funktionieren.

mfg Robert

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ATmega32 läuft mit 16MHz ja bis 2,7V Vcc. Das heißt, daß er bei 5V
wahrscheinlich noch mit 20MHz laufen kann.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver wrote:

> Da ich aber eine genaue Baudrate haben möchte aber auch keinen
> Geschwindigkeitsverlust, würde ich gern diesen Quarz einsetzen.

Was heißt Geschwindigkeitsverlust ?

Sehr gute Programmierer schaffen es, eine CPU bis 50% auszulasten und 
trotzdem noch zuverlässig zu sein.

Normale Programmierer sollten nicht über 10..20% gehen ohne Einbuße an 
Zuverlässigkeit.

Anders gesagt, ob 14,7456MHz oder 16,6MHz merkt keine Sau.

Bzw. wenn Du wirklich nicht mit 14,7456MHz auskommst, dann ist Dein 
Projekt schon total knirsch auf knack und Du solltes es neu überdenken 
(andere CPU oder anderer Programmablauf).


Ich nehme bei meinen Projekten generell maximal die halbe zulässige 
Frequenz, d.h. wenn ich mich mal verschätzt haben sollte, kann ich dann 
noch erhöhen.


Peter

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
24 MHz waren hier für einen ATMega16-16 kein Problem. Allerdings habe 
ich EEProm-Schreiben/Lesen nicht getestet. ein halbes MHz mehr ist da 
aber mit Sicherheit kein Problem.
@PeDa: Manchmal ist der Grund auch einfach: Die Capture-Unit.
Das Problem: Es kann bis maximal 0.5*CPU-Takt erfaßt werden. Und braucht 
man einen Bereich bis 8MHz, dann reichen 14.7MHz Takt eben nicht mehr 
aus. Und das ist der einzige richtige Vorteil der PIC-Controller, da 
hängt zwischen Zähler und Eingangspin eben keine zusätzliche Elektronik, 
da reicht dann ein 8MHz-Quarz für einen 50MHz-Frequenzzähler. Ich weiß 
nicht, was der Oliver vorhat, aber ich hatte dieses Problem bereits.

Gruß
Jadeclaw.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Sehr gute Programmierer schaffen es, eine CPU bis 50% auszulasten und
> trotzdem noch zuverlässig zu sein.

> Normale Programmierer sollten nicht über 10..20% gehen ohne Einbuße an
> Zuverlässigkeit.


Interessant. Kennst Du auch eine zuverlässige Methode die Auslastung der 
CPU zu testen, damit ich weiß wo ich mich bewege?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Gast

>Interessant. Kennst Du auch eine zuverlässige Methode die Auslastung der
>CPU zu testen, damit ich weiß wo ich mich bewege?

Pin-Toggeln und mit Scope oder DVM messen. Z.B. zum Beginn einer 
Interrupt-Routine ein Pin auf HIGH setzten, am Ende wieder auf LOW. 
Damit kann man die Dauer der Interrupt-Routine messen. Will man die 
CPU-Last der Main-loop messen gehts ähnlich.

MfG
Falk

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Dies soll nicht nur für ein Einzelprojekt gedacht sein.

Dann solltest du dich lieber an die Spezifikation halten.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Pin-Toggeln und mit Scope oder DVM messen. Z.B. zum Beginn einer
> Interrupt-Routine ein Pin auf HIGH setzten, am Ende wieder auf LOW.
> Damit kann man die Dauer der Interrupt-Routine messen. Will man die
> CPU-Last der Main-loop messen gehts ähnlich.

Worauf beziehen sich die 20% auf eine Sekunde?
Wenn dann zwischen den Wechseln 200ms liegen dann bedeutet das, dass 
meine CPU zu 20% ausgelastet ist?

Mfg

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Dies soll nicht nur für ein Einzelprojekt gedacht sein.

Dann würde ich ihn aber nicht außerhalb der Spec betreiben. Kannst Du 
keinen anderen nehmen? Mega644 geht bis 20MHz.

Markus

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mega644 geht bis 20MHz.

Der ist Pinkompatibel. Genauso wie Mega324 oder Mega164.

Aber am Code wirst Du dann drehen müssen :-(

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.