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

[Atmega16L] Atmega16L i AVRdude - problem z sygnaturą przy zasilaniu 3.3V?

mopsiok 21 Sie 2012 18:52 2016 5
REKLAMA
  • #1 11231156
    mopsiok
    Poziom 14  
    Witam

    Już trochę czasu działam z mikrokontrolerem Atmega16. Ostatnio postanowiłem zrobić sobie nową płytkę testową, ale tym razem dla Atmega16L przystosowaną do zasilania 3.3V (planuję w najbliższym czasie zacząć zabawę z kartami SD a nie chcę używać niepotrzebnych konwerterów napięć). Płytka bardzo podobna do jej 5V-owego odpowiednika: zewnętrzny kwarc, po kondensatorze 22n przy każdej jego nóżce, rezystor 4k7 między reset a 5V i jakiś kondensator filtrujący zasilanie.
    Dysponuję Atmegami w obudowie TQFP44, więc ewentualne rozlutowywanie jest bardzo utrudnione (nie mam lutownicy na gorące powietrze). Z tego powodu postanowiłem lutować do płytki tylko pierwsze 8 nóżek (6 do programowania i 2 do kwarcu). Poniżej zdjęcia jak to wygląda:
    [Atmega16L] Atmega16L i AVRdude - problem z sygnaturą przy zasilaniu 3.3V? [Atmega16L] Atmega16L i AVRdude - problem z sygnaturą przy zasilaniu 3.3V?
    Procki są prezentem od kolegi, część jest nowa a część z demontażu, także nie wiem jak są ustawione fusebity. I właśnie tutaj zaczął się cały problem. Otóż podpinając płytkę przez USBasp do komputera nie jestem w stanie odczytać fusebitów (przez AVRdude). Na wszelki wypadek robię to przy zmniejszonym taktowaniu programatora. Ale przejdźmy do sedna. Po wklepaniu komendy: avrdude -p m16 -c usbasp wyświetla mi się strasznie dziwny komunikat...
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.03s
    
    avrdude: Device signature = 0x000103
    avrdude: Expected signature for ATMEGA16 is 1E 94 03
             Double check chip, or use -F to override this check.
    
    avrdude done.  Thank you.

    Szukałem po Internecie, ale znajdowałem tylko przypadki gdy sygnatura była zerowa. A u mnie nie dość że taka nie jest, to jeszcze się zmienia! Zaliczyłem już 102, 103, 1E9402, 1E9603, i wiele wiele innych, których nie zapamiętałem. Od czasu do czasu zdarza się że odczytana zostanie poprawna sygnatura (0x1E9403). Oczywiście próbowałem to obejść dopisując argument -F. Oto rezultat:
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.03s
    
    avrdude: Device signature = 0x1e9403
    avrdude: safemode: Verify error - unable to read lfuse properly. Programmer may
    not be reliable.
    avrdude: safemode: To protect your AVR the programming will be aborted
    
    avrdude done.  Thank you.


    Programator z całą pewnością działa - cały czas go używam i przy Atmedze16 nie ma żadnych problemów. Mogę dowolnie modyfikować fusebity, wgrywać i zgrywać pliki hex. A tutaj proszę - nie może się nawet dostać do fusebitów. Czasem zdarza się że AVRdude zwróci:
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.03s
    
    avrdude: Device signature = 0x1e9403
    avrdude: current erase-rewrite cycle count is -50462977 (if being tracked)
    
    avrdude: safemode: Fuses OK
    
    avrdude done.  Thank you.


    Odczytując fusebity przy pomocy AVRdude-gui zazwyczaj zwracane są błędy dotyczące złej sygnatury, a gdy już "uda się" je odczytać, to pola lFuse i hFuse pozostają puste.

    Nie mam pojęcia dlaczego tak się dzieje. Póki co sprawdziłem 2 procki i za każdym razem były te same problemy. Co to w ogóle jest? Już sama zmieniająca się sygnatura jest dla mnie nie do ogarnięcia, co dopiero całość...

    Pozdrawiam i proszę o jakiekolwiek wskazówki
    mopsiok
  • REKLAMA
  • Pomocny post
    #2 11231310
    Krauser
    Poziom 26  
    mopsiok napisał:
    zewnętrzny kwarc, po kondensatorze 22n przy każdej jego nóżce

    no powinno być raczej 22pF
  • REKLAMA
  • #3 11231639
    mopsiok
    Poziom 14  
    No nie wierzę... pomyliłem przedrostki...
    Aktualnie nie mam w domu kondensatorów 22pF, ale wylutowałem te z płytki na 5V i wszystko działa bez zarzutu. Dzięki wielkie Kolego, gdyby nie Ty to pewnie z tydzień bym się głowił nad tym. Taki banalny błąd...
  • REKLAMA
  • REKLAMA
  • #5 11232232
    mopsiok
    Poziom 14  
    Tak prawdę powiedziawszy to nie wiem ^^. Wyprowadzenia ze scalaka na goldpiny były projektowane dawno temu, teraz jedynie rozbudowałem sposób zasilania. Prawdopodobnie kiedyś wyczytałem że powinno iść do masy, choć faktycznie zapomniałem o kondensatorze.
REKLAMA