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

AVRISP mkII - programator uszkadzający mikrokontrolery ?

Roman Szemik 06 Lut 2014 10:55 2193 8
  • #1 06 Lut 2014 10:55
    Roman Szemik
    Poziom 14  

    Witam.

    Od paru ładnych lat do programowania używam pliki HEX stworzone w bascom AVR i programu AVR STUDIO 4.18. Pewnego pięknego dnia programując nową partię ATMEGA328 zauważyłem iż po ustawieniu fusebitów, lub po wgrywaniu programu do mikrokontrolera traciłem łączność z mikrokontrolerem. Cztery scalaki się zablokowały, następne 10 zaprogramowałem poprawnie. Programowanie odbywa się w podstawce zalilanej z USB.
    Następne mikrokontrolery które udało mi się jakoś zablokować to były ATMEGA 128.
    Zaraz na początku udało się sprawdzić np. fusebity i była łączność. Po ustawieniu kwarcu zewnętrznego i wyłączenia ikony JTAG - była łączność. Ustawiłem częstotliwość programowania ISP na 1MHz (kwarc w układzie ma 16 Mhz), wybrałem plik hex, włączyłem programowanie i z tego co pamiętam programowanie przeszło bez problemu, natomiast podczas weryfikacji straciłem łączność z mikrokontrolerem.
    Nawet na działającym obiekcie chciałem coś zmienić w programie i również zablokowałem procka.
    Próbowałem wgrywać nowy firmware do programatora AVRISP mkII, lecz nic to nie dało.
    Sciągnąłem ATMEL STUDIO 6.1 i nic to nie dało.
    Pomyślałem sobie uszkodzony programator albo bit SPIEN do programowania szeregowego.
    Zakupiłem AVR DRAGONA, podpiąłem się równolegle do układu, którego zasiliłem z AVR DRAGON i ku mojemu zdziwieniu bit SPIEN JEST ZAFAJECZKOWANY.
    Mam łączność z ATMEGĄ (Device signature odczytane).
    Podpiąłem się jeszcze raz ze złączem ISP na AVR DRAGON i tak jak poprzednio brak łącznośći z układem.
    Pomyślałem że zaprogramuję układ za pomocą programatora równoległego. Wybrałem plik HEX, włączyłem programowanie, skończyło kasować i w momencie kiedy zaczęło programować wyskoczył błąd:
    UNABLE TO OPEN FILE HEX
    FILE HEX DOES NOT EXIST.

    Pytanie do bardziej doświadczonych - czy programator równoległy może naprawić wszystko co popsuje programator szeregowy?
    Dlaczego ATMEL STUDIO 6.1 nie widzi pliku HEX z którym nie było nigdy problemów
    Na co zwrócić uwagę (fuse bity, lock bity itp) aby programowanie szeregowe znowu działało.
    Nadmienię iż nie zmienił się system, ani komputer.

    0 8
  • Pomocny post
    #2 06 Lut 2014 13:37
    pimpuk
    Poziom 22  

    W helpach w dziale device rogramming masz napisane, że częstotliwość programowania powinna wynosić F_CPU/4, czyli dla kwarca 16MHz musisz ustawić 4MHz. Czasami się udaje na innych ustawieniach, ale zasadniczo musi być F_CPU/4.
    Czyli zaraz po ustawieniu fusów musisz przestawić cz.programowania.
    Druga sprawa: FILE HEX DOES NOT EXIST.
    Atmel Studio nie lubi polskich znaków w ścieżkach do plików.

    0
  • #3 06 Lut 2014 13:44
    kuuczoo
    Poziom 26  

    pimpuk przeczytaj dokładnie tego helpa...
    "...less then 1/4 cpu clock..."

    0
  • #4 06 Lut 2014 14:24
    pimpuk
    Poziom 22  

    kuuczoo napisał:
    "...less then 1/4 cpu clock..."

    Owszem, nawet napisałem, że czasami udaje się na innych ustawieniach.
    W AVR studio nie ma problemu, ale w AS, przynajmniej u mnie krzyczy, że przekroczył czas oczekiwania na odpowiedź prockai żeby pogmerać w ustawieniach częstotliwości. Jeśli ustawię na1/4, to wszystko śmiga bez problemu. Proszę sobie przetestować z różnymi ustawieniami, ja nie namawiam nikogo do zła.

    0
  • #5 06 Lut 2014 17:51
    Roman Szemik
    Poziom 14  

    Witam.

    Częstotliwość isp zmieniałem od 1/4 do 1/16 też to nic nie dało. Odnośnie polskich znaków to faktycznie pousuwałem polskie ogonki i programator równoległy zaprogramował (atmega 128), nie było żadnych komunikatów, lecz program nie wiem dlaczego ale płytka nie zadziałała (spróbuję napisać nakiś mniejszy programi i dogłębnie skontrolować działanie)
    Ponownie próbowałem podłączyć programator równoległy lecz bez efektu.

    Czy programator szeregowy może tak dziwnie "uszkodzić" mikrokontroler aby nie dało się go uratować programatorem równoległym.

    Dzięki za podpowiedzi.
    Pozdrawiam

    0
  • #7 07 Lut 2014 12:31
    Roman Szemik
    Poziom 14  

    Witam.

    Programator podpinam na szczęście do niewykorzystanych pinów zgodnie z dokumentacją złącza 20-o pinowego i dokumentacją atmega 128. Pin reset nie jest do niczego podpięty w układzie. AVRISP mkII - programator uszkadzający mikrokontrolery ? AVRISP mkII - programator uszkadzający mikrokontrolery ?

    Tak dla przypomnienia - programator równoległy wgrywa bez problemu plik do mikrokontrolera. Nia ma żadnego komunikatu o błędzie i są tylko same OK.
    W zakładce z fusebitami w programatorze DRAGON natrafiłem na całą listę bezpieczników i może to one są przyczyną że układ nie współpracuje z zewnętrznym kwarcem 16Mhz. W programatorze szeregowym wybierałem external oscylator 64 ms i działało, natomiast teraz mam tego od groma i proszę o wskazówkę co wybrać aby układ działał na zewnętrznym kwarcu 16MHz.

    EXTROSC_8Mhz_12Mhz
    EXTLOFXTALRES
    EXTMEDFXTALRES
    EXTROSC_XX_0Mhz9

    Kiedyś jak zablokowałem fusebity to również nie mogłem się podłączyć z szeregowym programatorem. Teraz chciałbym, jeśli się uda obejść się bez wymiany 60-cio nóżkowego potwora gdzie podwyższone tętno przekłada się na drganie lutownicy.

    Pozdrawiam.

    0
  • #8 07 Lut 2014 13:51
    piotrva
    Moderator na urlopie...

    Hmm, Kolego, ja datasheet znam, serio nie musisz mi go pokazywać, znam też sygnały HVPP.
    Jednak nadal nie widzę schematu Twojego układu (a już nie jeden by głowę stracił z powodu świętego przekonania o nieomylności).

    Aby działać z kwarcem 16MHz musisz wybrać CKSEL=1111.
    To że reset nie jest do niczego podpięty (w szczególności brak pull-up'a) już wskazuje na poważne błędy merytoryczne w schemacie.

    0
  • #9 09 Lut 2014 20:48
    Roman Szemik
    Poziom 14  

    Witam.

    Po wielu przelanych umysłowych kroplach potu chciałem podzielić się moimi spostrzeżeniami. Jako że pierwszy raz podpinałem AVR DRAGONA to może moja praca komuś podobnemu się przyda.

    Chronologiczny wykaz czynności przed uruchomieniem AVR DRAGONA

    -UAKTUALNIĆ FIRMWARE w danej wersji ATMEL STUDIO
    -DRAGON w programowaniu równoległym raczej nie powinien być podpinany do zewnętrznego projektu ze względu na brak konwerterów napięć na złączu 20-o pinowym - może to uszkodzić elementy współpracujące z mikrokontrolerem 12V-RESET.
    -ja nie miałem innego wyjścia i podpinałem się bezpośrednio do układu
    -gdzie które sygnały podpiąć są zobrazowane w rozszerzonej dokumentacji mikrokontrolera na stronie około 292 (ATMEGA128)
    -układ programowany musi być zasilany tylko z programatora AVR DRAGON (złącze 20-to pinowe) - zasilanie zewnętrzne układu musi być wyłączone
    -obciążenie zasilacza z AVR DRAGON nie powinno być większe niż 300mA i jest uzależnione od wydajności prądowej złącza USB
    -oprócz wszystkich podpięć należy połączyć VCC z drugim pinem złącza ISP

    Po wykonaniu powyższych czynności mogłem odczytywać bity, zmieniać je, programować ATMEGĘ 128 (NIE WYSKAKIWAŁY ŻADNE BŁĘDY). Po ustawieniu wszystkich fusebitów na właściwe (bit od częstotliwości był ustawiony na EXTERNAL CLOCK) postanowiłem podpiąć programator szeregowy MKII i skontrolować czy zobaczy mikrokontroler.
    Bez rezultatu. W dalszym ciągu programator szeregowy nie widział procka (wcześniej oczywiście wgrałem mu najnowszy firmware). Odinstalowałem ATMEL STUDIO 6.1, zainstalowałem ponownie ATMEL STUDIO 4.18 i dalej nic.
    W końcu przywróciłem system z początku roku 2013 gdzie pracowałem tylko na ATMEL STUDIO 4.18 i jak ręką odjął.
    Programator szeregowy zaczął współpracować z ATMEGA 128. Wielokrotnie odłączałem programator, wyłaczałem Windowsa ( WIN 7 64BIT) i za każdym razem odczytywał mi sygnaturę procesora.
    Nie mam pojęcia dlaczego tak dziwnie zachowywał się programator MKII. Na tą chwilę raczej nie pokuszę się na ATMEL STUDIO 6.1 który u innych przypuszczam funkcjonuje poprawnie. Tak na marginesie strasznie długo się załącza.

    Mam nadzieję iż problem się nie powtórzy.
    Pozdrawiam i dziękuję za zainteresowanie tematem

    0
  Szukaj w 5mln produktów