ATmega mit 16.5888 MHz Quarz

Gast #546754
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
#546822
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
#546847
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.
Gast #546906
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?
#546910
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
Gast #546936
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren