Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage: Attiny mit interner PLL als Taktgenerator


von Carsten R. (kaffeetante)


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

von Spess53 (Gast)


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

von Carsten R. (kaffeetante)


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

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Carsten R. schrieb:
> Ich glaube min nächster AVR wird ein entsprechender Tiny. :)

Ich verwende diese Reihe sehr gern. Den ATtiny85 kann man ohne Quarz 
fast regulär mit 16,5 MHz takten und damit für V-USB nutzen. Das 
vereinfacht so manche Schaltung ungemein.

von Fallobst (Gast)


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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hier hat jemand einen UKW Sender mit einem Tiny85 gebaut. 3 Bauteile 
reichen dafür, die PLL schwingt im UKW Band:
http://hackaday.com/2012/01/26/sprite_tms-three-component-fm-transmitter/

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.