Forum: Mikrocontroller und Digitale Elektronik ATtiny85 Overclocking auf 28 Mhz


von Peter P. (hackrid)


Angehängte Dateien:

Lesenswert?

Hi Fans,


wollte mal kurz eure Impressionen zu dem Ergebnis hier hören.


Da das toggeln des Portpins 2 Taktzyklen dauert, schließe ich auf einen 
Systemtakt von 28 Mhz.

Die Fuses habe ich auf PLL als taktquelle eingestellt :)
der code im studio ist nur zu experimentellen zwecken ;)

Jetzt muss ich mal schauen wie ich die Output COmpare funktion zum 
laufen bekomme :D



vg

von spess53 (Gast)


Lesenswert?

Hi

>Da das toggeln des Portpins 2 Taktzyklen dauert, schließe ich auf einen
>Systemtakt von 28 Mhz.

Und wo soll der jetzt herkommen?

MfG Spess

von Peter P. (hackrid)


Lesenswert?

wie wo soll der herkommen?
die interne pll verachtfacht die  frequenz des internen RC-Oszillators.

Über einen festen Teiler (4) wird dann der Systemtakt gewonnnen.


Systemfrequenz: 28 MHz
PLL             112MHz
RC-Oszillator:  14MHz

Das OSCCAL register ist maximal ausgereizt und es wird kein (optionaler) 
clockprescaler verwendet.

wie kann ich den takt noch weiter erhöhen?

VG

von Achim M. (minifloat)


Lesenswert?

Peet P. schrieb:
> wie kann ich den takt noch weiter erhöhen?

Einen externen Takt einspeisen? Damit kann man auch die Hertz ein wenig 
weiter hoch skillen... ;)
Will sagen: Einfach ein Taktsignal einspeisen und schauen wie weit es 
geht.

Allerdings würde mich an deiner Stelle auch interessieren, ob das Ding 
dann noch korrekt rechnet.

Warum musst du den AVR denn so gnadenlos übertakten?
mfg mf

von spess53 (Gast)


Lesenswert?

Hi

>wie kann ich den takt noch weiter erhöhen?

Du solltest mal das Datenblatt lesen:

The PLL is locked on the RC oscillator and adjusting the RC oscillator 
via OSCCAL register will
adjust the fast peripheral clock at the same time. However, even if the 
RC oscillator is taken to a
higher frequency than 8 MHz, the fast peripheral clock frequency 
saturates at 85 MHz (worst
case) and remains oscillating at the maximum frequency. It should be 
noted that the PLL in this
case is not locked any longer with the RC oscillator clock. Therefore, 
it is recommended not to
take the OSCCAL adjustments to a higher frequency than 8 MHz in order to 
keep the PLL in the correct operating range.

MfG Spess

von Klaus D. (kolisson)


Lesenswert?

A. K. schrieb im Beitrag #2364302:
> Peet P. schrieb:
>
>> Da das toggeln des Portpins 2 Taktzyklen dauert
>
> Ist das so?
>
> Ein OUT Befehl braucht 1 Takt. Also wird in jedem Takt der Pin
> getoggelt, wenn die Konstanten vorwegs in Register geladen wurden.

Ist das so ? .. also wirklich ?
Wie kommt es ins Register.

CBI benötigt 2 cycle
SBI auch

also sind es mindestens 4 cycle.

Als Loop wirds wohl mehr.

Klaus

von UR Schmitt (Gast)


Lesenswert?

Und mit dem Output wie in deinem Oszilliskopbild kann man noch etwas 
sinnvolles undoder verlässliches machen?
Oder kommen die Verzerrungen von deinem Oszi?

von (prx) A. K. (prx)


Lesenswert?

Klaus De lisson schrieb:

> CBI benötigt 2 cycle
> SBI auch

Wohl wahr. Hier steht aber
  PORTB = 0;
  PORTB = 255;
  ...
und das ist einfach nur
  OUT PORTB, Rx
  OUT PORTB, Ry
wenn man mal optimistisch annimmt, dass der Compiler die LDIs aus der 
Schleife geworfen hat.

> also sind es mindestens 4 cycle.

Dann allerdings wären es 56MHz Coretakt. Denn sein Posting war etwas 
irreführend was den Begriff "toggeln" angeht. Sein DSO-Shot zeigt eine 
Pinfrequenz von 14MHz, was nur dann passt, wenn eine Periode 2 Takte 
benötigt, also 1 Takt pro Befehl.

Und das ist realistisch, denn mit OSCCAL ist rauf wie runter ca. Faktor 
2 drin.

von (prx) A. K. (prx)


Lesenswert?

UR Schmitt schrieb:

> Oder kommen die Verzerrungen von deinem Oszi?

Vom Tastkopf, d.h. von dessen Masseclip. Wenn man den ab macht, die 
Spitze entfernt und mit dem Massering direkt an die Zielmasse geht, dann 
sind sie weg.

von Ulrich (Gast)


Lesenswert?

Die Tiny85 gehören zu den neueren AVRs: Da kann man durch schreiben 
einer 1 in das Register PINB ein Bit toogeln. Mit dem Out Befehl sollte 
das noch in 1 Zyklus gehen.

Wenn die vorgesehenen maximal 20 MHz nicht schnell genug sind, sollte 
man sich eher nach einem schnelleren µC umsehen - die gibt es auch, z.B. 
als 8051 Variante oder Atmel XMega.

von Peter D. (peda)


Lesenswert?

Also die meisten Projekte mit nem ATtiny laufen bei mir mit 1MHz und da 
ist immer noch reichlich Zeit zum Däumchen drehen für die CPU.


Peter

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wissen wir doch Peter ;-). Aber ich glaube (bin mir aber nicht 
sicher...), Du machst keine Signalverarbeitung von Streams hoher 
Taktrate. Für Mess-, Steuer- und Regelaufgaben sind 1Mhz mehr als genug.

Ulrich schrieb:
> Wenn die vorgesehenen maximal 20 MHz nicht schnell genug sind, sollte
> man sich eher nach einem schnelleren µC umsehen - die gibt es auch, z.B.
> als 8051 Variante oder Atmel XMega.

Wobei der XMega durch seine aufgebohrte Hardware sehr viele schnelle 
Dinge parallel machen kann, gerade was Interfaces angeht. Da braucht man 
nicht mal einen hohen Systemtakt.

von Purzel H. (hacky)


Lesenswert?

Ich wuerd mal einen AVR32UC3L064 anschauen. Da beginnt man gleich mit 
64MHz. Und der kostet nicht wirklich mehr, um die 4 Euro

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Dafür kostet die IDE entsprechend.

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.