Hi,
wäre es theorethisch möglich einen Mega16/32 auf zB 20MHz zu übertakten. Einfach einen höheren Quarz oder Oszillator dazu. dann müsste es ja gehen, oder?
Druckbare Version
Hi,
wäre es theorethisch möglich einen Mega16/32 auf zB 20MHz zu übertakten. Einfach einen höheren Quarz oder Oszillator dazu. dann müsste es ja gehen, oder?
Warum sollte es nicht gehen?
Mein Mega8 rennt mit 16MHz.
Musste halt ausprobieren, ist wie bei Prozessoren, bei manchen geht's, bei manchen nicht. Zur Not Vcore rauf, geht ja bei nem µC ohne weiteres, aber nicht zu viel ^^ War nur'n Scherz, mach das nicht, ich weiß nicht ob der irgendwann Probleme mit der Sperrspannung der Transistoren bekommt
Funktionieren tut es schon. Es gab hier im Forum mal einen ziemlich umfangreichen Bericht, wie jemand PICs übertaktet hat (mit Kälteschrank und so).
Fakt ist aber, dass bei immer höher werdendem Takt immermehr von der Hardware aussetzt (A/D usw.).
Für Dinge, die ausfallssicher und lange laufen sollten, würde ich es nicht machen, da ja der Strombedarf auch steigt.
Bei 1-3Mhz sollte nicht viel passieren, stellt sich aber die Frage, ob das den Aufwand lohnt.
MfG
ACU
Du meinst das Gegenteil oder?Zitat:
Für Dinge, die ausfallssicher und lange laufen sollten, würde ich es machen, da ja der Strombedarf auch steigt.
Hi,Zitat:
Zitat von ACU
kann ich da nicht einfach einen höheren Quarz anschließen? Also ein normales Board und da den Quarz dran. Ohne Kühlschrank ect.
Und kann ich den AVR dabei schrotten? Oder überlebt er das alles ohne Probleme?
Und was sagt ihr zu einer variablen CPU-Rate, wie bei den Intel-Centrino dingern? Dann schalt ich einfach wenn ich mal viel power brauch für kurze zeit auf den höherren quarz (dann eben einen mit 30MHz für kurze zeit) um.
Ich denke da an Bildverarbeitung, ausgabe, simulation, frequenz-messungen...
Könnt ich da den ADC gleich mit übertakten?
Meine Erfahrungen sind auch, bei manchen geht es, bei anderen nicht.
bis 18 MHz war bis jetzt aber immer möglich, 20 Mhz nicht mit jedem und ca. 22MHZ wenn man Glück hat.
Beschädigt, oder heiß wird der AVR dadurch nicht. Es können aber sehr ärgerliche Fehlfunktionen auftreten auf die man so schnell nicht drauf kommt und einem erst später einfällt das man ihn ja übertacket hat.
Zuerst sollte man aber an seinem Programmierstiel arbeiten bevor man den AVR übertaktet, oder schnelle aufgaben externer Hardwareüberlassen.
Gruß,
Mehto
Die Taktrate kann man über das Prescaler-Register einstellen, allerdings nur in 2x-Schritten, also volle Taktrate, 1/2, 1/4, 1/8 usw.
Die Quarze umzuschalten kannste vergessen, das bringt den AVR durcheinander.
Ja sorry, da fehlte eine Negation, ich meinte natürlich "nicht für Dinge die ausfallssicher und lange laufen sollten".
Wie schon gesagt, ich würde es lieber lassen, und lieber mein Programm noch ein bischen optimieren. Wenn man wirklich am Limit ist und nicht mehr rausholen kann, sollte man sich überlegen, ob man nicht den Aufbau (mehrere AVRs, ARM etc.) ändern sollte.
MfG ACU
Es war ja nur so ne idee. die intel-prozesoren im pc sollen ja wenn ich sie zu hoch übertakte kaputtmachbar sein. und dann sterebn sie am hitzetod ect.
kann so ein avr eigendlich heiß werden?
Wie man schon sagte, WOZU ?
Was machst Du so rechenintensives, daß Du mit der Geschwindigkeit nicht klar kommst ?
Gruß Sebastian
Ja, wenn man ihn falsch anschließt.Zitat:
Zitat von Superhirn
Aber vom übertakten eher nicht.
Höchstens wenn du die Spannung erhöhst, so macht man es ja bei PC-Prozessoren wenn sie nicht weiter wollen.
Ich mein ich bin da ja nicht so der experte aber:
Wenn ich die Taktrate erhöhe, bedeutet dies automatisch das die transistoren öfters schalten -> höhere Verlustleistung -> wird wärmer!!!!
Somit steigt auch der Strombedarf!
Vielleicht ist die zusätzliche Wärmeentwicklung, so gering, dass sie keine auswirkungen hat bzw auch nicht wirklich wahrgenommen wird. Aber da is sie auf jeden fall. Denn wie jeder weiß -> Energie kann nicht verloren gehen.
Und alles was du an Energie reinsteckst, muss auch wieder rauskommen. In dem Fall halt als Wärmeenergie.
mfg gamecounter
bleib mal auf dem Boden, das war doch auch gemeint......Zitat:
Vielleicht ist die zusätzliche Wärmeentwicklung, so gering, dass sie keine auswirkungen hat bzw auch nicht wirklich wahrgenommen wird. Aber da is sie auf jeden fall. Denn wie jeder weiß -> Energie kann nicht verloren gehen.
Und alles was du an Energie reinsteckst, muss auch wieder rauskommen. In dem Fall halt als Wärmeenergie.
Der Avr braucht dann natürlich mehr Energie und wird dem entsprechend wärmer, aber noch lange nicht heiß.
Das heißt, das der AVR sich so gut wie gar nicht erwärmt, jedenfalls von Hand nicht wirklich spürbar.
Polt man ihn allerding verkehrt herum, fließen durch die Schutzdioden hohe Ströme und der Avr wird so lange heißer bis er abgeraucht ist. (das selbe mit einer normalen Diode)
Gruß,
Mehto
is schon klar, dass er wenn er verkehrt gepolt wird, schneller heiß und auch um einiges heißer wird.
Ich hab auch keine erfahrung damit in wie weit sich die taktrate auf die temperatur auswirkt. ich wollte jedoch festhalten, dass er sich theoretisch schon erwärmt.
mfg
In einigen Schaltungen übertakte ich einen ATmega8-16
problemlos mit 20MHz, es gab noch nie ein Problem damit.
Der Hersteller garantiert nur die 16 MHz.
Ausserdem gibt es noch eine Sicherheitsspanne, ich vermute, die liegt irgendwo zwischen 20 und 30 MHz.
Hat jamand von Euch derartige Versuche gefahren?
Von 16 auf 18 (ATmega8) oder von 10 auf 11 (AT90S2313) scheint kein Problem zu sein, zumindest wenn man VCC nicht zu geizig bemisst und die Kerlchen nicht bei 70° Umgebungstemperatur betreibt.
Soweit hatte alles funktioniert: Timer. SPI, UART, ect. Wenn ich mich recht erinnere auch der EEPROM (wird ja intern getaktet).
Dann passt ja. danke.
Also Gerüchten zufolge testet Atmel einfach (z.B. Atmega8) die hergestellten µC durch und schaut bis wie viel MHZ sie problemlos funktionieren.
Gehen sie noch bis 16MHZ (mit Toleranz warscheinlich min. 17 oder 18MHZ)
werden sie als Atmega8 16PI (bis 16MHZ) verkauft.
Erreichen sie diesen Wert nicht arbeiten aber bis 8MHZ auch bei niedriger Spanung einwadnfrei, verlassen sie die Productionshalle als Atmega8 8PI (bis 8MHZ)
Das würde bedeuten das die höchst mögliche Taktfrequenz also sehr variiert.
Deshalb wird es µC geben die funktioniren nur bis 18MHZ einwandfrei und andere bis 25MHZ, jenach dem wie gut der µC ist den man erwischt hat....
Das sind so weit ich weiß aber alles nur Gerüchte, dehalb mich bitte nicht anschei$en wenns nicht stimmt :cheesy:
Aber wie auch gesagt wurde, wie weit man übertakten kann hängt auch davon ab was für funktionen man benutzt.
Ohne AD und Ram dürfte er einiges länger ohne Probleme laufen als mit.
Das blöde ist halt das es irgendwann zu unvorhersehbaren fehlern kommt. :-(
Das heißt, das der µC nur so lange mit macht bis der Ram, oder spätestes der Flash aussteigen...
Vieleicht weiß ja einer wie schnell der Ram und der Flash sind?
Gruß,
Mehto
Zitat:
Zitat von Bernhard.Erfurt
Die Sicherheitsspanne gibt es, jedoch sicherlich nicht bis 30Mhz. Wären ja bei 16Mhz-Typen fast das doppelte.
Ich denke zwischen 18Mhz und 20Mhz liegt das limmit bei normalen Raumtempraturen. Es gibt inzwischen schon 20Mhz-Typen (die neuen Mega88 oder Mega48 usw....). Da könnte ich mir 22Mhz bis 24Mhz schon vorstellen, mehr eher nicht(wenn dann Glückssache)
mit einem Atmega162 hab ich auch schon 22MHZ geschaft (mit Sram!)
25MHZ gin auch schon, lief aber wirklich sehr sehr komisch... (komische schaltzustände, keine sauberen Signale usw.) :-b
Hab hier aber auch einen da der zwar noch mit 18MHz geht, sobald man aber drüber ist, springt das intere Ram raus und nichts geht mehr (jedenfalls nicht wirklich *g*)
Hab aber auch schon gehört das man einen bestimmten Tiny bis 30MHZ takten kann wenn man auf alles andere verzichtet (ADC, Ram, timer usw.)
Kann das aber nicht bestätigen, hab das noch nicht live gehsehn....
OK. ich werd mein nächstes Board mit steckbaren Quarz machen und dann 17, 18, 19, 20MHz ausprobieren. Der vorteil wär ja auch bei der höherren übertragungsgeschwindigkeit, die man mit i2c erreichen könnte, oder???
>17, 18, 19, 20MHz ausprobieren. Der vorteil wär ja auch bei der >höherren übertragungsgeschwindigkeit, die man mit i2c erreichen >könnte, oder???
So einfach ist das nicht, denn der TWI-SLAVE muss auch in der Lage sein, derartige SCL-Frequenzen vom MASTER zu verarbeiten
und
die Bussignale müssen noch relativ "sauber" beim SLAVE ankommen
wenn ich einen oszillator einbau, müsste die frequenz ja sauber werden und es dann ja funktionieren? ist ja nur eine idee.
>wenn ich einen oszillator einbau, müsste die frequenz ja sauber werden
Möchtest Du etwa den µC öffnen um etwas einzubauen? Respekt ;)
Es geht nicht um die Signalqualität der Takt-Quelle, da sind problemlos
100 MHz möglich (ich übertreibe bewusst),
sondern die internen Vorgänge im µC laufen nicht mehr sicher,
er verrechnet sich regelrecht, und die Folgen wären nicht sehr erfreulich.
Also an Deiner Stelle würde ich auch erstmal versuchen, die Software oder
Hardware so anzupassen, dass es auf die 10% mehr Takt nicht mehr ankommt.
Und bei mehr als 10% steigt der Aufwand fürs Übertakten dann deutlich :cheesy:
Gruß,
Hans
....da geb ich Bernhard recht. Vieleicht sollte der eine oder andere sich erst mal mit der Technik des Controller an sich beschäftigen, bevor er hier losphantasiert.
Es hieß ja dass, der avr nicht so heiß werden kann. aber 100MHz auf einem ATmega32 wär ja was.
Superhirn, hast du schonmal die Geschwindigkeit eines AVRs mit 16Mhz herausgefordert? So richtig mit Berechnungen? Mit Singles und Doubles?
Ich hab so ein bissl das Gefühl, daß du gar nicht so recht weißt, was 16MIPS bedeuten.
meistens nur 1 dazuzählen und if-abfragen vom adc-wert und ports. sonst hab ich noch nicht so viel berechnet.Zitat:
Zitat von Rage_Empire
16MIPS heißt 16.000.000 Asm-Befehle in der Sekunde. Umgerechnet in C sind es etwas weniger c-befehle da der compiler ja nicht perfekt sein kann.
>Vieleicht sollte der eine oder andere sich erst mal mit der Technik des >Controller an sich beschäftigen, bevor er hier losphantasiert.
Das sehe ich nicht so, denn wer ist schon perfekt, und wir wollen doch alle dazulernen, sonst wären wir nicht hier, gel?
Ich persönlich finde es immer gut, wenn mich jemand kritisiert und mit mir diskutiert, auch wenn wenn's manchmal "weh" tut ;)
Hi,
Wäre es möglich aus dem mega16L 16MHz zu nehmen. der vorteil wär ja, dass die prescaler alle noch bis zu dieser taktrate zurechtkommen, und somit alles wie bei einem normalen funktionieren würde.
Ihr werdet sicher fragen, warum ich dann nicht gleich einen normalen Mega16 nehme. hab ich mich auch gefragt:
1. Stromverbrauch (glaub zwar nicht, dass dann viel weniger stromverbrauch ist).
2. Um nicht so viel strom über die 5V leitung am I²C Bus zu ziehen
3. ist mir einfach so eingefallen.
HÄ?
du wilst an einen AtmegaL 16MHZ hängen und ihn dann wider auf 8MHZ teilen?
Wenn das oben genannte Gerücht stimmt verbraucht der AVR dadurch kein bischen weniger Strom.
Wenn das überhaupt möglich wäre würde sich das nur lohnen wenn du an 16MHZ Quarze günstiger rankommst als an die 8MHZ....
Wenn du Stromsparen wilst nimst du am besten ein tiny und arbeitest viel im Stromspaarmodus...
Gruß,
Mehto
ich will den M16L auf 16MHz geben. der prescaler war ja nur der interne gemeint, damit nicht nach der reihe alle einbauen (ADC....) aufgeben.
Zum stromsparen:
der Tiny hätte bei mir zu wenig ports
>ich will den M16L auf 16MHz geben.
• Speed Grades
– 0 - 8 MHz (ATmega8L)
– 0 - 16 MHz (ATmega8)
Deswegen!
der Gehlt ja nur auf 8MHz. deshlab mag ich testen ob mehr möglich ist.
>der Gehlt ja nur auf 8MHz. deshlab mag ich testen ob mehr möglich ist
Dann teste doch mal, mich würde schon interessieren,
wo beim L-Typ die obere Takt-Grenze liegt
PS: einfach mal einen externen HF-Generator anschließen
und messen ;)
Oder Stück für Stück die Quartze tauschen
Hallo,
die Werte im Datenblatt des M16 gehen jetzt schon bis 20MHz,
aber ich denke irgendwann wird der Speicher nicht mehr mitmachen,
das EEprom wird jetzt schon mit nur 1MHz intern getaktet,
wie schnell das Flash ist, bzw. sein kann, hab ich auf die schnelle nix gefunden, es wird mit dem gleichen Takt betrieben wie die CPU.
Da es schon AVRs mit bis zu 20MHz gibt, wird das bei anderen auch möglich sein.
Den schnellsten Quarz den ich gefunden habe ist 18,432 MHz (16MHz +15% ) und mit diesem läuft mein M32 wie ein Glöckerl, hab in Bascom die Frequenz angegeben und mein Testprogramm neu compiliert,
UART und ADC geht genauso wie vorher, warm wird dabei auch nix.
War kein besonders anspruchsvolles Programm.
Nach dem Rückbau auf 16MHz geht auch noch alles ;-)
Aber was soll es bringen einen L-Typen mit 16MHz zu betreiben, wenns den gleichen schon für 16MHz gibt. Der Vorteil von den L-Typen ist ja das man sie mit wenig MHz und wenig Spannung betreiben kann, was beim übertrakten vom Prinzip her schon nicht geht.
Wozu willst du überhaupt übertakten?
Wenn dein AVR nicht ausreuicht, feil mal an deinen Algorithmen. Da ist mehr Potential als viele glauben! Falls es dann nicht hinhaut, nimm eben nen ARM, so teuer sind die ja auch net...
Also der Mega 8 ist für eine Versorgung von 4,5 - 5,5V ausgelegt bei einer Temperatur von 0-70° bzw. -40° bis +85°.
Für die maximale Frequenz von so einem Baustein ist die niedrigste Spannung und die höchste Temperatur massgeblich.
Generell kann man den also bei höherer Spannung schneller betreiben, und /oder bei niedrigerer Temperatur.
Wenn man statt 4,5V die Mindestspannung auf 5V legt, kann man den etwa 15% schneller laufen lassen.
Wenn man die Maximaltemperatur statt auf +85° auf +30 reduziert (mit Kühlkörper etc. sind etwa 20% drin. Wobei hier die Temperatur des Siliziums und nicht des Gehäuses relevant ist. Da muss man also vorsichtig sein, weil das Silizium ja auch wärmer wird durchs übertakten und u. U. das Gehäuse die Wärme gar nicht rausbekommt.
Zusammen also etwa 40% oder etwa 22 MHz. Zumindest theoretisch.
Gruss
Axel