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

Jak ustawić fusebity w AT89S8253 w programie AT89ISP?

pabloWW 03 Wrz 2006 11:48 2523 8
REKLAMA
  • #1 2982209
    pabloWW
    Poziom 12  
    Posty: 106
    Pomógł: 4
    Ocena: 3
    Witam,

    Mam, prosbe do szanownych Forumowiczow. Czy ktos pomoze mi to przetlumaczyc na jezyk "chlopski"?? Procesor to AT89s8253, oto cytaty z karty katalogowej dla tego procka:
    ...
    Serial Programming Fuse: A programmable fuse is available to disable Serial Programming if the user needs maximum system security. The Serial Programming Fuse can be disabled via both the Parallel/Serial Programming Modes, but can only be enabled via the Parallel mode
    ....

    ...
    Fuse Definitions:
    Fuse1 (Serial Programming Fuse): This fuse enables/disables the serial programming mode (ISP).
    Fuse2 (x2 Mode Selection Fuse): This fuse enables/disables the internal x2 clock mode.
    Fuse3 (User Row Access Fuse): This fuse enables/disables writing to the programmable user row.
    Fuse4 (Clock Selection Fuse): This fuse selects between an external clock source and a quartz crystal as the clock input.
    ....

    Jak sie to ma do "Fusebitow" ktore ustawia sie w czasie programowania procka w programie AT89ISP programmer (sciagniety ze strony atmela, ze stronki o AT89s8253). Chodzi mi o gre słów np. ustaw dany bit w stan "1"- to znaczy wlacz SPI czy wylacz ????Mam swiadomosc ze dochodzenie do tego droga "eksperymentów" moze byc kosztowne, wiec prosze Was o rozwiazanie tego problemu.

    Pozdrawiam
  • REKLAMA
  • #2 2983209
    przemek20
    Poziom 21  
    Posty: 328
    Pomógł: 41
    Ocena: 25
    Masz to na 40 stronie pdfa. 0 to włączony fusebit 1 wyłączony. Np zeby wyłączyć programowanie szeregowe ustaw stosowny fuse bit na 1.
    Pozdrawiam.
  • REKLAMA
  • #3 2984566
    pabloWW
    Poziom 12  
    Posty: 106
    Pomógł: 4
    Ocena: 3
    Witam,
    Po odpaleniu na moim programatorze procka at89s8253 (nowy i wczesniej nie zapisywany) i zczytaniu Fusebitów otrzymuje :

    SerialPrgEn - 0 <-ISP wylaczone
    x2 ClockEn - 0 <- tryb x2 wylaczony
    UsrRowPrgEn - 0 <- nie mam mozliwosc zapisu "linijki" uzytkownika
    Crystal Clock En - 0 <- taktowanie kwarcem

    gdzie 0 - kratka pusta, 1 - kratka zaznaczona "ptaszkiem" (w programie ATMEL_ISP), nie wiem czy to programator dziala nie tak jak powinien, czy firmowo procek ma tak zapisane ustawienia????

    Jesli dobrze zrozumialem w czasie zapisu nowego programu do procka, zeby nie przyspozyc sobie problemow ustawiam (procek podlaczony pod kwarc 12 MHz, chce go programowac przez ISP, tryb pracy normalny (nie aktywuje trybu x2):

    SerialPrgEn - 1 <- wlaczam ISP
    x2 ClockEn - 0 <- tryb x2 nadal wylaczony
    UsrRowPrgEn - 0 <- nie mam nadal mozliwosci zapisu "linijki" uzytkownika
    Crystal Clock En - 0 <- taktowanie kwarcem nadal wlaczone

    dzie 0 - kratka pusta, 1 - kratka zaznaczona "ptaszkiem"
    Czy moge wlaczac i wylaczac bit "x2ClockEn" i "CrystalClock" dowolna ilosc razy??Z pdf wynika ze SerialPrgEn moge wylaczyc z trybu programowania rownoleglego jak i SPI, a wlaczyc jedynie z trybu rownoleglego (jednak po pierwszym odpaleniu procka bit ten mam ustawiony na 1->w programie ATMEL_ISP brak "ptaszka" ->wylaczone ISP). O 3 pozostalych bitach nie znalazlem info....

    Prosze o poprawienie jesli cos sie nie zgadza .
    Pozdrawiam
  • REKLAMA
  • #4 2985475
    przemek20
    Poziom 21  
    Posty: 328
    Pomógł: 41
    Ocena: 25
    A spojrzałeś na 40 strone? wydaje mi sie ze nie. Jest na odwrót niż napisałeś jesli chodzi o 0 i 1 tzn fuse1=0 to spi enable inaczej bys sie z nim nie polaczyl. Zajrzyj do pdfa. A co oznaczają jakiś ptaszki w twoim programatorze to juz sam musisz dojść:) ale chyba brak ptaszka to 0 a ptaszek to 1:).
    Pozdrawiam
  • REKLAMA
  • #5 2985592
    pabloWW
    Poziom 12  
    Posty: 106
    Pomógł: 4
    Ocena: 3
    Witam

    Sory za to zamieszanie , nawet wydrukowalem sobie strone 40 :D i ja "studiuje" .... . Wszystko sie zgazda co poprzednio napisales. Z tymze wlasnie problem jest z programem ATMELA. Gdy zczytuje z procka fusebity (nowego) mam ODZNACZONA pozycje SerialPrgEn - co oznacza ze NIE MAM uaktywnonej tej funkcji, ..... zalacze zdjecie moze ..

    Jak ustawić fusebity w AT89S8253 w programie AT89ISP?

    Jeslie klikne ptaszka przy tej opcji nic sie nie dzieje, jesli bede chcial odznaczyc te opcje ponownie pojawia sie napis .. :

    Jak ustawić fusebity w AT89S8253 w programie AT89ISP?

    Widac z tego ze 0 w danym bicie to jest "zaznaczenie" w programie ISP. To oznacza ze nowy procesor nie ma uatkywnionej opcji ISP, trzeba ja aktywowac "ptaszkiem":)???
    Patrzylem jescze na rysunki na stronie 41 odnosnie Fuse4. Z nich wynika ze bit Fuse4=0 gdy opcja XTL Osc Bypass "zaznaczona" (On) i ze Fuse5=1 gdy opcja XTL Osc Bypass "odznaczona" (Off), czyli procesor (nowy) fabrycznie ustawiony jest na kwarc.

    Dzieki za cierpliwosc w zabawie z "ptaszkami" :D.
  • Pomocny post
    #6 2985609
    przemek20
    Poziom 21  
    Posty: 328
    Pomógł: 41
    Ocena: 25
    Ciekawa sprawa bo gdybyś miał wyłączone spi to byś sie z nim wogle nie połączył. hmmm. Moze sprobuj innego programatora? Polecam ISP Programmer Adama Dybkowskiego.
    http://www.amwaw.edu.pl/~adybkows/elka/ispprog.html
    Pozdrawiam.
  • #7 2986799
    pabloWW
    Poziom 12  
    Posty: 106
    Pomógł: 4
    Ocena: 3
    Hm.... dzieki za pomoc, moze jakies dodatkowe sugestie ???program napisany , procek kupiony tylko "boje" sie go odpalic bo juz jednego zblokowalem :(.... pomozcie.
    Nie wierze ze oryginalne oprogramowanie Atmelowskie jest skopane, moze cos przeoczylem lub zle zinterpretowalem.
  • #8 2987232
    przemek20
    Poziom 21  
    Posty: 328
    Pomógł: 41
    Ocena: 25
    CZego sie boisz, napieraj, zostaw odklikniete co ma byc odklikniete (1) i zakliknij(0) jak ma byc i już. Tu nie ma na co czekać.
    Jak ty mozesz pisac program (nie tylko ty ) nie wgrywajac go do procesora w miedzyczasie ze 30 razy?? Ja tak nie umiem...
  • #9 3004534
    pabloWW
    Poziom 12  
    Posty: 106
    Pomógł: 4
    Ocena: 3
    Witam,

    Zaladowalem program w koncu do tego procka. Po sciagnieciu programu zostaje wyswietlona tabelka z fusebitami. W tym okienku zaznaczone sa juz opcje SerialPRGEn oraz UserRowPRGENable.Wiec nic nie zmienialem i poszlo:) Dzieki za pomoc - temat zamykam.

    Przemek20 - Od czego mamy symaulatory :) - wiadomo, w nich nie wszystko sie wylapie ale pozniej pozostaje "kosmetyka" na rzeczywistym procku (choc tez nie zawsze:D).
    Pozdrawiam

Podsumowanie tematu

✨ Dyskusja dotyczy ustawiania fusebitów w mikrokontrolerze AT89S8253 za pomocą programu Atmel AT89ISP. Fusebity kontrolują funkcje takie jak włączenie/wyłączenie programowania szeregowego (ISP), tryb zegara x2, dostęp do programowalnego obszaru użytkownika oraz wybór źródła taktowania (kwarc lub zewnętrzny zegar). W dokumentacji Atmela na stronie 40 PDF-a podano, że wartość 0 oznacza włączenie danej funkcji, a 1 jej wyłączenie. Jednak w programie Atmel ISP interfejs graficzny pokazuje odwrotną interpretację – zaznaczenie (ptaszek) oznacza bit ustawiony na 1, a brak zaznaczenia na 0. Nowy, fabrycznie nieprogramowany procesor ma domyślnie wyłączone programowanie szeregowe (SerialPrgEn = 0, czyli brak ptaszka w programie), co może powodować problemy z połączeniem ISP. Użytkownicy sugerują, że aby aktywować ISP, należy ustawić fusebit SerialPrgEn na 1 (zaznaczyć ptaszka w programie). Zaleca się ostrożność przy zmianie fusebitów, ale praktyka pokazuje, że wielokrotne programowanie i testowanie jest standardem. Wskazano również na możliwość problemów z oprogramowaniem Atmel ISP i rekomendowano alternatywne programatory, np. ISP Programmer Adama Dybkowskiego. Ostatecznie użytkownik potwierdził, że po załadowaniu programu fusebity SerialPRGEn i UserRowPRGENable były zaznaczone i programowanie przebiegło pomyślnie.
Wygenerowane przez model językowy.
REKLAMA