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

Atmega32/644p - Błędy przy weryfikacji wsadu, układ się nie zgłasza

krzysztoftc 12 Sie 2012 10:56 2547 19
REKLAMA
  • #1 11200049
    krzysztoftc
    Poziom 11  
    Witam!

    Wczoraj miałem chyba jakiś czarny dzień... Podczas pracy z uC AtMega644p najpierw zaczął on się przedstawiać z dziwnymi sygnaturkami, potem robił tak coraz częściej. W końcu przy każdej próbie wrzucenia do niego wsadu, wyskakiwał błąd weryfikacji. Używam avrdude i programatora usbasp. Próbowałem sprawdzić fusebit'y i wyskakują jakieś dziwne wartości, nie mogę ich nadpisać, bo znowu są błędy przy weryfikacji. Procesor jest na płytce EVB, więc raczej nie ma mowy o błędnym podłączeniu. Próboiwałem także programować za pomocą wqbudowanego w płytkę programatora-również bezskutecznie. Z avrdude próbowałem z różnymi prędkościami. Atmega podłączona jest do kwarcu 16MHz.

    W końcu wkurzyłem się i założyyłem na podstawke AtMega32, no i niestety z pośpiechu-włożyłem ją odwrotnie. Teraz przy próbie programowania jest komunikat:
    avrdude: error: programm enable: target doesn't answer. 1 
    avrdude: initialization failed, rc=-1
    Double check connections and try again, or use -F to override
     this check
    .

    A jak z powrotem założę 644p, to się nie weryfikuje... Bardzo proszę o jakąś pomoc, wskazówki. Z góry dziękuję ;)
  • REKLAMA
  • #2 11200107
    mickpr
    Poziom 39  
    Jaka płytka EVB (model) ? Jakie napięcie zasilania? Czy układ się nie grzeje czasem?
    Co do wkładania odwrotnie i pośpiechu, to trzeba czasem 2 razy spojrzeć nim się włączy zasilanie - czy wszystko jest w porządku. Pośpiech jest złym doradcą.
    Jak już wszystko sprawdzisz optycznie - miernik w rękę i zacznij od napięć (zasilania) oraz od pinu "RESET".
    Napisz, co to za płytka.
  • #3 11200316
    krzysztoftc
    Poziom 11  
    Mam evb 4.3, napięcie z usb-nie całe 5V. Optycznie wszystko OOK, nie zauważyłem żadnego grzania się elementów
  • REKLAMA
  • #4 11200489
    mickpr
    Poziom 39  
    Napięcie powinno być zgodne z datasheet'em (4,5-5,5V).
    Odwrócenie mikrokontrolera może być zabójcze dla niego, choć niekoniecznie. Akurat Atmega w tej obudowie jest tak skonstruowana, że odwrócenie jej lokuje Vcc w miejscu AVcc, a GND w miejscu drugiego GND. Jest więc duża szansa, że się nie uszkodził.
    Co do programatora na płytce - widzę, że jest to zwykły konwerter USB na UART, więc bez bootloadera nic nie zrobisz (musiałbyś go najpierw wgrać).
    Zmierz napięcia VCC i Reset (na początek). Sprawdź, czy podczas startu programowania napięcie na pinie RESET chwilowo spada do poziomu niskiego (jeśli uda ci się to zaobserwować).
  • #5 11200571
    krzysztoftc
    Poziom 11  
    Hmm.. Opisywałem wszystko na podstawie tego, co obserwowałem przy programowaniu przez USBASP, tym co jest na evb tylko sprawdzałem czy chodzi. A mam jeszcze układ na Atmega8, i tamten normalnie dało się przez usbasp zaprogramować
  • #6 11200750
    LordBlick
    VIP Zasłużony dla elektroda
    Obniż timingi w pliku konfiguracyjnym avrdude.Mi na takim wpisie tandem ATmega164 + USBasp działa dobrze(ta sama funkcjonalnie kość z mniejszą ilością pamięci):
    Kod: Text
    Zaloguj się, aby zobaczyć kod
  • #7 11200768
    krzysztoftc
    Poziom 11  
    Tyle że mi generalnie też chodziło, jakieś 2 tyg wgrywałem tam nowe wsady kilka razy na dzień, w celu testów...
  • REKLAMA
  • #8 11200811
    LordBlick
    VIP Zasłużony dla elektroda
    Pozostaje sobie odpowiedzieć na pytanie, co się od tamtego czasu zmieniło. Być może zainstalowano jakiś program obciążający zasoby systemu operacyjnego, uległo uszkodzeniu jakieś połączenie lub plik konfiguracyjny, możliwości jest wiele.
  • #9 11200900
    krzysztoftc
    Poziom 11  
    Hm.. po chwili zastanowienia stwierdzam że nic nie mogło się zmienić-co do systemu-próbowałem na różnych kompach, co do połączeń-inne działają.. płytka też nie była ruszana. A ta 32-to jakiś normalne objawy?
  • REKLAMA
  • #10 11234324
    krzysztoftc
    Poziom 11  
    Witam ponownie!

    Posatnowiłem odświeżyć temat, gdyż wczoraj otrzymałem przesyłkę z nowymi uC. Założyłem AtMega32 i udało mi się ją zaprogramować... Aż 3 razy! później przestała się zgłaszać.. Ma ktoś pojęcie o co tu może chodzić?
  • #12 11234743
    krzysztoftc
    Poziom 11  
    1. Tak próbowałem programować i pod EVB i pod USBASP
    2. Nie, bo zacząłem się zastanaiwać, czy t o ma sens-nie chciałem stracić następnego uC
    3. Przestawiałem na takie jak podali w instrukcji od EVB- Hfuse=D0 i lfuse=EF
  • #13 11234938
    dondu
    Moderator na urlopie...
    krzysztoftc napisał:
    2. Nie, bo zacząłem się zastanaiwać, czy t o ma sens-nie chciałem stracić następnego uC

    To sprawdź - od tego trzeba zacząć.


    krzysztoftc napisał:
    3. Przestawiałem na takie jak podali w instrukcji od EVB- Hfuse=D0 i lfuse=EF

    I tutaj może leżeć główna przyczyna (nie sprawdzałem podanych ustawień). Jakim programem zmieniasz?
  • #14 11234998
    krzysztoftc
    Poziom 11  
    No więc tak- sprawdziłem te uC na płytce stykowej - nie działają:
    
    avrdude: error: programm enable: target doesn't answer. 1 
    avrdude: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.
    
    
    avrdude done.  Thank you.
    


    Nowa, nieużywana zgłosiła się, sczytałem fusy-czyli podłączenie niby ok.
    Korzystam z nakłdaki na avrdude - AVR8-Burn_O-Mat
  • #15 11235526
    LordBlick
    VIP Zasłużony dla elektroda
    krzysztoftc napisał:
    3. Przestawiałem na takie jak podali w instrukcji od EVB- Hfuse=D0 i lfuse=EF
    Tak to leci:
    Atmega32/644p - Błędy przy weryfikacji wsadu, układ się nie zgłasza
    Z najważniejszych ustawień, to masz reset w bootloaderze, co się ustawia raczej dopiero po jego wgraniu...
  • #16 11236254
    mickpr
    Poziom 39  
    @LordBlick (lekki off-topic):
    Skąd kolega ma taki ładny kalkulator fusebitów?
    Rozumiem, że pod Linux'em, tak?
  • #17 11236809
    LordBlick
    VIP Zasłużony dla elektroda
    mickpr napisał:
    Skąd kolega ma taki ładny kalkulator fusebitów?
    Rozumiem, że pod Linux'em, tak?
    1. Stworzyłem sam. http://code.google.com/p/avrmate/ (Link w moim podpisie.)
    2. Język programowania to Python, więc kalkulator jest na każdą popularniejszą platformę, być może nawet dałoby się przeportować na Androida, pod warunkiem, ze zainstalujemy sobie w systemie interpreter python-a i biblioteki GTK.
  • #18 11245878
    krzysztoftc
    Poziom 11  
    Wygląda na to, że sprawa się sama rozwiązała.

    Miałem podpięty czujnik DS18B20 pod ten sam pin co programator (PB7\SCK). Po przepięciu czujnika zachowanie uC wróciło do normy.

    Mam jeszcze pytanie-czy w takim razie, możliwe jest odratowanie w jakiś sposób uC które przy próbie połączenia zwracają:
    
    avrdude: error: programm enable: target doesn't answer. 1 
    avrdude: initialization failed, rc=-1 
    Double check connections and try again, or use -F to override 
     this check
    
  • #19 11245907
    LordBlick
    VIP Zasłużony dla elektroda
    krzysztoftc napisał:
    Mam jeszcze pytanie-czy w takim razie, możliwe jest odratowanie w jakiś sposób uC które przy próbie połączenia zwracają:[...]
    Nie ma uniwersalnej odpowiedzi. Możesz próbować podać 2MHz z generatora na XTAL1, jeśli zablokowanie procesora wynika z nieprawidłowego ustawienia źródła taktowania..
  • #20 11245974
    mickpr
    Poziom 39  
    krzysztoftc napisał:
    Mam jeszcze pytanie-czy w takim razie, możliwe jest odratowanie w jakiś sposób uC które przy próbie połączenia zwracają:

    Zawsze możesz spróbować odratować zaprogramowany źle mikrokontroler programatorem równoległym.
REKLAMA