Programowanie mikrokontrolerów
mikrokontrolery24.pl
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
22-gru-2024 20:32:11 CET
© mikroprocesory.info.pl@gmail.com 2013.