logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Ustawienia fuse-bitów w mikrokontrolerach Tiny 0-series z interfejsem UPDI

robiw 11 Lis 2023 22:41 366 11
REKLAMA
  • #1 20810475
    robiw
    Poziom 26  
    Witajcie.
    Nie mogę znaleźć żadnego dokumentu opisującego ustawienia fuse-bitów nowych mikrokontrolerów serii Tiny 0-series z interfejsem UPDI. Potrzebuję wykorzystywać port RESET/UPDI, jako normalny port I/O i nie wiem, gdzie szukać tychże fuse-bitów. W datasheet od Tiny1604 ani w datasheet od 0-series nie znalazłem tego. Macie doświadczenie w tym temacie? R
  • REKLAMA
  • #2 20810493
    excray
    Poziom 41  
    Jaki uC? Przykładowo Attiny212:
    Ustawienia fuse-bitów w mikrokontrolerach Tiny 0-series z interfejsem UPDI
    Jeżeli używasz Microchip Studio to od razu masz w oprogramowaniu wszystko opisane. UPDI może pracować jako wejście (z pewnymi ograniczeniami) bez zmiany funkcji.
  • REKLAMA
  • #3 20810515
    robiw
    Poziom 26  
    Hej,
    Już znalazłem w DS dla Tiny1604 (bo jego używam): sekcja Memories -> System Configuration 0. Widzę, że jest podobnie, jak w starych, po ustawieniu, jako I/O tylko HV. Ale akurat potrzebuję, jako I/O tyle, że wyłącznie wejście - gdzie znalazłeś to info o tym, że bez zmiany Fuse może pracować, jako wejście tylko ma ograniczenia? R
  • REKLAMA
  • #4 20810525
    excray
    Poziom 41  
    Mozna mu włączyć podciąganie i czytaj jego stan, można zrobić wejście analogowe, niestety problem jest z ustawieniem go jako źródło przerwania wybudzającego.
  • #5 20810528
    robiw
    Poziom 26  
    excray napisał:
    Mozna mu włączyć podciąganie i czytaj jego stan

    To mi wystarczy...ale gdzie jest to opisane? R
  • #6 20813303
    rolnik666
    Poziom 11  
    To nie tak, że może pracować jako wejście jedynie, ale jako wyjście jest po prostu bardzo słaby w stosunku do innych GPIO. Popatrz do datasheetu, sekcja 31.10 I/O Pin Characteristics.
  • #7 20815281
    excray
    Poziom 41  
    excray napisał:
    UPDI może pracować jako wejście (z pewnymi ograniczeniami) bez zmiany funkcji.

    Może rozwinę temat. Bez zmiany funkcji pinu (pozostawiamy go w fusach jako UPDI) w dalszym ciągu możemy używać go w programie jako wejście z ograniczeniami o których pisałem - sprawdzone doświadczalnie, nie ma tego raczej w nocie.
  • #8 20815595
    rolnik666
    Poziom 11  
    Przypomina mi to stare tricki z używaniem pinu RESET w tiny25/45/85 jako wejścia za pomocą ADC, tylko trzeba było pilnować napięcia stanu niskiego, żeby nie był na tyle niski, aby wyresetować procesor.

    Dokumentacja nie do końca nic na ten temat nie mówi, bo jeśli pin jest w trybie UPDI, to ten rozdział ma zastosowanie:
    https://ww1.microchip.com/downloads/aemDocume...4-06-07-DataSheet-DS40002312A.pdf#unique_1142
    i moim zdaniem to jest trochę "stąpanie po cienkim lodzie" - polegasz na "If the timing is violated, the UPDI is disabled to avoid unintentional enabling of the UPDI."
  • #9 20826344
    robiw
    Poziom 26  
    rolnik666 napisał:
    i moim zdaniem to jest trochę "stąpanie po cienkim lodzie"

    Nie do końca, przecież UPDI nie jest blokowane "na zawsze" tylko do wyłączenia i włączenia zasilania, jak rozumiem. To nie pozbawia mikrokontroler możliwości programowania... R

    Dodano po 44 [sekundy]:

    excray napisał:
    nie ma tego raczej w nocie

    To byłoby słabe...
  • #10 20826545
    rolnik666
    Poziom 11  
    Zgadza się, miałem na myśli raczej poleganie na tym, że UPDI się odłączy - chyba, że jesteś w stanie zagwarantować, że na tym pinie nie pojawi się nic, co by mogło przypominać transakcję UPDI.
  • #11 20826604
    robiw
    Poziom 26  
    rolnik666 napisał:
    chyba, że jesteś w stanie zagwarantować, że na tym pinie nie pojawi się nic, co by mogło przypominać transakcję UPDI

    Tam jest niezbędny bajt synchronizacji, jeśli dobrze pamiętam 0x55 i do spełnienia inne warunki. Raczej trudno będzie przypadkowo go zainicjować, co nie znaczy, że niemożliwe...
  • REKLAMA
  • #12 20826805
    rolnik666
    Poziom 11  
    A do tego musisz uwzględnić możliwość odłączenia tego czegoś co podłączasz do pinu UPDI na czas programowania, nawet zbyt mocny pullup będzie bruździł, zależy od programatora ale te od Microchipa są dość kapryśne i bez takich patentów.

Podsumowanie tematu

Użytkownicy dyskutują na temat ustawień fuse-bitów w mikrokontrolerach Tiny 0-series z interfejsem UPDI, szczególnie w kontekście używania portu RESET/UPDI jako normalnego portu I/O. Wskazano, że w dokumentacji dla Tiny1604 można znaleźć odpowiednie informacje w sekcji dotyczącej konfiguracji systemu. Użytkownicy zauważają, że pin UPDI może działać jako wejście z ograniczeniami, ale nie jako wyjście o pełnej funkcjonalności. Istnieją również obawy dotyczące programowania mikrokontrolera, gdy pin jest używany w trybie UPDI, co wymaga ostrożności, aby nie zakłócić transakcji programowania. Wskazano na potrzebę odłączenia zewnętrznych komponentów podczas programowania, aby uniknąć problemów z programatorem.
Podsumowanie wygenerowane przez model językowy.
REKLAMA