Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Problem - Ładowanie programu - (atmega2560 )

03 Jul 2010 16:06 2578 9
  • Level 10  
    Witam
    Mam problem z załadowaniem programu na atmege 2560. Korzystam z programatora stk200 z kitu 300 - k . Wyprowadziłem druciki z portów MISO , MOSI , SCK , RESET VCC i GND programatora podłaczyłem bezpośrednio do uC. Przez jakiś czas mogłem prawie bez problemu ładować program do uC jedyny problem polegał na czestym wyświetlaniu sie błędu
    (avrdude: verification error; content mismatch)
    ale tylko kilka razy na poczatku ładowania. Potem jak zacznie ładować program to problem znika. Ale pojawił sie kolejny. Po kilkunastu razach wpisywania programu do uC coś sie stało . Pojawia sie komunikat
    avrdude: AVR device not responding.
    avrdude: initialization failed rc=-1
    Połaczenie kabli prawidłowe.
    Obawiam sie ze uszkodziłem procesor. Zbyt duży prad na portach SPI. Ale napiecie idzie ze stabilizatora. Moze powinienem dac rezystory do drucików 10k. W schemacie programatora nie ma rezystorów ograniczajacych prad. Nie wiem czy to konieczne. Wczesniej programowałem ATMEGE8 ale bez drucików. Wkądałem procesor w podstawke 300-k. NIe było takich problemów. Moze to wina avrdude. Czasami stwarza problemy. Programuje w Winavr. Gdzie może być problem? Może nie jest spalony? Co z tym zrobić?

    P.S. Jaki jest lepszy i bezproblemowy program do łądowania hex do procesora.
    Pomijam winavr i avr studio.
    Moze być konsolowy.

    Pozdrawiam
    [Szkolenie 22.06.2021, g.9.30] Zabezpieczenia Internetu Rzeczy (IoT) programowe i sprzętowe. Zarejestruj się za darmo
  • Level 42  
    Lumberjack wrote:
    Moze to wina avrdude. Czasami stwarza problemy. Programuje w Winavr. Gdzie może być problem?


    O matko! chyba tylko tobie jedynemu ten program stwarza jakieś problemy. Szukaj błędu gdzieś u siebie i w połączeniach - bo tam leży pies pogrzebany. (żeby upalić procka to naprawdę trzeba być zrolnym i się postarać dosyć mocno, no.... ale niektórym to się udaje, kto wie co tam u ciebie się dzieje po tak lakonicznych informacjach)
  • Level 10  
    Jaki moze byc maksymalny prad portów SPI? Bezpieczny prad. Być może to kwestia styków. Przypuszczam ze aby upalic procesor trzeba podac napiecie przekraczajace 5V. Przed zwarciami jest zabezpieczony oczywiscie dla tego napiecia. lub nizszego. Problem gdy podamy wyzsze napiecie. Np 10V . Raz mi sie to udalo. :)
  • Level 10  
    Tzn. Wszystko ładnie funkcjonowało. Program ładowałem bez problemu. W pewnym momencie koniec. Zacza pojawiac sie komunikat
    Problem - Ładowanie programu - (atmega2560 )

    Nie mam pojecia co sie stało. Kabelki polaczone prawidłowo.

    Dodano po 39 [minuty]:

    Ładowałem program na inny uC . Działa bez problemu.
  • Level 10  
    Co ciekawe. Sprawdzałem na programie programujacym ISP A. Dybkowskiego . Moge odczytać kod z uC. Ale nie moge zapisać . Programator STK200. Napiecie zasilania jest ze stabilizatora , dolaczyłem kondensatory 100n. Zastanawiam sie czy AVR nie pobiera zbyt duzego pradu przekraczajacego 200mA. Dla 5V to bedzie 2.5W . Dotykałem procesora. Nie jest goracy nawet cieply. Czy odczuje takie ciepło? Jak odblokowac fusebity? Moglem ustawic je przypadkiem. Moze z portu LPT komputera ida jakies dziwne impulsy przekraczajace 6V.
  • Level 10  
    Witam ponownie
    Aktualizuje temat. Postaram sie opisać w miare dokładnie problem.
    Posiadam programator stk200 (kupny - nie samopróbka). Obecnie zacząłem zabawe z atmega2560. Tworze projekt układu sterujacego. Programuje w Winavr. Program wgrywajacy hex - avrdude. Nie zamieszcze schematu projektu bo niestety jeszcze go niema. W skrocie moge opisac projekt. Wykorzystuje dwa przetworniki 8 bit podlaczone do oddzielnych portow sterowane liniami CS. Dodatkowo podlaczony LCD , jeden przycisk , rotary encoder. Wszystkie PIN zdefiniowane jako wejscia w uC zabezpieczone rezystorami 10k. Dodatkowo wykorzystuje ADC w uC do pomiaru 3-ch sygnalów. Korzystam z zegara RTC PCF8583 . uC zasilany z 7805 z nuzkami podpietymi do kondensatorow 100n oraz nuzka OUT (5V) dodatkowo transil 5V. Calosc zasilana z 15 V ( z tego wzgledu ze mam w ukladzie rowniez 7812). Do pinow SPI podpieta karta SD zgodnie ze schematem :
    Problem - Ładowanie programu - (atmega2560 )

    Jaki jest problem. Cos dzieje sie z uC (juz dwoma). Albo sie zablokowaly albo pala sie porty SPI. Z pierwszym uC mialem nastepujaca sytuacje. Kilka razy programowalem bezposrednio na plytce projektu (wraz z polaczeniem do kieszeni karty SD - schemat wyzej). Czasami wyjmowalem z plytki i kabelkami laczylem uC z stk. Dzialalo bez problemu kilka razy do momentu kiedy mikrokontroler przestal odpowiadac. Dostawalem komunikat:

    avr device not responding
    initialization failed rc = -1
    Double check connections and try again ...

    Probowalem wielokrotnie zaprogramowac ten procesor. Pobralem nakładke AVR burne - mat , program ISP Programmer A Dybkowskiego i nic. Bez rezultatu.

    Pomyslalem ze spalony. Poszukalem czy nie ma zwarc. Sprawdzilem polaczenia. Pomierzylem prady i napiecia. Wszystko w normie. Wzialem droga atmege. Zaprogramowalem kilka razy i znow to samo. Nastepnie poczytalem troche o fuse bitach w pdf atmegi. Podpiąlem zewnetrzny generator do XTAL1 i przy ok 1,4 MHz zaczął odpowiadac. :) Pomyslałem swietnie. Zaladowalem ustawienia fabryczne fuse bitow. I dzialał , niestety tylko kilka razy udalo mi sie załadować program. Sytuacja sie powtórzyła zaraz po tym kiedy w trakcie ładowania programu zatrzymalem tą operacjie w WINAVR - Stop Tools. Wydawalo mi sie ze cos znowu z zegarem i fuse bity same mu sie poprzestawialy. Podlaczylem generator i podawalem sygnal co 100kHz o 1MHz do 16MHz. Nic nie pomoglo. Podlaczylem rezonator RC - bez skutecznie. Napewno uC nie jest spalony. Nie bylo takiej możliwosci chyba ze jakis port SPI jest uszodzony ale one wytrzymuja ok 40mA. W trakcie ladowania programu polaczenia z karta SD sa odizolowane i tylko polaczone z stk200. Czytalem ze do RESETU nalezy podlaczyc przez rezystor 10k. Nie zauwarzylem tego rezystora w programatorze. Moze spalony jest pin RESETu. Moge sprobowac zaladowac program przez JTAG ale nie wiem czy korzysta on z tego pinu. Ktos spotkal sie z taka sytuacja? Co radzicie? Sam w fuse bitach nic nie zmienialem nie mialem takiej potrzeby.

    Dodano po 7 [minuty]:

    Probowalem równiez Pony Prog. Co ciekawe ten programator wykonuje test poprawnie (test w Interface Setup - sprawdzenie polaczenie z programatorem ) jedynie dla opcji programatora D-006 I/O lub API. A z tego co wiem to test powinien byc poprawny dla AVR ISP I/O. Moze to kogos naprowadzi na jakis pomysł. Pozdrawiam
  • Level 10  
    Teraz bede starał sie rozwiazac problem programatorem równoległym.
  • Level 10  
    Witam po długiej nieobecności. Atmega2560 odblokowana. Poprzestawiane fuse bity. Udało mi sie odblokowac programatorem równoległym . Przypuszczam ze przyczyną pomieszania fuse bitów było przerwanie wgrywania programu do mikrokontrolera (przerwanie programowe lub odciecie zasilania). Korzystajac z programu avrpp.exe odczytałem aktualny stan fusebitów ( ustawiony generator kwarcowy zewnetrzny , wylaczone porty SPI). Tak wiec uwaga na wgrywanie programu. Pozdrawiam
  • Level 10  
    wlasnie mialem ten sam problem ale dzieki tematowi udało sie