Galeria serwisu:
Widzisz łapkę - kliknij w obrazek, aby zobaczyć więcej.
Fusebity mikrokontrolerów UPDI.
Fusebity mikrokontrolerów UPDI - ATTINY 816
Grupy fusebitów mikrokontrolerów UPDI - ustawienia bezpieczników tego typów mikrokontrolerów zostały rozdzielone i pogrupowane w kilka grup. Czas na opis fuse nowych mikrokontrolerów. Zaczynamy od popularnego Attiny816. Opis, jak wyglądaja grupy fuse tego układu UPDI?
Mikrokontroler ATtiny816 należy do nowoczesnej rodziny tinyAVR-1 (seria 1). W układach z interfejsem UPDI konfiguracja fusebitów wygląda zupełnie inaczej niż w starych układach typu ATtiny13 czy ATmega328P. Fusebity nie są już osobnymi rejestrami LOW, HIGH i EXTENDED. Znajdują się one w przestrzeni adresowej pamięci EEPROM (sekcja FUSES). Każdy fusebit ma teraz swój własny, czytelny adres i nazwę.
Poniżej znajdziesz pełny opis najważniejszych fusebitów dla ATtiny816, również podobnych (ATTiny 416, ATTiny 1616).
FUSE ATTINY 816 - ustawienia bezpieczników mikrokontrolera:
Fabryczne (domyślne), kolejno grupy FUSE0 - FUSE8: 00, 00, 02, FF, 00, C9, 07, 00, 00.
Numer | Nazwa | Wartość | Opis |
| Fuse0 | WDTCFG | 0x00 | Konfiguracja timera nadzorującego Watchdog. Tryb okienkowy (WINDOW), jak i główny czas działania (PERIOD) są całkowicie wyłączone (OFF), nie zresetuje mikrokontrolera. |
| Fuse1 | BODCFG | 0x00 | Wykrywanie niebezpiecznych spadków napięcia zasilania. Tu jest całkowicie wyłączony (DISABLED), zarówno podczas pracy, jak i w trybach uśpienia. |
| Fuse2 | OSCCFG | 0x02 | Ustawione na wewnętrzne źródło zegara. Wybrana jest częstotliwość 20 MHz (opcja 20MHZ).Alternatywą byłoby 0x01 dla 16 MHz. |
| Fuse3 | REZERWA | 0xFF | Ten bajt nie ma przypisanej żadnej funkcji w ATtiny816. Domyślnie i zawsze odczytuje się jako 0xFF |
| Fuse4 | TCD0CFG | 0x00 | Konfiguracja zaawansowanego licznika Timer D (Timer Counter D), dedykowanego m.in. do sterowania zasilaczami impulsowymi lub silnikami. Co oznacza 0x00: Wszystkie opcje mapowania pinów generatora i synchronizacji są wyłączone lub ustawione na wartości domyślne. Brak wymuszonej synchronizacji zewnętrznej. |
| Fuse5 | SYSCFG0 | 0xC9 | To najważniejszy bajt w całym mikrokontrolerze. Odpowiada za konfigurację systemu, w tym za to, czym jest pin programowania. Co oznacza 0xC9 (binarnie 11001001):RSTPINCFG ma wartość 0x3 – pin PA0 działa jako czysty interfejs UPDI.CRCSRC ma wartość 0x0 – automatyczne sprawdzanie sumy kontrolnej pamięci Flash podczas startu jest wyłączone. Można bez problemu programować zwykłym programatorem UPDI. |
| Fuse6 | SYSCFG1 | 0x07 | Ten bajt ustala czas startu mikrokontrolera (SUT – Start-Up Time). Co oznacza 0x07: Czas oczekiwania po włączeniu zasilania wynosi 64 milisekundy. Po podaniu zasilania procesor "czeka" 64 ms na ustabilizowanie się napięcia. |
| Fuse7 | APPEND | 0x00 | Ten bajt określa rozmiar i koniec sekcji Bootloadera w pamięci Flash. Co oznacza 0x00: Koniec sekcji chronionej (Application Code Section End) jest ustawiony na adres 0.Efekt: Cała pamięć Flash jest traktowana jako jedna, jednolita przestrzeń dla zwykłego programu użytkownika. Brak specjalnych blokad zapisu/odczytu sekcji. |
| Fuse8 | BOOTEND | 0x00 | Ten bajt służy do zarządzania podziałem pamięci Flash na sekcje dla kodu aplikacji.. Co oznacza 0x00: Rozmiar sekcji Boot (Boot Section End) wynosi 0.Efekt: Sekcja Bootloadera jest wyłączona. Cała pamięć Flash jest wolna i dostępna dla Twojej aplikacji od pierwszego adresu. |
Część z tych ustawień jest modyfikowana podczas konfiguracji i wgrywania projektów. Powinna być dostosowana dla aktualnych potrzeb i wymagań projektu.
Jakie fuse ustawić dla mojego projektu Eclipse? - opis podejrzenia jakie fusebity przewidział Eclipse.
Będziemy przedstawiać, opisywać kolejne fusebity mikrokontrolerów. Postaramy się przybliżyć użytkownikom fusebity mikrokontrolerów UPDI. W sposób prosty i przystępny dla każdego.