Go Down

Topic: ATtiny85 a 16mhz con High Frequency PLL Clock (Read 5495 times) previous topic - next topic

gbm

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
Community robotica / programmazione Arduino
www.gioblu.com

Michele Menniti

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.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

gbm

Ciao Menniti. Stavo descrivendo come utilizzare il High frequency PPL clock interno al micro per andare a 16  :smiley-mr-green:, in internet inglese sembra una realtà accettata tra i nerd. Ne avevamo parlato tempo fa con Astrobeed ma la cosa era rimasta "da chiarire".
Community robotica / programmazione Arduino
www.gioblu.com

Michele Menniti

Pardon, hai ragione, ho letto 16MHz e mi sono tuffato a capofitto, senza calcolare gli scogli... :smiley-eek-blue:
Come non detto, su questo argomento sono chiavica :smiley-red:
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

lesto

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

gbm

#5
Sep 28, 2011, 09:56 pm Last Edit: Sep 28, 2011, 10:17 pm by gbm Reason: 1
hahaa sono pirla, mi è partito un 6. Cmq il passo dopo il PPL è l'overclock e non mi fermo finchè non piglia fuoco, promesso  :smiley-mr-green:
Community robotica / programmazione Arduino
www.gioblu.com

Michele Menniti



programmare un ATtiny85 a 166Mhz


se ce la fai ti bacio  :P


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

Cioè, farai di tutto per vincere il bacio di lesto? Confermo, sei un p :P  :smiley-yell:
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

gbm

ok facciamo cosi' se arrivo a 166mhz lesto da un bacio a menniti  :smiley-mr-green: 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
Community robotica / programmazione Arduino
www.gioblu.com

leo72


Michele Menniti


ok facciamo cosi' se arrivo a 166mhz lesto da un bacio a menniti  :smiley-mr-green: 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 :(
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  :smiley-mr-green:

@ Leo: 166MHz o programmazione ISP? :)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72

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

gbm

#11
Sep 28, 2011, 10:57 pm Last Edit: Sep 28, 2011, 10:59 pm by gbm Reason: 1
ce l'hai fatta?  :smiley-mr-green: grande.
Caxxo mi era sfuggito, pensavo servisse il tiny isp
Community robotica / programmazione Arduino
www.gioblu.com

leo72

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.

gbm

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  :smiley-mr-green: o se il pwm funziona.
Community robotica / programmazione Arduino
www.gioblu.com

leo72

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:

Code: [Select]
./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à.

Go Up