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

ATmega128 - Fusebity nie zapisują się poprawnie po programowaniu

bisz 29 Sty 2013 15:05 1632 8
REKLAMA
  • #1 11858554
    bisz
    Poziom 18  
    Witam, Mam taki dziwny problem ze świeżo co wlutowaną (prosto z fabryki) ATMegą128.
    Komunikacja z układem jest poprawna, lecz pomimo wgrania pewnych fusebitów (np INT OSC=8 MHz,), gdy daję opcję read to układ uważa że ma ustawiony EXT crystal, co jest lekką bzdurą gdyż kwarcu nawet nie ma w układzie więc to nie miałoby prawa się komunikować ze mną. Podobnie jest z innymi fusebitami, które są nieustannie inne niż te które mu wgrywam.
    Gdy wrzucam przykładowy program nieustannie mam taki komunikat :

    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: Device signature = 0x1e9702
    avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "lala.hex"
    avrdude: input file lala.hex auto detected as Intel Hex
    avrdude: writing flash (1482 bytes):
    
    Writing | ################################################## | 100% 0.31s
    
    avrdude: 1482 bytes of flash written
    avrdude: verifying flash memory against lala.hex:
    avrdude: load data flash data from input file lala.hex:
    avrdude: input file lala.hex auto detected as Intel Hex
    avrdude: input file lala.hex contains 1482 bytes
    avrdude: reading on-chip flash data:
    
    Reading | ################################################## | 100% 0.28s
    
    avrdude: verifying ...
    avrdude: verification error, first mismatch at byte 0x0000
             0x0c != 0x00
    avrdude: verification error; content mismatch
    
    avrdude done.  Thank you.
    
    avrdude finished
    


    Podsumowując, co to może być ?
  • REKLAMA
  • #2 11858637
    lukashb
    Poziom 39  
    Wiesz, może jakaś seryjna lipa. Ja mam nową Atmegę 8 która to jest o tyle ciekawa, że programuje się dobrze, weryfikuje się dobrze, fusebity chodzą ok, można przełączać kwarc/RC, a jednak po zaprogramowaniu jej wsadem, program się nie wykonuje wcale a wcale. Można odczytać, zweryfikować itp. i wszystko jest poprawnie, a wykonać się nie chce - układ wzięty prosto z szufladki, nowy. Taką niespodziankę mi zrobił. Tak więc może Ty też padłeś ofiarą zbuntowanego AVRa.
  • REKLAMA
  • #3 11858944
    kamyczek
    Poziom 38  
    To że program się kompiluje nie oznacza że działa ;) Poza tym nigdy nie trafiłem na AVRa który nie działał chyba że ktoś poczęstował porty np 12V . Pytanie podstawowe czy program w tej postaci zaprogramowany w inny układ działa poprawnie ? Wracając do tematu M128 wniosek jest prosty układ się nie programuje . Pytania więc padają dwa czy programator rozpoznaje procesor i czy układ jest kasowany przed ponownym zapisem .
  • REKLAMA
  • #4 11859058
    piotrva
    VIP Zasłużony dla elektroda
    Może na liniach programatora masz coś podpięte, co zakłóca jego pracę. W przypadku niektórych programatorów dzieje się dokładnie tak, jak opisujesz (są to w 90% problemy z translatorem napięć).
  • REKLAMA
  • #5 11859213
    excray
    Poziom 41  
    A NA PEWNO jest to Atmega 128? A nie na przykład Atmega128A?
  • #7 11860435
    kamyczek
    Poziom 38  
    Rozumiem, że inny to nie oznacza typ tylko egzemplarz ATMEGA 128 ! Z uwag które przychodzą mi do głowy 1. wyprowadzenia SPI dla tego kontrolera nie pokrywają się z układem połączeń do programowania w układzie ! . Układ BOD musi mieć mniejsze napięcie niż zasilanie układu. Powinna też odczytywać się prawidłowo sygnatura układu . Zbyt duża częstotliwość zegara programatora isp może też powodować brak możliwości programowania .
  • #8 11860984
    piotrva
    VIP Zasłużony dla elektroda
    Ja mam takie przypuszczenia:
    1. Błędne podłączenie zasilania, zakłócenia na zasilaniu - pokaż schemat połączenia + zdjęcie
    2. Masz podpięte pod linie programatora coś co skutecznie zakłóca jego pracę - najczęściej winne są albo zbyt silne pull-up/-down albo nie do końca prawidłowa konstrukcja bufora w programatorze
    3. Źle ustawione BOD
    4. Zła konfiguracja programatora - zbyt wysokie SCK
    5. I najmniej prawdopodobne: uszkodzenie programatora lub układu.

    @kamyczek - zakładam, że skoro programator odczytuje jakieś dane, to Autor wątku podłączył się do odpowiednich linii PE0, PE1, PB1 i RST
REKLAMA