Hi. Ist es möglich, einen ATMEGA8515 16-16 mit 18MHz statt den eigentlich maximal erlaubten 16MHz zu betreiben ? Und ist es dann günstiger, diesen Takt per Quarzoszillator oder Quarz mit gen Masse geschalteten Kondensatoren erzeugen zu lassen ? Könnte es dann Probleme mit einem angeschlossen SRAM geben (zu schnelle Ansteuerung) ? Mein Problem ist, dass ich das USB-Protokoll von IgorPlug für meine Zwecke abgeändert habe, nun merke, dass ich etwas mehr Leistung brauche, und nun einen geeigneten Quarztakt >= 15MHz (größer wäre besser) erzeugen muss, der zudem noch durch 1,5 Teilbar sein muss (15;16.5;18;20.5;...) (1,5Mb/s USB).
Für Bastler mag das gehen, Igor hat ja den AT90S2313 auch mit 12MHz übertaktet. Ein kommerzielles Produkt würde ich aber nicht so aufbauen. Die ATMega48..168 sollen ja 20MHz können. Peter
mega8515 habe ich schon mit 24MHz betrieben. Die meisten machen das problemlos mit. Bei 22,1184MHz hatte ich noch nie Probleme. 18MHz sind also kein Problem. Nur so Spezialfunktionen wie das EEPROM sollte man dann nicht mehr verwenden. 90S2313 laufen mit 18MHz. Bei 20MHz hängen sich die meisten nach einigen Sekunden bis Minuten auf, da der Flash zu langsam ist. Den tiny2313 habe ich auf 24MHz im Dauerbetrieb laufen. Bei 27MHz gibt es hier ebenfalls probleme mit dem zu langsamen Flash.
Würde ein SRAM mit 70ns zugriffszeit auch unter so eine "Spezialfunktion" fallen ?
Das musst du im Datenblatt nachlesen. Da stehen die Zeiten drin (2xtclck-10ns usw.). An einem mega8515 mit 18,1432MHz ist ein 50nS SRAM bei Verwendung ohne Waitstates das mindeste. Ich verwende für 22,1184MHz ein 25nS SRAM und ein 74ALS573 ohne Probleme.
Ich hab mal nen mega16 mit 24 (!!!) MhZ am laufen gehabt. Selbst uart ging stabil. Denk aber ned, dass eine solche übertaktung gut ist.
Ich habe als SRAM nur einen 70ns-Teil in Aussicht, daher wollte ich Fragen inwiefern man den RAM bei 18 MHz betreiben kann. Im Datenblatt des ATMEGA8515 steht etwas von Wait states. Damit dürfte man doch theoretisch den SRAM so bremsen, dass es keine Probleme mit den 70ns Zugriffszeit gibt.
Im Datenblatt steht: "Due to the high-speed operation of the XRAM interface, the address latch must be selected with care for system frequencies above 8 MHz @ 4V and 4 MHz @ 2.7V. When operating at conditions above these frequencies, the typical old style 74HC series latch becomes inadequate. The external memory interface is designed in compliance to the 74AHC series latch." Daher frag ich mich : Welchen Chip sollte ich bei einer Frequenz von 18 MHz verwenden ?
1. Wie hoch kann man die Dinger(beispielsweise ATmege16, oder auch ATmega32) eigentlich mit dem internen Takt kriegen? Ich habe das Datenblatt noch nicht bezüglich der Taktung gelesen... 2. Fällt das EProm auch schon bei einer übertaktung von 16 auf 18Mhz aus? Was passiert denn beim Benutzen? Kommt es zum Datenverlust oder hängt sich der Atmel auch auf?? 3.Kann man die großen ATmegas schlechter übertakten als die ATinys?
1. Intern kannst du über die CLKSEL-Fuses bis zu 8MHz internen Takt einstellen (1,2,4,8 MHZ wählbar). Dann besteht noch die Möglichkeit, über das OscillatorCalibrationByte den Takt noch weiter zu erhöhen. 2.Ob oder wie das EEPROM ausfällt, weiß ich nicht, aber ich denke, dass es einfach nicht mehr richtig reagiert, und daher bei Zugriffen Fehlinterpretationen von Signalen auftreten -> Undefiniertes Zeugs (wäre doch ne Klasse Idee, um einen Hardwarezufallsgenerator zu bauen :) ) 3. Theoretisch müssten sich beide gleich gut übertakten lassen, da der Kern der gleiche ist; im ATMEGA halt mit allem Brimborium, und in TINY abgespeckt mit weniger Zeugs in der Wundertüte
3. Naja die abgespekten CPUs laufen auch schneller 1. Das weiß ich schon(bis darauf, dass ich dachte, dass man auch noch 16 und 20 Mhz einstellen kann, wenn man einen ATmega hat, der das standartmässig macht) Aber geht dieses CalibrationByte nicht nur bis 1.5? Das würde bedeuten, dass man nur bis 12Mhz beim internen Oszilator kommt...
3. Bei einer Einstellung von $FF im OSCCAL kann die Frequenz zwischen 100% und 200% der RC-Osc-Frequenz betragen. Bei $00 ist der Spielraum von 50% bis 100%. Maximal sollte daher 16 MHz möglich sein. Die Angaben sind übereinstimmend mehreren ATMEGA-Datenblättern entnommen worden. PS: Der interne Oszillator ist sowas von Ungenau. Du hast nie die gewissheit, welche Frequenz er gerade hat. Für timingangelegenheiten wie z.B. UART ist der interne praktisch nicht zu gebrauchen. Generell sollte man bei höheren Frequenzen generell Quarze verwenden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.