Hi,
habe mal etwas Overclocking versucht.
Die CPU läuft bei mir bis 50MHz, darüber ist Schluss.
Was die interne Peripherie dazu sagt, oder wie lange der Chip das aushält , ist eine andere Frage.![]()
Ausprobieren auf eigene Gefahr!![]()
Es wird mit einem 4MHz Quarz ein 100MHz Takt über die PLL erzeugt und dann über den Prescaler C auf 50MHz CPU Takt geteilt.
GrußCode:$regfile = "xm128a1def.dat" $crystal = 50000000 'Für Bascoms interne Berechnung der Wartezeiten, etc. Ddre = &B11111111 'PortE alles auf Output konfigurieren Dim A As Byte ' ' 4MHz Quarz an PortR0 und R1, PLL mit Multiplikationsfaktor 25 ' ergibt 100MHz Takt für 2 x Speed tolerante Peripherie (clk2per) ' der CPU Takt wird mit Prescaler C DIV 2 auf 50MHz gebracht. Out &H52 , &B01101011 ' Freq 2 bis 9 MHz, Startup Time 16K Takte, 32KHz Osc in low power Mode Out &H50 , &B00001000 ' Externen Oszillator einschalten Out &H55 , &B11011001 ' Takt für die Pll = externer Oszillator (die 4MHz) Multiplikator = 25 Out &H34 , &HD8 ' Register Schreibschutz für 4 Zyklen aufheben ' Out &H41 , &B00000001 ' Prescaler A und B werden nicht verwendet (:1), Prescaler C teilt durch 2 ' Vor dem Prescaler C 100 MHz Peripherietakt, dahinter 50 MHz CPU Takt While A.3 = 0 ' Warte bis Ext Oszillator stabil A = Inp(&H51) Wend Out &H50 , &B00011000 ' jetzt die PLL dazuschalten While A.4 = 0 ' und warten, bis sie stabil ist A = Inp(&H51) Wend Out &H34 , &HD8 ' Register Schreibschutz für 4 Zyklen aufheben ' Out &H40 , &B00000100 ' PLL als Systemtakt auswählen Out &H34 , &HD8 ' Register Schreibschutz für 4 Zyklen aufheben ' Out &H42 , &B00000001 ' weitere Einstellungen sperren Do ' Port toggeln, ' (nur damit ich auf dem Frequenzzähler kontrollieren konnte, was sich verändert) Porte = 0 ' 32 MHz CPU = ca. 3.5 MHz auf PortE Porte = 255 ' 50 MHz CPU = ca. 5.5 MHz auf PortE , scheint also zu funktionieren :) Loop End
Christopher








Zitieren

Lesezeichen