Jak przyspieszyć Attiny 2313

Przyspieszenie Attiny 2313 za pomocą zewnętrznego rezonatora kwarcowego

Wstęp

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ę: