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

ATMEGA640 - Jak prawidłowo ustawić fusebity po wymianie mikrokontrolera?

spinacz 08 Mar 2015 07:56 2838 34
REKLAMA
  • #1 14510500
    spinacz
    Poziom 42  
    Witam.
    Mam urządzenie z uszkodzoną Atmega640, uszkodził się stabilizator 5V i podaje na Atmege ok 9,36 niby dioda od Atmegi czasem zamiga ale urządzenie nie działa a gdy podam prawidłowe napięcie 5V to zero reakcji.
    Teraz pytanie jeśli kupie nową Atmege640 to skąd mam wiedzieć jak ustawić Fuse&Lock ? Wsad do Atmegi posiadam.
    Plik .hex (wsad) jest pobrany ze strony producenta jest to plik najnowszego firmware urządzenia.
    Na co zwrócić uwagę by prawidłowo ustawić fusebity ?
  • REKLAMA
  • #2 14510537
    Gienek
    Poziom 37  
    Może łatwiej będzie "zgadnąć" te fuse bity jak podasz co to jest za urządzenie (do czego służy, jaki kwarc zastosowano - o ile jest)
  • #3 14510553
    spinacz
    Poziom 42  
    Jest to sterownik Digital ECU Cheater wtrysku który zastępuje wtrysk mechaniczny, jest zewnętrzny kwarc TXC 16.0.
    Przy pierwszej probie na stole udało mi się odczytać ustawienia lecz nie wiem czy już one nie są błędne przez uszkodzenie.
    Obraz z ustawieniami. ATMEGA640 - Jak prawidłowo ustawić fusebity po wymianie mikrokontrolera?
  • #4 14510615
    Gienek
    Poziom 37  
    W swoich wypowiedziach jesteś "bardzo wylewny" :D
    Fuse bity wydają się być poprawne, ale czy uda Ci się wgrać oprogramowanie do tego sterownika to śmiem wątpić, bo procesor ma wgrany bootloader i on pozwala na aktualizację firmware.
  • REKLAMA
  • #5 14510626
    spinacz
    Poziom 42  
    Wybacz kolego za moje wypowiedzi ale nie mam zbytnio pojęcia o mikro-kontrolerach. Czyli rozumie że ten plik hex to nie pełen wsad do atmegi tak ? Jak bym załączył go to jest możliwość sprawdzenia go czy się nadaje do wgrania ? Dodam że aktualizacja odbywa się za pomocą oprogramowania dedykowanego do tego sterownika i połączenie jest poprzez usb.
  • REKLAMA
  • #6 14510816
    Gienek
    Poziom 37  
    Nie chodziło mi o sam procesor, ale gdzie on pracuje, jakie to urządzenie, producent itp. Ale to już nie ma znaczenia.
    Szkoda, że od razu nie załączyłeś tego pliku, bo już by można było sprawdzić czy to jest plik wgrywany przez bootloadera. Z Twoich wypowiedzi wynika, że aktualizacja odbywa się za pomocą dedykowanego oprogramowania. Wniosek, że najpierw oprogramowanie musi "odnaleźć" procesor, nawiązać z nim komunikację, a dopiero potem można dokonać aktualizacji, a to jest możliwe, gdy w procesorze jest wgrany bootloader.
    Dlatego samo wgranie tego *.hex do procesora choć jest możliwe, ale prawdopodobieństwo 99%, że sterownik nie zadziała.
  • Pomocny post
    #8 14510917
    Konto nie istnieje
    Konto nie istnieje  
  • #9 14510946
    spinacz
    Poziom 42  
    Połączenie do komputera realizowane jest poprzez FTDI232 i idzie prosto do Atmegi. Co do FuseBitów to odczytane ale nie wiem czy są prawdziwe ponieważ procesor uległ uszkodzeniu i tylko przypadkiem jakoś udało się odczytać. Czyli jest możliwość że po wlutowaniu nowego procka podaniu napięcia i wgraniu wsadu wszystko będzie ok przy tych ustawieniach FuseBitów ?
  • REKLAMA
  • #10 14510967
    Konto nie istnieje
    Konto nie istnieje  
  • #11 14513315
    spinacz
    Poziom 42  
    Już napisałem czy nie udostępnili by mi wsadu i by pomyśleli nad lepszym stabilizatorem bądź jakimś jego zabezpieczeniem lecz wątpię czy mi prześlą wsad.

    Dostałem odpowiedz od producenta.
    Witam. Wsady są dostępne na stronie w dziale download. Urządzenie jest stosunkowo tanie i małe, więc dobudowywanie dodatkowych obwodów zabezpieczeń może podrożyć urządzenie a druga sprawa, że jest mało miejsca.

    Wynika z tego że ten plik to wsad do procesora, czy koledzy mogli by sprawdzić ten plik i utwierdzić mnie w tym ?
    I tak samo z tymi FuseBitami czy po ustawieniu jak na zrzucie ekranu będzie ok ?
    Dostałem także informacje z ustawieniem FuseBitów od producenta.

    BODLEVEL = 4V3
    OCDEN = [ ]
    JTAGEN = [ ]
    SPIEN = [X]
    WDTON = [ ]
    EESAVE = [X]
    BOOTSZ = 1024W_7C00
    BOOTRST = [ ]
    CKDIV8 = [X]
    CKOUT = [ ]
    SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_0MS

    EXTENDED = 0xFC (modified)
    HIGH = 0xD5 (modified)
    LOW = 0x5F (modified)

    Bardzo bym prosił o zaznaczenie na moim zrzucie obrazu ustawień producenta.
  • Pomocny post
    #12 14513351
    Gienek
    Poziom 37  
    Skoro producent tak pisze (nie zabezpieczył wartości intelektualnej :D ), to nic nie stoi na przeszkodzie aby zaprogramować nowy procesor. Wsad już masz, a ustawienia fuse bitów masz na zrzucie:

    ATMEGA640 - Jak prawidłowo ustawić fusebity po wymianie mikrokontrolera?
  • #13 14513372
    spinacz
    Poziom 42  
    W takim razie zamawiam Atmege i będę działał. Na razie nie zamykam tematu zobaczę czy uda się uruchomić urządzenie.
  • #14 14526037
    spinacz
    Poziom 42  
    Niestety nowy procesor wlutowany programuje się niby poprawnie FuseBity ustawione lecz urządzenie nie daje żadnej reakcji diody nie zapalają się wcale tak jak by był martwy.
    Porównanie pliku do wgrania i pliku odczytanego po wgraniu.
    ATMEGA640 - Jak prawidłowo ustawić fusebity po wymianie mikrokontrolera?
    Gdy do buforu załaduje starszy firmware to przy weryfikacji gdy w procesorze jest wgrany nowszy wyskakuje że jest inny ale porównując z tym wgranym jest ok.
    Czy to jednak oznacza że poza tym plikiem powinien być wgrany jeszcze jakiś bootloader ?
  • #15 14526246
    Gienek
    Poziom 37  
    To co na zdjęciu to nie jest żadne porównanie, gdyż plik do wgrania ma dane zapisane po 16 bajtów w linii, a odczytany - po 32 bajty w linii. Dlatego też sumy kontrolne są zupełnie inne i trudno powiedzieć czy plik został poprawnie wgrany (tym bardziej, że pokazałeś tylko część porównania). Wykonaj odczyt po 16 bajtów i wtedy porównaj, albo załącz cały odczytany plik.
    Jeżeli okaże się, że plik masz prawidłowo wgrany, a układ nie działa, będzie oznaczało jednak, że producent wykorzystuje bootloader, o czym nie napisał.
  • #16 14526256
    spinacz
    Poziom 42  
    Czy ten bootloader musi być od producenta czy można wgrać jakiś inny ?
    Uważam że plik raczej wgrywa się prawidłowo ponieważ przy weryfikacji jest ok, ale załączam plik odczytany z Atmegi.
  • #17 14526279
    Gienek
    Poziom 37  
    Trudno mi powiedzieć jaki to bootloader.
    Przy programowaniu popełniłeś jakieś błędy (zrzut) pod koniec programowania.
    ATMEGA640 - Jak prawidłowo ustawić fusebity po wymianie mikrokontrolera?

    Z lewej strony plik odczytany, z prawej oryginał DEC 1.4.3.17.hex
  • #18 14526292
    spinacz
    Poziom 42  
    Klikam auto wiec chyba powinno wszystko się dobrze wgrywać.
    Kolego wybacz że mam aż tak prymitywną prośbę ale może w złej kolejności coś robię, mógł byś napisać po kolei jak zaprogramować prawidłowo ?
  • #19 14526311
    Gienek
    Poziom 37  
    Według porównania plików sądzę, że wykonujesz wszystko poprawnie.
    Nie wiem dlaczego w samej końcówce programowania wyskoczyły te błędy - może jakieś zakłócenia lub spadek napięcia programującego?
    Program jaki wykorzystujesz to PonyProg?
    A z jakiego programatora korzystasz?
  • #21 14526364
    Gienek
    Poziom 37  
    Przy porównaniu tych plików wyrzuca na czerwono różnice w plikach, ale wszystkie bajty danych są wgrane (jedynie sumy kontrolne "narobiły trochę bałaganu").
    Wniosek - jak poprzednio napisałem - DEC 1.4.3.17.hex to nie jest czysty wsad do procesora, ale plik wgrywany poprzez bootloader.
  • #22 14526373
    spinacz
    Poziom 42  
    Czyli producent poleciał sobie ze mną w kulki odpisując że plik do wgrania jest na stronie a pytałem o plik do wgrania w Atmege programatorem. Rozumie że do prawidłowego zaprogramowania potrzebuję plik od producenta zawierający bootloadera i program ? I nie da się wgrać jakiegoś innego bootloadera niż tego od producenta by uruchomić układ ?
    Dodam jeszcze że po zaprogramowaniu i podłączeniu przewodu USB jest wykrywany prawidłowo jako COM i nasłuchując port widzę że procesor coś wysyła jednak oprogramowanie producenta nie wykrywa urządzenia.
    Plik z nasłuchu.
  • #23 14526508
    Konto nie istnieje
    Konto nie istnieje  
  • #24 14526533
    spinacz
    Poziom 42  
    Do FTDI idzie tylko RX i TX. Oprogramowanie producenta pozwala na upgrade dopiero gdy wykryje komunikację z urządzeniem. Czyli wynika że potrzebuje wsadu z bootloaderem i nie idzie go zastąpić innym i wgrać to co mam ?
    Może kolega zerknie w ten plik czy czegoś nie da się wymyślić bo nie wiem czy producent prześle mi prawidłowy plik skoro nie napisał mi o bootloaderze.
  • #25 14526674
    Gienek
    Poziom 37  
    Fuse bit BOOTSZ0 jest zaprogramowany - czy to przypadek? Zarezerwowany jest obszar $7C00 1024 bajty i tam powinien być bootloader.
    Być może producent Ci go podeśle. Ale wtedy wgrywanie przez oprogramowanie producenta.
  • #26 14526694
    spinacz
    Poziom 42  
    Fuse bit BOOTSZ0 jest na czerwono 0 tak jak kolego mi zaznaczyłeś na zrzucie ekranu. To producent posiadał by jeszcze inny program niż ten co udostępnia na stronie ? Trochę się już pogubiłem.
  • #27 14527148
    Gienek
    Poziom 37  
    Tak, on jest na czerwono i 0, bo w programie PROGISP fuse bit jako zaprogramowany uważa się 0. (w różnych programach różnie się oznacza - 1 lub 0)
    Trzeba zrozumieć co to jest bootloader i do czego służy. Wgrywa się go tylko raz do procesora (może być wykorzystywany i w innych urządzeniach) i służy do wgrania właściwego oprogramowania (nieskończoną ilość razy - teoretycznie) bez wykorzystywania specjalnego programatora.
  • #28 14527178
    spinacz
    Poziom 42  
    Ok rozumie że bootloader wgrywam programatorem do procesora. Gdy procesor ma już botloadera to oprogramowanie do obsługi urządzenia zobaczy je i pozwoli dokonać upgrade tak ? Napisałem do producenta o bootloadera jak dostane plik to czyszczę procesor i wgrywam go jak ten plik hex ? A potem oprogramowanie wykrywa urządzenie i niem wgrywam ten firmware hex tak ?
  • #29 14527240
    Gienek
    Poziom 37  
    Dokładnie tak, jak to opisałeś. Programatorem wgrywasz bootloader i programator odkładasz do szuflady :D Dalej korzystasz tylko z oprogramowania producenta, którym wgrywasz aktualne (najnowsze) firmware.
  • #30 14527257
    spinacz
    Poziom 42  
    No to czekam na odpowiedz czy otrzymam go, bo rozumie że nie ma szansy na wgranie jakiegoś gotowego innego niż producenta bootloadera żeby to ruszyło ?
REKLAMA