Hallo zusammen,
ich habe nun schon ein paar Tage damit verbracht zwischendurch
verschiedene Datenblätter zu den verschiedenen Atmega-Chips durchzulesen
und bin dann beim Atmega8 mit TQFP-Bauform gelandet. Dieser ist
wahrscheinlich die beste Wahl für mein Projekt.
Bei meinen ganzen Recherchen bin ich auch hier im Forum auf dieses
Projekt gestoßen: Beitrag "USB Joystick Controller mit Mega8"
Dabei geht es um einen USB-Joystick-Controller, realisiert mit einem
Atmega8.
Ich habe ein ähnliches Projekt vor, möchte den Controller aber an
verschiedene Endgeräte anschließen können und mich dabei nicht auf 5V
festlegen müssen. Außerdem soll die Schaltung möglichst unkompliziert
sein und daher den internen Oszillator nutzen.
Nun meine beiden Fragen dazu:
1. Welches ist nach Erfahrungswerten die maximale stabile Frequenz, die
ich beim Internen Oszillator mit 3,3V nutzen kann. Ich vertraue da eher
auf Erfahungswerte, als auf Datenblätter ;)
2. Wie verhält sich der interne Oszillator, wenn er mal 3,3V und mal 5V
bekommt? Theoretisch sollte das an der Frequenz nichts ändern oder?
Frank N. schrieb:> 1. Welches ist nach Erfahrungswerten die maximale stabile Frequenz, die> ich beim Internen Oszillator mit 3,3V nutzen kann. Ich vertraue da eher> auf Erfahungswerte, als auf Datenblätter ;)
Was hilft es dir, wenn du die Aussage bekommst, dass es meistens auch
viel schneller funktioniert?
Wenn du willst, dass es sicher funktioniert, dann solltest du dich
an die Werte im Datenblatt halten. Alles andere ist ein „kann schon
sein, dass es klappt“.
> 2. Wie verhält sich der interne Oszillator, wenn er mal 3,3V und mal 5V> bekommt? Theoretisch sollte das an der Frequenz nichts ändern oder?
Theoretisch nicht, praktisch trotzdem. Beim ältlichen ATmega8 ist
die Abhängigkeit sehr viel größer als bei einem moderneren ATmega88A,
die typischen Werte findest du im hinteren Teil des Datenblatts.
Hi
>1. Welches ist nach Erfahrungswerten die maximale stabile Frequenz, die>ich beim Internen Oszillator mit 3,3V nutzen kann. Ich vertraue da eher>auf Erfahungswerte, als auf Datenblätter ;)
Das Original von Igor braucht aber 12MHz.
MfG Spess
Jörg W. schrieb:>> 1. Welches ist nach Erfahrungswerten die maximale stabile Frequenz, die>> ich beim Internen Oszillator mit 3,3V nutzen kann. Ich vertraue da eher>> auf Erfahungswerte, als auf Datenblätter ;)>> Was hilft es dir, wenn du die Aussage bekommst, dass es meistens auch> viel schneller funktioniert?
Ich dachte eigentlich in die andere Richtung. Also lieber langsamer,
aber dafür zuverlässig.
>> Wenn du willst, dass es sicher funktioniert, dann solltest du dich> an die Werte im Datenblatt halten. Alles andere ist ein „kann schon> sein, dass es klappt“.>>> 2. Wie verhält sich der interne Oszillator, wenn er mal 3,3V und mal 5V>> bekommt? Theoretisch sollte das an der Frequenz nichts ändern oder?>> Theoretisch nicht, praktisch trotzdem. Beim ältlichen ATmega8 ist> die Abhängigkeit sehr viel größer als bei einem moderneren ATmega88A,> die typischen Werte findest du im hinteren Teil des Datenblatts.
Wenn ich das in den Datenblättern richtig sehe, dann ist der ATmega88
pinkompatibel mit dem ATmega8, hat aber ein paar mehr Funktionalitäten.
Frank N. schrieb:> Ich dachte eigentlich in die andere Richtung. Also lieber langsamer,> aber dafür zuverlässig.
Die Datenblattwerte sind schon extrem konservativ. Langsamer als das
musst du nicht gehen.
Schneller geht halt meistens, garantiert nur keiner.
> Wenn ich das in den Datenblättern richtig sehe, dann ist der ATmega88> pinkompatibel mit dem ATmega8, hat aber ein paar mehr Funktionalitäten.
Ja, pinkompatibel, aber nicht binärkompatibel. Nichtmal 1:1
sourcecode-kompatibel, nicht nur wegen der erweiterten Funktionen
(bspw. hat Timer 2 dann OCR2A und OCR2B statt nur OCR), sondern auch,
weil die USART in den Nachfolgern USART0 heißt, entsprechend UDR dann
UDR0 etc.
Wenn du etwas extrem laufzeitkritisches (bezüglich der IO-Zugriffe)
hast, dann solltest du auch acht geben: beim ATmega8 haben die
IO-Register alle in den Bereich gepasst, wo man sie mit IN und OUT
zugreifen kann, beim ATmega88 gibt es eine ganze Reihe, die außerhalb
liegen und nur noch über Speicherbefehle adressiert werden können.
> Wenn du etwas extrem laufzeitkritisches (bezüglich der IO-Zugriffe)> hast, dann solltest du auch acht geben: beim ATmega8 haben die> IO-Register alle in den Bereich gepasst, wo man sie mit IN und OUT> zugreifen kann, beim ATmega88 gibt es eine ganze Reihe, die außerhalb> liegen und nur noch über Speicherbefehle adressiert werden können.
Vielen Dank für den wertvollen Hinweis! :)
Ich habe mir nun sowohl drei Atmega8 als auch drei Atmega88 bestellt und
werde versuchen womit es am besten geht. Ich werde mir auch das
Datenblatt des Atmega88 noch einmal genauer durchlesen.