Verständnisfrage: Attiny mit interner PLL als Taktgenerator

OP #3102445
Lesenswert?

Hi,

ich bin kürzlich darüber gestolpert, daß es auch ATTinys mit interner 
PLL gibt, die intern einen Takt erzeugt welcher mit bis zu 64 MHz höher 
als der CPU-Takt ist. Bisher habe ich immer nur mit ATMegas gearbeitet.

Mir kam da der Gedanke diesen Takt über einen Timer per PWM im CTC-Modus 
nach außen zu schicken. Wenn ich mich da nicht verrechne liegt da die 
Maximale Ausgangsfrequenz beim halben PLL-Takt, also 32 MHz. Somit 
könnte man einen kleinen ATTiny45 oder einen anderen mit PLL als, wenn 
auch stufig, programmierbare Taktquelle bis hinauf zu 32 MHz 
"mißbrauchen". Vielleicht habe ich ja auch noch einen einfacheren Weg 
übersehen denn PLL-Takt nach draußen zu führen, eventuell sogar mit 
voller Frequenz. Mir ist klar, daß das dann kein quarzgenauer Takt sein 
wird.

Wer nun fragt wozu brauche man das:
Man kann auch anders einen höheren Takt als 20 MHz erzeugen.

Ich finde die Idee praktisch die Möglichket zu haben mit einem AVR ohne 
externen Bauteileaufand (Taktteiler+ externer Oszillator) quasi synchron 
mit zwei Frequenzen zu experimentieren. Nur ist entweder meine Idee zu 
exotisch oder ich bin mit der Suchfunktion geschickt drumherum 
geschippert. Jedenfalls habe ich bisher noch nichts vergleichbares 
gefunden.

Ist das so möglich? Oder habe ich da einen prinzipiellen Denkehler, 
Insbesondere was die obere Grenze von 32 MHz (also oberhalb der 
CPU-Taktes) betrifft? Ich würde es ja einfach ausprobieren, aber ich 
habe keine ATTinys da und müßte die extra dafür bestellen.



Viele Grüße

Carsten
Gast #3102466
Lesenswert?

Hi

>Ist das so möglich? Oder habe ich da einen prinzipiellen Denkehler,

Der Fehler ist, du hast nicht ins Datenblatt geschaut. Die PLL 
funktioniert nur mit Timer1. Und der hatt kein CTC. Symmetrische 32MHz 
bekommst du auch mit fast PWM bei einem OCR-Wert von 0.

MfG Spess
OP #3102526
Lesenswert?

Danke für die schnelle Antwort.

Ja Du hast (halb) recht. Ich habe zwar ins Datenblatt geschaut, aber in 
meiner Vorfreude überlesen, daß da Timer1 stand. Wunschgemäß wollte mein 
Hirn nur Timer ohne die 1 lesen bei dem Satz in dem es darum ging welche 
Komponenten den PLL-Clock verwenden können.

Aber dank dir wurde ich daran erinnert, daß man OCR1C umfunktionieren 
kann damit der Timer1 nicht bis 255 hocheiert sondern sofort kehrt 
macht. Der Gedanke ist nur noch etwas gewöhnugsbedürftig, daß man ein 
Signal schneller ausgeben kann als die CPU untern rechnet, aber 
praktisch.

Wenn ich das jetzt richtig sehen, kann ich dank der PLL anstatt bisher 
maximal den CPU direkt (20 MHz) auszugeben oder den halben Takt (10 MHz) 
per PWM, nun auch noch beispielsweise 12,8, 16, 25,6 und 32 MHz 
ausgeben, die vorher ohne die PLL nicht möglich waren.

Ich glaube min nächster AVR wird ein entsprechender Tiny. :)


viele Grüße

Carsten
Gast #3102696
Lesenswert?

Carsten R. schrieb:
> Wenn ich das jetzt richtig sehen, kann ich dank der PLL anstatt bisher
> maximal den CPU direkt (20 MHz) auszugeben oder den halben Takt (10 MHz)
> per PWM, nun auch noch beispielsweise 12,8, 16, 25,6 und 32 MHz
> ausgeben, die vorher ohne die PLL nicht möglich waren.

Mithilfe des OSCCAL-Registers kann man den int. RC-Oscillator tunen. 
Damit ist feinere Frequenzen einstellen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren