Szybkie linki:
 
Galeria serwisu:

Widzisz łapkę - kliknij w obrazek, aby zobaczyć więcej.

Mikrokontrolery UPDI.

Zablokowane mikrokontrolery UPDI i programatory HV UPDI

HV UPDI programator - HV UPDI (High-Voltage Unified Program and Debug Interface) to metoda stosowana do odblokowywania i przywracania dostępu do mikrokontrolerów Microchip (serii AVR, np. tinyAVR, megaAVR) w przypadku wyłączenia pinu RESET lub ustawienia zabezpieczeń (Lock Bits). Polega na aplikowaniu impulsu napięciowego (zazwyczaj 12V) na pin RESET w celu wymuszenia trybu programowania.
Impuls 12V jest ratunkiem dla mikrokontrolera UPDI, ale może też być jego śmiertelnym zagrożeniem.

UWAGA: Nieodpowiednie użycie trybu HV (z impulsem 12V) może nieodwracalnie zniszczyć mikrokontroler.


Zastosowanie programatorów HV UPDI - Podczas stosowania HV UPDI należy uważać, aby nie uszkodzić mikrokontrolera. Zaleca się odłączenie dodatkowych elementów od pinu UPDI, które mogą zakłócać procedurę lub ulec uszkodzeniu (np. kondensatory).

Środki ostrożności, aby nie uszkodzić mikrokontrolera - Przywracanie dostępu: HV UPDI umożliwia ponowne zaprogramowanie mikrokontrolera (np. po błędnym ustawieniu fusebitów), umożliwiając "wyczyszczenie" układu.Impuls 12V podawany na pin RESET dozwolony tylko w niektórych mikrokontrolerach, pozwala odblokować sprzęt, przywrócić dostęp do mikrokontrolera. Niedostępny mikrokontroler i błedy podczas programowania, często są powodem zmiany przeznaczenia pinu UPDI. Pin RESET i UPDI występują w mikrokontrolerach z interfejsem UPDI jako jeden wspólny, mogący pełnić obie te funkcje pin, lub jako dwa oddzielne piny układu scalonego. I tu jest pułapka, wymagająca ostrożności podczas programowania w trybach HV programatora z zastosowaniem impulsu 12V.
Nie wszystkie, nowe wersje mikrokontrolerów UPDI mają pin RESET/UPDI odporny na podwyższone napięcie, pozwalajacy na użucie impulsu 12V do odzyskania dostępu do mikrokontrolera.

Kiedy stosuje się HV UPDI? - głównym powodem użycia HV UPDI jest chęć odzyskania dostępu do mikrokontrolera („unbricking”), gdy pin UPDI został skonfigurowany w jeden z poniższych sposobów za pomocą bitów konfiguracyjnych (fuses): Tryb GPIO: Pin UPDI działa jako zwykłe wejście/wyjście ogólnego przeznaczenia. Tryb RESET: Pin UPDI działa jako standardowy pin resetu zewnętrznego. W obu tych przypadkach standardowy programator UPDI (pracujący na napięciu logicznym) nie może zainicjować komunikacji, ponieważ interfejs UPDI jest nieaktywny.

Klasyfikacja mikrokontrolerów Microchip (AVR) pod kątem użycia trybu HV UPDI (12V). - zależy od tego, czy pin UPDI jest dedykowany, czy współdzielony z innymi funkcjami.
Rodzina AVRPrzykład układuFabryczny typ pinu UPDIKiedy potrzebne 12V?Pin dla impulsu HV
tinyAVR 0/1/2ATTINY816WspółdzielonyGdy pin współdzielony ustawiony na RESET lub GPIOUPDI/RESET
megaAVR 0ATMEGA4809DedykowanyNigdy (UPDI zawsze aktywne)Niedostępny
AVR DA / DBAVR32DB28DedykowanyNigdy (UPDI zawsze aktywne)Niedostępny
AVR DD / EAAVR64DD32KonfigurowalnyGdy UPDI zmieniono na GPIORESET
AVR DUAVR64DU32GPIO (z pull-up)Aktywacja interfejsu UPDI / Odblokowanie (Unbrick)RESET

Podsumowanie: Jak wynika z powyższej tabeli, na chwilę obecną, dla serii megaAVR 0 i AVR DA / DB nie można stosować trybu HV (impuls 12V). Grozi zniszczeniem układu. W pozostałych w/w seriach można go użyć do odzyskania dostępu do mikrokontrolera. Zawsze sprawdzaj przed użuciem trybu HV, czy używany mikrokontroler pozwala na ten tryb.
Programatory HV UPDI powinny zawierać również zwykły tryb programowania UPDI, (bez impulsu 12V). Możesz wybrać potrzebny tryb pracy.
W związku z nowymi warunkami stosowania trybu HV w najnowszych mikrokontrolerach UPDI AVR DX, zauważalna staje się potrzeba rozdzielenia pinu wyjściowego programatoraUPDI na dwa oddzielne piny wyjściowe UPDi i RESET. Podłączane z zależności od potrzeby i typu mikrokontrolera.

Warto zapoznać się z możliwościami i zasadami stosowania nowych mikrokontrolerów i odepowiedzieć sobie na pytanie, czy warto je stosować w naszych projektach.




Licznik serwisu: 8186 , Aktualnie: 2 , Admin kontakt: admin@progel.pl