Pages: [1] 2 3 ... 5   Go Down
Author Topic: ATtiny85 a 16mhz con High Frequency PLL Clock  (Read 4376 times)
0 Members and 1 Guest are viewing this topic.
Milan
Offline Offline
Edison Member
*
Karma: 2
Posts: 1128
gioblu.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Community robotica / programmazione Arduino
www.gioblu.com

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 527
Posts: 12347
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

Milan
Offline Offline
Edison Member
*
Karma: 2
Posts: 1128
gioblu.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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".
Logged

Community robotica / programmazione Arduino
www.gioblu.com

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 527
Posts: 12347
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

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

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10454
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

programmare un ATtiny85 a 166Mhz

se ce la fai ti bacio  smiley-razz
Logged

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

Milan
Offline Offline
Edison Member
*
Karma: 2
Posts: 1128
gioblu.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: September 28, 2011, 03:17:01 pm by gbm » Logged

Community robotica / programmazione Arduino
www.gioblu.com

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 527
Posts: 12347
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

programmare un ATtiny85 a 166Mhz

se ce la fai ti bacio  smiley-razz
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 smiley-razz  smiley-yell
Logged

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

Milan
Offline Offline
Edison Member
*
Karma: 2
Posts: 1128
gioblu.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Community robotica / programmazione Arduino
www.gioblu.com

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Credo di esserci riuscito  smiley-razz
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 527
Posts: 12347
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-sad
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? smiley
Logged

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mettere il Tiny85 a 16 MHz usando solo il suo oscillatore interno  smiley-twist
Ora ho il blink compilato per 8 MHz che viaggia il doppio  smiley-lol
Logged


Milan
Offline Offline
Edison Member
*
Karma: 2
Posts: 1128
gioblu.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ce l'hai fatta?  smiley-mr-green grande.
Caxxo mi era sfuggito, pensavo servisse il tiny isp
« Last Edit: September 28, 2011, 03:59:28 pm by gbm » Logged

Community robotica / programmazione Arduino
www.gioblu.com

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Milan
Offline Offline
Edison Member
*
Karma: 2
Posts: 1128
gioblu.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Community robotica / programmazione Arduino
www.gioblu.com

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
./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à.
Logged


Pages: [1] 2 3 ... 5   Go Up
Jump to: