ATtiny85 a 16mhz con High Frequency PLL Clock

Ciao ragazzi. Con questo topic vorrei cercare di chiarire un punto... programmare un ATtiny85 a 166Mhz usando il High Frequency PLL Clock. Come potete vedere a pagina 26 e nel diagramma a pagina 24 (6.1.5) è possibile avere un systemclock di 16mhz al massimo con il comando CKSEL 0001.

Se volessi provare a fare un core per Pico85 smd a 16mhz, partendo da arduinotiny o saporetti cosa dovrei modificare?
Non riesco a trovare il punto nel core dove viene definito il clock e dove viene selezionato il clock interno a 1mhz (come uscito di fabbrica), trovo solo la definizione in boards.txt

Personalmente li ho usati sempre a 1MHz, ma anche i 328 escono ad 1MHz e, una volta settati correttamente i fuse, lavorano bene a qualsiasi frequenza, con o senza bootloader.
Penso sia sufficiente aggiungere il quarzo e i due C, cambiare i fuse, usare la board virtuale necessaria e tutto ti funzionerà a dovere.

Ciao Menniti. Stavo descrivendo come utilizzare il High frequency PPL clock interno al micro per andare a 16 :grin:, in internet inglese sembra una realtà accettata tra i nerd. Ne avevamo parlato tempo fa con Astrobeed ma la cosa era rimasta "da chiarire".

Pardon, hai ragione, ho letto 16MHz e mi sono tuffato a capofitto, senza calcolare gli scogli... :fearful:
Come non detto, su questo argomento sono chiavica :blush:

gbm:
programmare un ATtiny85 a 166Mhz

se ce la fai ti bacio :stuck_out_tongue:

hahaa sono pirla, mi è partito un 6. Cmq il passo dopo il PPL è l'overclock e non mi fermo finchè non piglia fuoco, promesso :grin:

lesto:

gbm:
programmare un ATtiny85 a 166Mhz

se ce la fai ti bacio :stuck_out_tongue:

gbm:
hahaa sono pirla, mi è partito un 6. Cmq il passo dopo il PPL è l'overclock e non mi fermo finchè non piglia fuoco, promesso :grin:

Cioè, farai di tutto per vincere il bacio di lesto? Confermo, sei un p :stuck_out_tongue: :stuck_out_tongue_closed_eyes:

ok facciamo cosi' se arrivo a 166mhz lesto da un bacio a menniti :grin: ahahah
Cmq a parte gli scherzi mi spiegate come programmare tramite un arduino i fuse di un tiny??
Almeno faccio i test e vi so dire subito, unica cosa io sono su linux

Credo di esserci riuscito :stuck_out_tongue:

gbm:
ok facciamo cosi' se arrivo a 166mhz lesto da un bacio a menniti :grin: ahahah
Cmq a parte gli scherzi mi spiegate come programmare tramite un arduino i fuse di un tiny??
Almeno faccio i test e vi so dire subito, unica cosa io sono su linux

Puah! un cerchio che non mi piace per niente.
L'unico modo è da riga di comando AVRDUDE, con la programmazione ISP non ci siamo ancora riusciti :frowning:
In alternativa serve un programmatore per micro ATMEL, ma il primo metodo è semplice ed economico, credo che Leo l'abbia riportato nel suo Tutorial sui Tiny85, proprio sul tuo sito :grin:

@ Leo: 166MHz o programmazione ISP? :slight_smile:

Mettere il Tiny85 a 16 MHz usando solo il suo oscillatore interno ]:smiley:
Ora ho il blink compilato per 8 MHz che viaggia il doppio XD

ce l'hai fatta? :grin: grande.
Caxxo mi era sfuggito, pensavo servisse il tiny isp

No, ho usato l'Arduino come programmatore ISP secondo le impostazioni del mio articolo su Gioblu sulla programmazione dei Tiny85.

Adesso faccio una piccola prova, poi vi dico come fare.

Uhm... nel datasheet dice anche che cosi' un timer perde il suo clock? O qualcosa del genere?
Vedo di farlo pure io e capire se la funzione millis resiste oppure no :grin: o se il pwm funziona.

Secondo il datasheet bisogna programmare il fuse CKSEL su $0001 e poi impostare il bit PLLE del registro PLLCSR ad 1. Ma a me va senza quest'ultima impostazione. Boh... comunque basta programmare il fuse basso dell'Attiny con questo comando:

./avrdude -P /dev/ttyACM0 -C ./avrdude.conf -U lfuse:w:0xf1:m -p t85 -c stk500v1 -b 19200

che dovete date dalla cartella /arduino-0022/hardware/tools in modo da usare avrdude distribuito con l'IDE, che può vedere l'Arduino come programmatore ISP.

Il fuse basso così settato ($F1) imposta il PLL interno e disattiva il divisore 8x sul clock dell'oscillatore, per cui: 8 MHz * 8 = 64 MHz / 4 (il divisore 1/4 interno) = 16 MHz finali

Se caricate il Blink usando il profilo modificato per un Attiny85@8 MHz vedrete il led lampeggiare al doppio della velocità.

Applaaaaausiii, mi metto a fare il core, senti ma se partissi da sapo?

gbm:
Applaaaaausiii, mi metto a fare il core, senti ma se partissi da sapo?

cheeee?

@ Leo: quindi mi basta mandare LFuse=f1 col mio HV?

Non capisco come mezzo non lo usi :grin:.
Ho dovuto cercare in avrfreaks e vari altri siti peta nerd per trovare un parere positivo e la "prova" che fosse possibile :grin:

@Michele:
basta mandare quel fuse lì...

@gbm:
io uso il core Tiny da un po' e non mi trovo malaccio, anche perché come ti dissi tempo addietro, il core di Saporetti è fermo a 2 anni fa.

Ok parto da quello che consigli.
La dichiarazione del clock avviene solo ed esclusivamente in boards o è sparsa anche nei vari files?