Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega8a-pu "psuje się" programowaniem -Podróbki?

13 Maj 2012 13:27 3877 18
  • Poziom 21  
    Witam, mam obecnie pewien problem z mikrokontrolerami atmega8a-pu. Mianowicie podłączam je do programatora pod lpt i po włączeniu ponyproga, wszystko co mogę z nimi zrobić to odczytać securitybity 1 raz. Później otrzymuję komunikat o nierozpoznanym urządzeniu lub braku kontrolera. "Popsułem" w ten sposób już 4 kontrolery prosto z opakowania. Podejrzewałem programator - uproszczony stk/200, kabel lpt i wszystko sprawdziłem. Programator działa, bo nagrywa i odczytuje wszystko z moich poprzednich projektów (również atmega8a-pu), kabel też musi być dobry, drukarka drukuje i jak wcześniej inne mikrokontrolery działają. Nóżek z całą pewnością nie pomyliłem. układy mają te same oznaczenia , co te które działają (wierzchnie ,spodnie są różne). Teraz moje pytanie. Czy same układy mogą być jakieś wadliwe? Cała partia? Czy ja zwyczajnie coś robię źle a układy da się jakoś odratować? Jeżeli będzie trzeba, poświęcę jednego, zrobię screeny z ponyproga itp.

    Na grzbietach układy mają oznaczenia atmel(logo) 1130 ATMEGA8A-PU
    na brzuchach H6L890-1 (jeden H6L130-3)
    354VAN
    6-P1130 E3 (jeden 6-P1113 E3)

    I wszystkie utraciły kontakt z programatorem mimo normalnego traktowania, które ponad 10 innych przeżyło wielokrotnie bez fochów.
  • Poziom 42  
    Weź zassaj program MkAvrCalculator i wtedy zobacz - bo w PonyProgu na pewno blokujesz procka fusami - to strasznie dziwny program :( MkAvrCalculator będzie działał z twoimi prockami bez żadnych ograniczeń i za free. Ja używam od długiego czasu procków takich jak ty. Żadnych problemów ... żadnych złych partii.
  • Poziom 38  
    mirekk36 napisał:
    Weź zassaj program MkAvrCalculator i wtedy zobacz - bo w PonyProgu na pewno blokujesz procka fusami - to strasznie dziwny program :(


    Jak się nie uważa to i Twój program może być dziwnym programem blokującym samoczynnie procesory i palącym komputery:D
  • Poziom 21  
    Program pobrałem, ustawiłem na swoje urządzenia i na tych uszkodzonych kościach otrzymuje tylko komunikaty typu błąd avrdude urządzenie nie gotowe. Teraz kolejne pytanie, do czego mi konkretnie ten program. Do odblokowania tych czterech układów, czy może już tylko do nagrania na pozostałych nie psując? Jeżeli do odblokowania, z racji sporej liczby opcji , prosił bym jakiś przewodnik.
  • Moderator Mikrokontrolery Projektowanie
    Ten program ci kompletnie do niczego. PonyProg jest fajny i dopóki nie ruszasz fusebitów i nie dokonujesz zapisu to nie ma prawa ci niczego blokować. Jak długi masz kabel LPT? Co to za programator? Masz schemat? Jak podłączasz procesor?
  • Poziom 21  
    Właśnie mnie też się ponyprog podoba (wersja 2000) , za prostotę i podgląd w hexie.
    Ale skoro mądrzejsi koledzy polecili to nie chciałem protestować bez sprawdzenia.

    Kabel jest nowy, 1,8 m prawdziwy kabel lpt od drukarki czyli jedna wtyka d-sub 25 dwurzędowa a z drugie strony wtyk drukarkowy 36-stykowy.
    Programator to uproszczony stk-200 czyli w zasadzie 2 kabelki i 4 oporniki na wtyczce
    wedle tego schematu http://www.xtronix.in/stk-200.gif . Przez kilka lat działało, przynajmniej na starszych atmegach8-16pu i pierwszej partii atmeg8a-pu z tego roku (ok 10szt) Większość układów flashowałem ponad 20 razy w trakcie rozwoju kodu. Postępowałem zgodnie z jakąś instrukcją, która wyraźnie mówiła, wejdź do opcji bitów, odznacz wszystko i zapisz przed programowaniem wsadu.

    Zasilanie i dodatkowe uziemienie z kabla usb, kiedyś dawno, był jeszcze dodatkowy kabel do zasilacza pc ale zrezygnowałem z niego dla bezpieczeństwa.
  • Moderator Mikrokontrolery Projektowanie
    Dla kabla o długości 1,8m, tylko na opornikach to cud, że do tej pory działało. Z buforem ALS245 używałem kabla o długości 70cm. Pomiędzy buforem na programowanym układem nie powinno być więcej niż 20-30cm. Ty masz 1,8 metra! Tak to nigdy stabilnie nie zadziała.
    Sprecyzuj też co znaczy "wejdź do opcji bitów i odznacz wszystko". Mam nadzieję, że nie bawiłeś się w ten sposób fusebitami? Jeśli nie zmieniasz domyślnego taktowania to fusebitów po prostu nie ruszaj i zapomnij, że taka zakładka istnieje.
  • Poziom 21  
    Z kablem to powiem więcej, kiedyś miałem 3 metrowy kabel produkcji sekiosha bez buforów, ferytów i innych udoskonaleń z gdzieś ok 89 roku. Chodziło to kiedyś ze stara igłówką. I ja przez to bez problemów programowałem, ale jak rok temu zmieniałem drukarkę na inny zabytek (z hp670c na hp1120c) zmieniłem i kabel. W sumie różnic nie zaobserwowałem.

    Co do gdzie ja włażę to dokładniej
    Menu start> programy>Ponyprog> ponyprog2000
    W ponyprogu wybieram Command>security and confguration bits..
    W okienku robię read i potem clear all i nastepnie write I tak z każdym nowym kontrolerem robiłem za poradnikiem, do którego linka niestety nie pamiętam, bo czytałem go 4 lata temu.
    Generalnie do tej pory z żadnym układem nie było problemów do tej pory. Wszystkie się nagrywały bezproblemowo i większość nawet działała. Zazwyczaj były to urządzenia usb klasy hid, wiec łatwo było sprawdzić czy działa. Ale jak nie działało to winny był kod programu nie programowanie. Na tym programatorze na ostatnim projekcie gamepada usb kod flashowałem ponad 100 razy na jednej kości, bez problemów. Chciałem wziąć mniej znoszoną do finałowej płytki i wtedy te 4 sztuki popsułem.

    Zastanawiam się nad zbudowaniem sobie Atmega fusebit doctora, może on coś pomoże.
  • Poziom 42  
    tmf napisał:
    Ten program ci kompletnie do niczego.

    No Ok, ja rozumiem niechęć do polskich programów albo nawet konkretnie do mojego i polską "życzliwość inaczej" - ok, na to się nic nie poradzi, więc nawet nie będę komentował tej wypowiedzi, tym bardziej że za chwilę słyszymy, szok!

    tmf napisał:
    PonyProg jest fajny i dopóki nie ruszasz fusebitów i nie dokonujesz zapisu to nie ma prawa ci niczego blokować.

    Rzeczywiście fajny program, tylko nie ruszaj tego, nie rób tamtego i najlepiej

    tmf napisał:
    Jeśli nie zmieniasz domyślnego taktowania to fusebitów po prostu nie ruszaj i zapomnij, że taka zakładka istnieje.

    To jest dopiero niedorzeczność ;) mówię tu o programie Ponyprog oczywiście.

    Podczas gdy panie kolego kokodin bierzesz sobie wygodny program MkAvrCalculator i masz do dyspozycji wygodne narzędzie, które nie ma żadnych takich durnych ograniczeń w tym również co do fusebitów.

    Powiem więcej, nawet dodatkowo jesteś zabezpieczony przed przypadkowym i nieświadomym zablokowaniem procka. Zajrzyj sobie do zakładki "ustawienia":

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    zobacz, na czerwono zaznaczyłem ważną opcję, domyślnie jest ona WYŁĄCZONA - dzięki czemu właśnie nie zablokujesz procka

    na zielono zaznaczyłem ci klawisz za pomocą którego można szybko i wygodnie zainstalować sobie poprawną wersję AVRDUDE w oparciu o którą działa program

    potem przechodzisz do zakładki, "Programator AVR" i proszę bardzo:

    - masz klawisz którym możesz WYKRYĆ jaki masz podłączony procesor do programatora !!!! To jest wbrew pozorom bardzo ważne bo przy okazji program wczytuje aktualnie ustawione Fusebity w procku !!!! i nigdy sobie dzięki temu też w nich nie namieszasz..... Poza tym pokaż mi inne programy, które w taki wygodny sposób wykrywają jaki masz podłączony procek. NIE! W Ponyprogu - wprawdzie masz zakładkę AVR Auto ale nie radzę ci z niej korzystać jeśli chcesz robić coś z FUSAMI bo masz od razu wielką KICHĘ. .... Wcale nie wykryje i nawet po kliknięciu READ nie odczyta ustawionych fusów, zobacz:

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    jak widzisz kliknąłem w klawisz READ a mam podłączony procek ATmega168 i co ??? LIPA, nieco inaczej jest z odczytem pamięci FLASH - to się uda i nawet po te operacji pojawi się jakby prawidłowe okienko już z fusebitami dla m168 ale NIESTETY program Pony ich nie jest w stanie ODCZYTAĆ klawiszem READ, zobacz:

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    to jest normalne ?????, dopiero trzeba zacząć grzebać w tym małym okieneczku z listy rozwijanej i wybrać żmudnie swój procek i wtedy proszę - dopiero po tylu zabiegach:

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    widzisz - teraz jak wybrałem Atmega168 to dopiero wczytało poprawne fusy - i dziwisz się dlaczego tak dużo ludzi blokuje sobie procki takim programem, i wcale nie tylko początkujących. Dlatego sorrry ale ci którzy piszą że PonyProg jest świetny a MkAvrCalculator do niczego - w ogóle nie znają programu MkAvrCalculator - ale potrafią narzekać jaki to on zły.

    Zobacz sam - jak wygląda pięknie rozpoznanie procka - w PEŁNI AUTOMATYCZNIE i jak wygodnie można fuski sobie podglądać czy przestawiać ???? Szczególnie zwróć uwagę na zakładkę "FUSY UPROSZCZONE" .... z nią NIGDY SIĘ NIE POMYLISZ:

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    a teraz jak można wygodnie podglądać i zmieniać ustawienia fusów, proszę bardzo porównaj sobie to także z takimi programami jak: BASCOM, AVR Studio i inne - po prostu zebrałem różne wygodne formy prezentacji fusków a do tego dodałem własną UPROSZCZONĄ która ratuje nerwy ;)

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    oczywiście program MkAvrCalc ma jeszcze sporo innych zalet - ale jeśli chcesz to napisz na PRIV opiszę ci to i siamto - bo tu zaraz będą ludzie odwodzić cię od niego jak o zła powszedniego ;)

    a piszesz że Pony ma podgląd w Hex - a MkaVarCalc nie ma ? zobacz ;)

    wykonujesz 4 proste czynności - pojedyncze kliknięcia aby odczytać HEX

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    i proszę podgląd HEX ładnie się pojawia w nowym okienku:

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    a na koniec dodam jeszcze do samego Pony proga- że nawet jeśli nie ruszać Fusów jak radzi tmf, w tym świetnym programie to - zobacz jak się zachowuje program gdy nie masz podłączonego procka albo masz jakiś błąd.

    Wtedy wyskakuje znany komunikat w PONY

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    na którym widać klawisz IGNORE - więc jak ktoś sądzi że kable i wszystko ma dobrze podłączone to wydaje mu się, że .... a to tylko jakiś tam błąd i można go zignorować a program może jakoś odczyta, więc WIELU ludzi klika ten klawisz IGNORE i:
    ...........
    .....niestety w tym miejscu program zaczyna się już zachowywać ZABAWNIE - radośnie czyta ;) ja mam w tej chwili odłączony w ogóle procesor, a on jak widzisz uparcie czyta:

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    aby na końcu radośnie pokazać wynik swojej ciężkiej pracy - hahaha no to już jest super:

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    a potem ludzie piszą na elektrodzie posty, typu:

    Cytat:
    "podłączyłem procka, wszystko jest poprawnie bo program Pony Prog coś czyta - mówił wprawdzie o jakimś komunikacie -24 ale dało się zignorować i odczytać - ale okazuje się że mój procesor jest cały wyzerowany - co robić ??? pomocy!"


    Owszem program PonyProg ma też swoje zalety - można nim bowiem odczytywać jeszcze różne inne układy np pamięci EEPROM itp .... ale jeśli chodzi o obsługę AVR to totalna porażka i seria problemów.....

    oczywiście nikt nie każe ci z niego rezygnować ;) ..... ale warto chociaż raz poznać inne narzędzie a nie słuchać podpowiedzi o cudowności programu, gdzie polecająca osoba sama przeczy sobie w jednej wypowiedzi.

    Poza MkAvrCalc - masz jeszcze KhazmaProgrammer, BurnOmat, i wiele innych o niebo lepszych od kociego PonyProga

    jak widzisz zrobiłem porządne porównanie a nie tam jakieś pogaduszki że coś jest lepsze ale fusów nie ruszaj i zapomnij o nich.
  • Poziom 38  
    tmf napisał:
    Nie mam Pony pod ręką, ale jak pamiętam tam jest napisane jak zaznaczony fusebit jest traktowany - czy jako programmed (równy 0) czy erased (równy 1).


    Kucyk to mój pierwszy program, którym programowałem :) Z tego, co pamiętam to tam było tak jest jest to w procesorze fizycznie, tzn 0 - zaprogramowany, 1 - niezaprogramowany. Być może się to zmieniło bo było to parę lat temu więc i tak warto sprawdzić.
  • Poziom 21  
    Dzięki za merytoryczne podejście do tematu.
    Otóż ja nigdy nie miałem ustawionego poncia na auto, zawsze była tam avr micro Atmega8 , bo na takich pracowałem, o auto nawet nie słyszałem :] Szczerze mówiąc papugowałem pierwszy artykuł który przeczytałem o programowaniu , konkretnie powiązany był z biblioteką usb ,której używałem. W czasach gdy zaczynałem z resztą, artykuł też czytałem po angielsku i całą masę materiałów referencyjnych z nim powiązanych tez była po angielsku, więc o tutaj zaproponowanym programie nawet nie słyszałem do dzisiaj.
    Co do niego z kolei, to na zablokowanych prockach rozpoznawanie automatyczne, nawet przy ustawieniu ręcznym na atmega8 pokazuje błąd avrdude.
    Ale z tego programu wynika, że nic nie wiem o avr i fuzebitach poza tym że miałem je wszystkie powyłączać (i też nie wiem po co) I sam się dziwię, że cokolwiek mi działało.

    Powtórzę jeszcze raz moje najistotniejsze pytanie. Czy z tymi czterema prockami da się coś zrobić programowo? Czy raczej ratować się tym doktorem, czy mam je wywalić?
  • Poziom 38  
    O fusebitach jest w dokumentacji napisane w rozdziale bodajże memory programming. Jest tam wyszczególnione co, który bit robi. Niektóre są opisane gdzieś indziej, ale będą odnośniki. Warto tam zajrzeć nim się w ciemno coś zaprogramuje, ponieważ niektóre wyłączają możliwość programowania przez interfejs ISP. Niektóre też zmieniają źródło zegara i mikrokontroler może czeka aż mu dasz kwarcu :) Zaprogramowanie wszystkich jest jednak słabym pomysłem.

    Pamiętaj, że zaprogramowany bit, jest skasowany. Niezaprogramowany jest ustawiony.

    Jeśli masz chęci, możesz zbudować programator wysokonapięciowy, którym pewnie się uda "odblokować" uC.

    kokodin napisał:
    Czy z tymi czterema prockami da się coś zrobić programowo


    Sprawdź co tak naprawdę tam poustawiałeś wg tego co napisałem wyżej. Jeśli zmieniłeś źródło zegara - podepnij kwarc lub układ RC. Jeśli pin reset zmieniłeś na IO lub wyłączyłeś ISP lub cokolwiek innego co uniemożliwia użycie ISP to musisz użyć doctora. Jeżeli układy są spalone to możesz zbudować sobie z nich zagrodę dla mrówek, chyba, że są w obudowie QFP to wtedy można nimi nawet zagrać w pchełki :)
  • Moderator Mikrokontrolery Projektowanie
    Zainstalowałem sobie w wirtualce PonyProga i jak widzę RSTDISBL jest wyszarzony, więc dobra wiadomość jest taka, że procka sobie nie zablokowałeś. Jeśli wszystkie fusy masz na 1 (clear all, unchecked means unprogrammed ==1) to przestawiłeś taktowanie procesora na zewnętrzny kwarc 3-8 MHz. Podłącz więc takowy, lub podaj przebieg zegarowy na XTAL i procki ożyją.
  • Poziom 21  
    Może tylko zaznaczę jedną rzecz. Układy zdechły nie po wgraniu bitów tylko po odczytaniu. Ponyprog odczytał je, zaznaczył w tym oknie z wieloma checkboxami i po ich odznaczeniu i kliknięciu write od razu zobaczyłem komunikat -24. Tak więc zdaje mi się , że bitów nie zdarzyło zaprogramować i zdechło z jakiegoś innego powodu.
    Skoro mówicie, ze warto wypróbować kwarc , to na wszelki wypadek sprawdzę czy nie ożyje. W projekcie klasy usb jest właście 12mhz zewnętrzny rezonator
  • Poziom 42  
    kokodin napisał:

    Skoro mówicie, ze warto wypróbować kwarc , to na wszelki wypadek sprawdzę czy nie ożyje. W projekcie klasy usb jest właście 12mhz zewnętrzny rezonator


    Więc zobacz jak tutaj co niektóre osoby sobie same zaprzeczają, z jednej strony wciskają ci że to nie miało nic wspólnego z Pony i fusami a z drugiej kwarc....

    Pewnie że to typowy objaw załatwiania procków przez Ponyproga - dlatego pokazałem ci te screenshoty - wiem co mówię bo swój program pisałem od podstaw i biorąc pod uwagę wiele aspektów. Nie będę komentował nawet tych żenujących przytyków osobistych.

    Jeśli ci zatem ruszy z kwarcem to tym bardziej zastanów się na przyszłość nad zmianą programu na jeden z tych które ci poleciłem na końcu .... Nie musi to być MkAvrCalculator

    to jedno a drugie - jeśli nie ruszy ci z kwarcem to być może Pony przestawił ci Fusy na zewn oscylator RC - wtedy też łatwo możesz sobie poradzić bo wystarczy że weźmiesz tylko

    - jeden rezystor 2,2K
    - jeden kondensator 22pF

    podłączysz rezystor do VCC a drugą nóżkę do kondensatora. Za to drugą nóżkę kondensatora do GND. I wtedy środkowe nóżki połączone rezystora i kondka podłącz do wejścia XTAL1 w procesorze. Tym sposobem zrobisz najprostszy zewnętrzny oscylator RC i też może się udać ożywić procki jeśli PONY namieszał ci tylko w Fusebitach CKSEL - czyli tych odpowiedzialnych za taktowanie. A zresztą tu na dole masz rysunek jak można się poratować przy takiej nieprzewidzianej zmianie fusebitów CKSEL - widać na rysunku poniżej sposoby podłączania 3 różnych źródeł taktowania zewnętrznego.

    Atmega8a-pu "psuje się" programowaniem -Podróbki?

    nawet jeszcze nie będziesz może musiał sięgać po FuseDoctora .... ale jak nie pomoże to może warto go zrobić skoro masz ich aż tyle uwalonych - prosty ale skuteczny układzik.
  • Poziom 42  
    Nawigator napisał:
    Niemcom PonyProg robi to samo o ile jest to jakaś pociecha:
    http://www.mikrocontroller.net/topic/258638

    N.


    Tak i na końcu okazało się, że nawet zwykły Bascom ma tysiąc razy lepiej rozwiązany interfejs do programowania procków a szczególnie ich fusów niż koci Pony prog.

    Cytat:

    Mein Problem hat sich mit Bascom gelöst, nun habe ich die Fuse bits so
    ändern können, dass mein Quarz funktioniert.


    A Pony od lat doprowadza do frustracji początkujących nie tylko w Niemczech, na forach wielu innych krajów są podobne opisy, posty, problemy. A na samej elektrodzie można ich znaleźć od groma....

    Ja też jak zaczynałem w 2006 roku z AVRkami to dzięki Ponemu zablokowałem sobie procka ATtiny2313 ;) .... tylko że ta blokada na szczęście sprowadziła się tylko do ustawienia zewn taktowania przez generator TTL - zatem łatwo było procka obudzić dostarczając mu sygnał kilkudziesięciu kHz do XTAL1 z byle jakiego generatorka na 2-3 bramkach
  • Poziom 39  
    Witam, ja chciałbym dodać od siebie w sprawie długości kabla, sam nie wiem, czy am taki dobry port w komputerze (nie tylko tym ;) ) czy co ? mój kabel to prosty STK200/300 bez rezystorów, długość 3m i działa doskonale, drugi kabel to SAMPLE ELECTRONICS PROGRAMMER o długości 2m z rezystorami i także działa doskonale. Także nie w tym problem. Ale też kiedyś borykałem się z problemem uszkadzania Atmeg8, w zasadzie z miejscowego sklepu. Wyglądało to tak, że da się ją zaprogramować raz, i koniec, program się wykonywał, i dało się ją odczytać ale też tylko raz potem zwis, próba programowania - w programie przechodziła do końca, i zwis, po restarcie stary wsad :D Do dziś leży mi kilka takich Atmeg, kiedyś się za nie może wezmę swoimi kablami :D