Forum: Mikrocontroller und Digitale Elektronik Quarz: Geschwindigkeit contra Sicherheit?


von Stephan (Gast)


Lesenswert?

Hallo!

Ich stehe grade vor der Frage, mit welchem Takt ich meine in Entwicklung 
steckende Schaltung mit nem AtMega16A ausstatten soll. Der µC kann lt. 
DBl bis 16MHz. Da er u.a. einen Motor-Winkelencoder bei 30kHz antasten 
können muss, dacht ich mir, warum nicht- gib ihm!

Frage:
Spricht irgendwas gegen den höchstmöglichen Takt? Leidet darunter 
Weissderteufelwas?

von Detlef _. (detlef_a)


Lesenswert?

Mit höherem Takt geht die Leistungsaufnahme des Prozessors hoch, 
ansosnsten ist alles gut.

Cheers
Detlef

von Kein Name (Gast)


Lesenswert?

Na ja... über die Leistungsaufnahme braucht man sich nur Gedanken 
machen, wenn man die Schaltung jahrelang mit Batterie betreiben will. 
Mikrocontroller sich dafür ausgelegt, dass sie bei maximalen Takt ohne 
Kühlung zuverlässig laufen.

von Hunz und Schlunz (Gast)


Lesenswert?

Wie Schnell dreht der motor ? 50Hz. Mit wievielen Pulsen pro umgang ? 
10. Macht dann 500Hz. Dann sind 20kHz genausogut wie 30kHz. Nimm also 
12MHz. Oder weniger.

von Stephan (Gast)


Lesenswert?

Hunz und Schlunz schrieb:
> Wie Schnell dreht der motor ? 50Hz. Mit wievielen Pulsen pro umgang ?
> 10. Macht dann 500Hz. Dann sind 20kHz genausogut wie 30kHz. Nimm also
> 12MHz. Oder weniger.

Hab mich unklar ausgedrückt. Bei höchster Drehzahl liefert der Encoder 
ein 30kHz Signal.

von kopfkratzer (Gast)


Lesenswert?

kopfkratz
Wo liegt jetzt das Problem ?
Wenn im Datenblatt 2000MHz als maximaler Takt steht dann kann der Chip 
2000MHz Takt mit dem im Datenblatt aufgeführten Randbedinungen.
Stromsparen geht auch bei 2000000MHz wenn der µC entsprechend schlafen 
gelegt wird.
Wenn das Signal von 30kHz vom µC detektiert werden soll und nicht 
erzeugt braucht es wieviele kHz damit man alles korrekt samplen kann ?

von Peter R. (pnu)


Lesenswert?

Die preiswertesten Quarze findet man im Bereich zwischen 16 und 4 MHz.
Oberhalb 20MHz sind Grundwellenquarze schwieriger herzustellen, da zu 
dünn, unterhalb 4 MHz werden sie teurer wegen der hohen Dicke der 
Scheiben.

3MHZ sind das Hundertfache der 30kHz. Wird das kHz-Signal vom Kontroller 
ausgewertet, hat man 100 Takte zur Verfügung wenn man alle 
Rechenleistung auf die Bedienung des 30kHz Signals aufwendet.

Mit den 16 MHz Takt ist der Faktor sogar über 500.

Bei den 16 MHz hat man bei den älteren AVR aber schon Grenzprobleme. Die 
Reserven bezüglich Spannungs- und Temperaturbereich werden dann knapp. 
12MHz bieten dann etwas mehr Reserve.

Die moderneren atmega kommen aber auch bei 16MHz nicht an ihre Grenzen.

von Peter R. (pnu)


Lesenswert?

kopfkratzer schrieb:
> Wenn das Signal von 30kHz vom µC detektiert werden soll und nicht
> erzeugt braucht es wieviele kHz damit man alles korrekt samplen kann ?

Das kommt halt sehr aufs Programm an, eine grobe Abschätzung:

Man muss bei den 30 kHz z.B. alle 33µs eine Flanke auswerten. Wenn das 
in 100 Takten erfolgt, reichen 3MHz Taktfrequenz also das hundertfache 
sicher aus.

In Wirklichkeit müsste aber für das Grundprogramm noch Rechenleistung 
zur Verfügung stehen, sodass die Auswertung nur etwa 10% der Gesamtzeit 
beanspruchen darf.

Dann muss die Auswertung in 10 Takten erfolgen, das ginge eigentlich nur 
in Assembler.

15MHz erleichtert die Zeitverhältnisse aber gleich um den Faktor 5. und 
Auswertung in 50Takten, bei AVR etwa 30 Ein- oder Zwei-Taktbefehle, sind 
locker möglich.

Programmiert man aber in C oder höheren Programmsprachen, werden selbst 
15 MHz Taktfrequenz schnell aufgezehrt, denn da müssen viele 
Programmschritte ausgeführt werden, die bei Assemblerprogrammierung 
durch detailliertes Überlegen und Anpassen entfallen können.

: Bearbeitet durch User
von Wilhelm F. (Gast)


Lesenswert?

Stephan schrieb:

> Hallo!
>
> Ich stehe grade vor der Frage, mit welchem Takt ich meine in Entwicklung
> steckende Schaltung mit nem AtMega16A ausstatten soll. Der µC kann lt.
> DBl bis 16MHz. Da er u.a. einen Motor-Winkelencoder bei 30kHz antasten
> können muss, dacht ich mir, warum nicht- gib ihm!
>
> Frage:
> Spricht irgendwas gegen den höchstmöglichen Takt? Leidet darunter
> Weissderteufelwas?

Wie weiter oben schon gesagt:

Ein µC ist für seinen höchsten angegebenen Takt entwickelt, und muß da 
zuverlässig unter allen anderen angegebenen Betriebsumständen wie z.B. 
Temperatur funktionieren, und dauerhaft, Jahre lang ununterbrochen, wenn 
es die Anwendung erfordert.

Übertaktung ist schlechter, und kann zunehmend Fehler erzeugen.

Ein Standard-8051, der mit 12MHz angegeben war, lief auch mal mit 24MHz, 
sogar bis zu 32MHz. Das kann man aber nur im Hobby mal auf einem 
Demo-Board testen, wenn man gerade mal kurz was schnelleres testen 
möchte, mehr nicht. Mit den 24MHz lief er auch nur bei Raumtemperatur, 
bei zu nehmender Erwärmung so um 50°C oder Abkühlung Gefrierpunkt ist 
schon Schluß mit lustig. Bei zu hohem Takt machen aber auch andere 
Bausteine dicht, wie RAM und ROM.

Wo immer es geht, bremse ich meine µCs, wenn sie die Aufgabe mit 
geringerem Takt genau so gut erledigen können. Das spart dann noch 
Energie.

Moderne µC haben eine während des Betriebes umschaltbare PLL zur 
Takteinstellung, da kann man auch mal niedrig fahren, und nur bei Bedarf 
hoch schalten und wieder zurück.

In vielen professionellen Anwendungen wird aber auch der Maximaltakt 
verwendet, und habe selbst gesehen, daß sowas beliebig lange 
störungsfrei läuft. Ein Unternehmen kauft den µC ja auch nach maximaler 
Performance je Preiseinheit, das hat also was mit dem Einkaufspreis zu 
tun, da wird nichts verschenkt. Im Hobby ist das oft egal. Beispiel: 
Eines meiner 8051-Boards, was 18MHz kann, läuft auch gut mit 7,3728MHz 
oder 14,7456MHz, da bekomme ich die höchste Baudrate 115.200 bzw. 
230.400BAUD an der RS232. Mit dem größten Quarz 18MHz geht das nicht, 
dort passen die hohen Baudraten nicht mehr, da brauchte ich dann 
22,1184MHz, und das ist zu hoch.

Da oben schon der Begriff "Batteriebetrieb" fiel: Das ist leider nicht 
immer unwichtig: Ja, in einem Unternehmen mußte ich mir schon mal 
Gedanken zu Energiesparmodes einer Anwendung machen, weil man in die 
Zukunft schaute, und Anlagenteile später mit Solarzellen betreiben will, 
ohne Energienetz in der Umgebung. Da kommen einem schon alleine die 
Power-Save-Modes (Taktfrequenz, Idle-Mode, Power Down, Wake Up, etc.) im 
µC alleine sehr entgegen. Man möchte ja an so einer Anlage die kleinste 
und billigste Solarzelle montieren, die für die Sache gut genug ist, 
nicht die größte und teuerste.

Kürzlich hatte ich einen PIC12F675 mit nur 0,8Hz (kein Druckfehler) am 
laufen!!! Ich hatte den schon eine Weile, und las später irgendwo, daß 
das Mikropower-Teile sind. Also testete ich die Dinge mal aus Neugier. 
Sowas läuft noch eine Weile auf alten Batterien, die normalerweise als 
leer erklärt werden.

von Malte (Gast)


Lesenswert?

Auch nicht unwichtig ist ob, wo und wie die ganze Schaltung dank höherem 
Takt in der Gegend rumstrahlt - zusätzlich zu dem, was man dank der 
Schaltflanken sowieso bei jeder Taktfrequenz hat.

von Ingo (Gast)


Lesenswert?

Ich würde einen neueren Mega nehmen, der Mega644 kann bis 20MHz. Bei 
solchen Sachen würde ich mir soviel Reserven wie möglich offen halten...

Mega16 ist eine veraltete Entwicklung, Nachfolger sind die MegaXX4!


Ingo

von Thomas E. (thomase)


Lesenswert?

Ingo schrieb:
> Ich würde einen neueren Mega nehmen, der Mega644 kann bis 20MHz. Bei
> solchen Sachen würde ich mir soviel Reserven wie möglich offen halten...
>
> Mega16 ist eine veraltete Entwicklung, Nachfolger sind die MegaXX4!
>
Geb dir keine Mühe. Dieses neumodische Zeugs kommt hier nicht an. Hier 
wird nur beste Vorkriegsware verwendet.

mfg.

von Robert T. (robertteufel)


Lesenswert?

Hab frueher selbst Datenblaetter geschrieben und mich dabei immer mit 
Marketing und Test "gestritten". Merketing wollte an die Grenzen gehen 
mit der Taktrate, die Testabteilung wollte dagegen eine Spezifikation 
die weit weg vom maximal meoglichen war weil damit die Ausbeuten bei der 
Fertigung nahe 100% gehen.
Der ATmega16A ist nun wahrhaftig kein ganz neuer Chip mehr, somit sind 
keinerlei Probleme bei der spezifizierten max. Frequenz zu erwarten. 
Sollte Deine Anwendung allerdings in der Naehe oder oberhalb der max. 
Temperatur und gleichzeitg an der minimalen Spannung betrieben werden, 
dann hab acht. Das sind die sogenannten Worst Case Bedingungen.
In Zahlen: Mit einer Versorgungsspannung >= 4,5V und einer 
Umgebungstemperatur <85C ist 16 MHz kein Problem.

Robert

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.