Przyśpieszenie Attiny

Attiny ma wbudowany wewnętrzny rezonator kwarcowy o prędkości ok. 8 MHz, który do prostych zastosowań jest w zupełności wystarczający. Jeśli jednak potrzebujemy czegoś szybszego, lub bardziej precyzyjnego, to prawdopodobnie okaże się, że to za mało. Poniżej znajduje się błyskawiczny kurs, jak podłączyć rezonator kwarcowy 16 MHz do Attiny2313.

Podłączenie takiego zewnętrznego kwarcu wydaje się proste. Po zerknięciu w notę katalogową szybko dojdziemy, że należy go podpiąć do pinów PA0 i PA1. (Kwarc nie ma + i – więc obojętnie jak go włożymy, podobnie jak kondensatory ceramiczne o których później). Problem powstaje przy próbie wybrania opcji szybkości na liście dostępnych płytek z Arduino IDE. Jeśli zaznaczymy Attiny2313@8MHz to nasz mikrokontroler nie wykorzysta zewnętrznego zegara, tylko nadal będzie taktowany swoim wewnętrznym. Sekret tkwi w tym, że musimy sami dodać nowy model płytki.

W tym celu przechodzimy do domyślnego katalogu, gdzie Arduino zapisuje nasze projekty, a następnie do katalogu hardware\tiny (u mnie to C:\Users\Marcin\Documents\Arduino\hardware\tiny ) Jeśli nie masz takiego katalogu, warto zajrzeć tutaj. Otwieramy plik boards.txt i wklejamy:

#######################################################################

attiny2313at16.name=ATtiny2313 @ ext. clock

#  (pick one)…
attiny2313at16.upload.using=arduino:arduinoisp
# attiny2313at16.upload.protocol=avrispv2
# attiny2313at16.upload.using=pololu

attiny2313at16.upload.maximum_size=2048

attiny2313at16.bootloader.low_fuses=0xff
attiny2313at16.bootloader.high_fuses=0xdf
attiny2313at16.bootloader.extended_fuses=0xFF

attiny2313at16.build.mcu=attiny2313
attiny2313at16.build.f_cpu=16000000L
attiny2313at16.build.core=tiny

###########################################################################

Na co trzeba zwrócić uwagę:

  • po wybraniu tej opcji płytki a przed wgraniem programu należy wybrać opcję „wypal bootloader” !
  • Jeśli będziemy chcieli zrezygnować z zewnętrznego kwarcu, to NAJPIERW zmieniamy ustawienia na płytkę z predefiniowanym kwarcem @1 lub @8, POTEM klikamy „wypal bootloader” a dopiero NA KOŃCU odłączamy kwarc z układu.
  • Jeśli chcecie używać kwarców o szybkościach innych niż 16 MHz, to pamiętajcie, żeby zmienić przedostatnie pole: „attiny2313at16.build.f_cpu=16000000L” i wpisać liczbę odpowiadającą szybkości podłączonego kwarcu (w Hz).
  • W zdecydowanej większości wypadków potrzebne będą jeszcze dwa kondensatory ceramiczne o pojemności 12-22 pF ( ja sprawiłem sobie 18 i działa) trzeba je podłączyć tak jak na rysunkach poniżej: