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

PonyProg 2000: Jak ustawić bity fuse dla ATmega32 na zewnętrzny kwarc?

Mystik 28 Cze 2004 17:06 3901 11
REKLAMA
  • #1 715967
    Mystik
    Poziom 11  
    Posty: 88
    Ocena: 5
    Witam

    Poczytalem sobie wszystko pieknie ladnie o tym programatorze (zreszta wielokrotnie go uzywalem). Ale przyszla chwila po zakupie ATmegi32 na zaprogramowanie bitow fuse.
    I powiem szczerze mam stracha. Z plytka testowa dostalem juz uruchomiona ATmege na zewnetrznym kwarcu i Pony odczytuje bity rezonatora jako: 0101 (1 - oznacza ptaszek). A na zakupionej w sklepie ATmega32 : 1110. Po siegnieciu do opaslego manuala stwierdzilem, ze pierwsza kombinacja 0101 odpowiada raczej External RC oscilator (a w koncu dziala na zewnetrznym kwarcu), a druga (1110) odpowiada wlasnie kwarcowi zewnetrznemu. Po negacji uzyskanych wynikow wszystko wrocilo do normy. Tzn. zakupiona i uruchomiona ATmega ma 1010 - czyli kwarc zewnetrzny, a zakupiona w sklepie ma 0001 - calibrated internal RC oscilator. Czyli wszystko tak jak tu mowiono. Pony neguje bity fusy.
    I teraz mam pytania.
    1. Czy Pony neguje takze jak je wysyla tzn. ustawiam 1010 czy 0101 zeby chodzilo na zewnetrznym ?
    2. Czy Pony neguje wszystkie, czy tylko bity od rezonatora.

    Mam wersje PonyProg 2000 2.06c Beta.

    Mam nadzieje, ze nikogo nie zdenerwuje moim postem, ale chce sie upewnic.

    pozdrawiam
    Mystik
  • REKLAMA
  • #2 716208
    Mystik
    Poziom 11  
    Posty: 88
    Ocena: 5
    Dopowiem tylko, ze po uruchomieniu ISP Programmera wyglada, ze PonyProg przy odczycie neguje wszystkie bity Fuse, natomiast poprawnie pokazuje bity Lock.
    Pytanie tylko co wysyla do procka.
    Najwyzej uzyje tego ISP - tylko nie lubie miec 30 programow, zeby kazdym robic jakis kawalek czegos.

    pozdrawiam
    MYSTIK
  • REKLAMA
  • #3 717738
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Napewno to co Ponu odczyta to samo zaprogramuje. Nie wprowadza żadnej negacji.
  • #4 717784
    Mystik
    Poziom 11  
    Posty: 88
    Ocena: 5
    GienekS napisał:
    Napewno to co Ponu odczyta to samo zaprogramuje. Nie wprowadza żadnej negacji.


    No wlasnie niby, ze niekoniecznie. Ktos tu juz pisal, ze odczytanie bitow busy i zaraz ich zapisanie powoduje zablokowanie procesora.
    Programujesz bity fusy za pomoca Pony ??
    Jezeli tak, to jaka kombinacje podajesz dla kwarcu zewnetrznego ATmegi ??

    pozdrawiam
    MYSTIK
  • #5 718087
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Do AVR-rów wyłącznie urzywam PonyProg 2000. Jeszcze się mi nie zdażyło żeby zostało zaprogramowane co inne a niżeli chciałem. Zaraz dołącze skana z fuzami dla nowego ATmega16. Dla kwarcu 7,3..MHz CKSEL0, CKSEL1, CKSEL2 i CKSEL3 = 1
    Załączniki:
    • fuse32.zip (6.9 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #6 718927
    Pandor
    Poziom 14  
    Posty: 74
    Pomógł: 6
    Ocena: 8
    Jeśli masz już fusy ustawione to nie ma co zawracać sobie nimi głowy (o ile po zaprogramowaniu wszystko działa :)). Bity konfiguracyjne programuje się osobno, a podczas normalnego programowania ta część procka nie jest ruszana.
    W dolnej części okienka Configuration and security bits jest wyjaśnione, że ptaszek oznacza '0' natomiast brak ptaszka to '1'. Co do zanegowanych bitów to chodzi o to, że bit zaprogramowany jest '0', ale tu trzeba odnieść się do noty katalogowej procka bo to może się zmieniać (AVR zmienne jest).

    PS: mam nadzieję, że niczego tutaj nie pomieszałem ;)
  • REKLAMA
  • #7 719709
    Mystik
    Poziom 11  
    Posty: 88
    Ocena: 5
    Pandor napisał:


    PS: mam nadzieję, że niczego tutaj nie pomieszałem ;)


    Oj strasznie :).

    Ale powaznie. Skan tylko potwierdzil moje obawy. Pod tym wzgledem Pony jest porabany :).
    Ale dziekuje. Mam nadzieje, ze sobie poradze przy pomocy jeszcze innego programu.

    Ja wiem, ze fusy sa programowane osobno, a caly problem wynika z zakupu Atmegi w sklepie, ktora jest domyslnie ustawiana na prace z rezonatorem wewnetrznym.

    pozdrawiam
    MYSTIK
  • #8 719871
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Ja kupowałem ich już kilkanaści sztuk i wszystkie są tak samo ustawione fabryczni na wewnętrzy oscylator 1MHz ale po przeprogramowaniu fuzuf wszystko leci OK!
  • #9 770918
    Rosa
    Poziom 12  
    Posty: 31
    Ocena: 5
    GenekS
    napisz czy w Twoim procku działa szyna I2C i RTC ,bo próbowałem różnych sposobów i nie mogę ruszyć ATmega8535.
    Piszę w Baskomie i z AT90 nie miałem kłopotu
    PhonyProg
    Po zanaczeniu wszystkich bitów CKSEL procesor jest niewidoczny dla programatora ,czyli zaprogramowany na zewnętrzy oscyl.
    [/i][/b]
  • #10 770956
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Rosa napisał:
    Po zanaczeniu wszystkich bitów CKSEL procesor jest niewidoczny dla programatora ,czyli zaprogramowany na zewnętrzy oscyl.

    Mieszasz pojęcia. Ustawienie procka na generator wewnętrzy wcale nie powoduje odcięcia go od programatora ISP. A wręcz odwrotnie robi go niezależnym od generatora zewnętrznego. Może robisz błąd przy programowaniu fusy. Przed zmianą jakiego kolwiek fusa nalezy njpierw odczytać ich stan a potem zmieniać tylko te o ktore ci chodzi, a potem zapisać. Ja tak robię i jeszcze nigdy nie miałem żadnej niespodzianki.
    Co do magistrali I2C to używam na ATmega16 i 32 z pamięcią AT24c64 i działa bez problemowo programowanie i odczyt tego EEPROM-a
  • #11 772053
    Rosa
    Poziom 12  
    Posty: 31
    Ocena: 5
    Dzięki za odpowieź .Mam zamówioną Atmegę 32 ,więc sprawdzę I2c,ale nie mogłem wytrzymać nerwowo czy kolejny procek bedzie nieużuteczny
    Jeśli chodzi o bity FUSY to można przełączyć na zew. osylator ,a wtedy podobno STK 200 i Phony nie widzą układu.
  • #12 772124
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Nie wiem jak z STK 200 ale z Pony Prog jeżeli masz FUSY ustawione na zewnętrzy generator a kwarc jest podłączony to jest wszystko OK! Jak nie będzie kwarcu podłączonego pod procesor to napewno procesor nie będzie pracował.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy programowania bitów fuse w mikrokontrolerze ATmega32 za pomocą programu PonyProg 2000, szczególnie w kontekście ustawienia zewnętrznego kwarcu. Użytkownicy zauważyli, że PonyProg odczytuje bity fuse z negacją (bit zaprogramowany jako '0' jest wyświetlany jako ptaszek), co może powodować niejasności przy interpretacji ustawień. Pomimo tego, program poprawnie zapisuje te same wartości, które odczytuje, bez dodatkowej negacji podczas zapisu. Fabrycznie zakupione ATmega32 mają ustawiony wewnętrzny oscylator 1 MHz, co jest normalne i wymaga zmiany bitów fuse na zewnętrzny kwarc, jeśli taki jest używany. Zaleca się najpierw odczytać aktualny stan bitów fuse, a następnie zmieniać tylko potrzebne bity, aby uniknąć problemów z programowaniem. Przy ustawieniu fuse na zewnętrzny oscylator i podłączonym kwarcu procesor działa poprawnie i jest widoczny dla programatora PonyProg. Wspomniano również, że programowanie bitów fuse odbywa się osobno od programowania pamięci, a bity lock są wyświetlane bez negacji. Dodatkowo poruszono kwestie kompatybilności i działania magistrali I2C na mikrokontrolerach AVR, w tym ATmega16 i ATmega32, z pamięciami EEPROM AT24c64.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA