Galeria serwisu:
Widzisz łapkę - kliknij w obrazek, aby zobaczyć więcej.
Programatory UPDI HV.
Jak używać programatorów UPDI z impulsem HV (+12V)?
Programator UPDI HV - programator pracujący w trybie z impulsem wysokonapięciowym (+12V). To specjalistyczne narzędzie służące do programowania i „odwieszania” (odblokowywania) nowoczesnych mikrokontrolerów AVR z rodzin ATtiny (serii 0, 1, 2), megaAVR oraz AVR-Dx, które komunikują się za pomocą jednoprzewodowego interfejsu UPDI. Podstawowym zadaniem takiego programatora jest możliwość zaprogramowania mikrokontrolera UPDI niezależnie od ustawienia trybu pracy jego pinu UPDI. Daje nam możliwość "zajrzenia do wnętrza" mikrokontrolera w sytuacji, kiedy nastąpiła zmiana jego pinu UPDI do pełnienia innej funkcji (np. RESET). W takiej sytuacji zwykły, prosty programator traci możliwość obsługi mikrokontrolera.
Niektóre programatory UPDI - mają możliwość pracy w kilku trybach. Ich tryby pracy:
1.UPDI - podstawowy normalny tryb pracy pozwalający na pracę z wszystkimi mikrokontrolerami UPDI. Działa jak zwykły, niskonapięciowy programator. Używany, gdy pin UPDI nie został zmieniony do pełnienia innej funkcji (zablokowany).
2. HV - trub pracy z impulsem wysokonapięciowym (+12V) podawanym na pin programowania przed programowaniem. Generuje impuls 12V na starcie, aby tymczasowo przełączyć pin RESET w tryb UPDI (aż do resetu zasilania),
3. PCHV - (Power Cycle High Voltage) - automatycznie odłącza zasilanie układu (VCC), podaje impuls 12V na UPDI i ponownie włącza zasilanie. Najbardziej agresywny tryb niezbędny do odblokowania układów, gdzie pin działa jako zwykły port GPIO.
Jak używać powyższych trybów?
a). Dla podstawowego programowania używaj trybu pracy UPDI,
b). Jeżeli tryb UPDI odmawia wykonania polecenia lub wyświetla błąd, masz do dyspozycji pozostałe dwa tryby pracy (HV, PCHV).
ALE TU OSTRZEŻENIA:
1. Nie przełaczaj trybu pracy programatora na HV lub PCHV zbyt pochopnie, ponieważ nie wszystkie mikrokontrolery obsługują tryb HV i pozewalają na pracę z impulsaem wysokonapięciowym. (ATMEGA 0). Możesz bezpowrotnie uziemić mikrokontroler na zawsze.
2. Poza tym w mikrokontrolerach AVR-DX impuls wysokonapięciowy powinien być kierowany nie na pin UPDI ale na pin RESET. Mikrokontrolery te posiadają wydzielony pin RESET.
3. Trzeba koniecznie zapoznać się z możliwością pracy danego modelu mikrokontrolera z programatorem pracującym w trybie HV lub PCHV. Tryb pracy UPDI jest przeznaczony dla wszystkich mikrokontrolerów, natomiast tryby wysokonapięciowe tylko dla wybranych.
4. Podanie impulsu HV otwiera zablokowany dostęp do mikrokontrolera i ten dostęp masz do czasu restartu mikrokontrolera (odłaczenia zasilania lub resetu). Jeśli w trakcie tej sesji nic nie zmieniłeś, po restarcie, mikrokontroler startuje ponownie w stanie poprzednim. Czyli tryb wysokonapięciowy nie przywraca automatycznie pinu UPDI do stanu fabrycznego (UPDI). Musisz to zrobić samodzielnie zmieniając zapis w bezpiecznikach. Impuls wysokonapięciowy "otwiera tylko bramę" mikrokontrolera na czas danej sesji (do restartu). Możesz czytać, sprawdzać lub zmieniać rejestry i pamięć. Ale błednie ustawione FUSE bity lub rejestry nie poprawią się same.
5. W danej "sesji wysokonapięciowej" dostajesz dostęp i prawo do zmian o ile nie blokują ich LOCK bity.
6. Tryb wysokonapięciowy umożliwia zmiany i poprawki. Jak ich dokonasz i zapiszesz je, po restaecie możesz mieć już dostęp do mikrokontrolera dla prostego programatora lub innego pracującego w trybie UPDI.
7. Tryb wysokonapięciowy to klucz dostpowy do mikrokontrolera, ale użuwany nieprawidłowo może spowodować nieodwracalne szkody. Musisz wiedzieć, jak używać swojego mikrokontrolera, co można a czego nie.
Będziemy dodawać i pokazywać inne możliwości UPDI oraz opisywć ich użycie.