Programowanie mikroprocesorów ( mikrokontrolerów )

FuseBity

Fuse bity zwane też bitami konfiguracyjnymi służą do konfiguracji parametrów pracy mikrokontrolera między innymi takich jak źródło taktowania mikrokontrolera, prędkość taktowania procesora itd. Wartości Fusebitów programuje się za pomocą programatora oraz oprogramowania do wgrywania programu do mikrokontrolera. Większość programów do obsługi programatorów (również darmowch) posiada funkcję programowania fusebitów wraz z ich opisem. Poniżej przedstawione zostaną przykładowe fusebity dla rodziny procesorów Atmega 8. Zasada działania fusebitów jest jednakowa dla reszty procesorów zmieniać się może jedynie nomenklatura nazewnictwa oraz niektóre ich funkcje. Szczegółowe dane na temat poszczególnych fusebitów dla konkretnego mikrokontrolera należy sprawdzić w jego dokumentacji.

Opierając się na przykłądzie ATmega8 fusebity możemy ogólnie podzielić na dwa rodzaje:

  • LOCK BITS - Odpowiedzialne za blokowanie dostępu do programu wewnątrz mikroprocesora. Dzięki nim możemy zablokować możliwość zczytania naszego programu osobom trzecim.
  • FUSE BITS - bity konfiguracyjne określające pewne parametry pracy mikrokontrolera.

 Poniżej przedstawione zostały Fusebity Atmegi8 wraz z opisem.

BOOTRST (wartość domyślna 1) - Służy do określania funkcji sygnału Reset domyślnie po resecie program rusza od adresu zero (1) jednak jeśli chcemy wykorzystać program bootloadera wóczas musimy wystartować program od innego adresu znajdującego sie powyżej naszego programu bootloadera. Wówczas do zmiany wartości startowej ustawiamy ten fusebit na (0) i program startuje od adresu określonego przez dwa kolejne fusebity (BOOTZS1 i BOOTZS0).

BOOTZS1 i BOOTZS0 (wartość domślna 00) - Wartości określające wielkość sektora bootującego. Możemy za pomocą tych dwóch bitów wybrać jeden z 4 wielkości sektora botującego.

  • BOOTZS1 = 1 i BOOTZS0 = 1 dla przestrzeni bootloadera 128 bajtów
  • BOOTZS1 = 1 i BOOTZS0 = 0 dla przestrzeni bootloadera 256 bajtów
  • BOOTZS1 = 0 i BOOTZS0 = 1 dla przestrzeni bootloadera 512 bajtów
  • BOOTZS1 = 0 i BOOTZS0 = 0 dla przestrzeni bootloadera 1024 bajtów

BODEN (wartość domyślna 1) - 

BODLEVEL (wartość domyślna 1) - 

WDTON (wartość domyślna 1) - 

RSTDISBL (wartość domyślna 1) - 

EESAVE -

CKSEL3..0

CKOPT

SUT1 i SUT0

 

 

 

 

 

dddd

dddd

dddd

dddd

 





 
Wszelkie prawa zastrzeżone! Kopiowanie, powielanie i wykorzystywanie zdjęć, treści oraz jej fragmentów bez zgody autora zabronione.
© mikroprocesory.info.pl@gmail.com 2013.