Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 kwi 2024, o 13:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 25 paź 2012, o 18:47 
Offline
Nowy

Dołączył(a): 25 paź 2012
Posty: 7
Pomógł: 0

Witam,

Już drugi raz mi się zdarzyło, że podczas programowania (programator stk500v2 i avrdude) uszkodził mi się mikrokontroler (atmega32), a konkretnie nadpisana została sygnatura (której nadpisanie wg dokumentacji jest niemożliwe). A przy okazji rozstroiła mi się też częstotliwość, bo w sygnaturze jest zdaje się zapisana wstępna wartość OSCCAL. Programy wgrywają się bez problemu (po użyciu opcji -F w avrdude) i działają.

Zauważyłem też, że częstotliwość jest nieprawidłowa nawet jak używam rezonatora kwarcowego i że zmienia ją wartość OSCCAL - co chyba nie powinno się dziać, bo jak rozumiem OSCCAL jest tylko dla rezonatora wewnętrznego.

Zdarzyło się może komuś coś podobnego? Jaka może być przyczyna?

Podczas programowania używałem modułu SPI (piny były podłaczone do rejestru przesuwnego). Może stąd jakieś zakłócenia podczas programowania?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2012, o 19:03 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Ja nieśmiało stwierdzę, że nie ma takich uszkodzeń - że być może kolega popełnia jakiś błąd :( niestety

generalnie w procesorach na pewno nie ma wbudowanych rezonatorów tylko oscylatory RC (choć rozumiem że to tylko literówka)

I rzeczywiście rejestr OSCCAL dotyczy TYLKO i WYŁĄCZNIE dostrajania tego wewnętrznego oscylatora RC, natomiast z zewnętrznym taktowaniem nie ma nic wspólnego.

Zamiast więc szukać jaka była przyczyna - może spróbujmy zrobić kilka testów i sprawdzić co się dzieje -- dużo nie trzeba.

To że podczas programowania był podłączony SPI rejestru przesuwnego - nie ma żadnego znaczenia ....

gdyby miało - to ja miałbym chyba co drugi procek w ten sposób uwalony, bardzo ale to bardzo często mam podłączone SPI w trakcie programowania

------------------

chce kolega podjąć się sprawdzenia ? jeśli tak to proszę jeszcze napisać jakiego środowiska programistycznego używasz ? jakim najprostszym programem próbowałeś testować procesor itp ??? Oraz jakim programem odczytujesz dane z procka ? Podaj garść informacji po prostu

ale co ważne pokaż (to bardzo ważne) SCHEMAT - jak masz podłączony do testów procesor (zasilanie itp) ok?

szybko dojdziemy co jest nie tak - a przy okazji dowiesz się jak postępować.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2012, o 19:15 

Pomógł: 0

Sam miałem problemy między 644AP, a ustawieniem 644A w programatorze.... podobnie z atmega8 i 8A, błędnie wybrany procesor podczas programowania i potrafiły wylecieć fusy, właśnie na STK500v2 z AVT5125..... bo już AVT988 to totalna kupa... potrafił się co podłączenie rozprogramować FTDI, teraz mam ATB z programatorem, ustawiłem do porządku FUSY w 644AP i problemy się skończyły.

Na dragonie też żadnych problemów nie miałem......



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2012, o 21:31 
Offline
Nowy

Dołączył(a): 25 paź 2012
Posty: 7
Pomógł: 0

ok. schemat naskrobie i wrzuce w weekend jak bede mial wiecej czasu i jak bedzie trzeba. opis słowny (niezbyt skomplikowany): dioda podlaczona plusem do pinu i przez r=1kohm do masy. podlaczone avcc i vcc i obie masy + 100 nF i 22uF filtrujace zasilanie. rezonator kwarcowy do pinow xtal + 2 kondensatory 22pF do masy.

Program (mam na drugim kompie, jak trzeba to tez wrzuce jutro) miga diodą (zmienia stan diody w petli) co 1000 ms (_delay_ms). Aby upewnic sie, ze fusy rzeczywiscie ustawione na rezonator wyciagam go na chwile i przestaje migac. Zmieniam wartosc osscal i wrzucam ponownie program miga z inna czestotliwoscia.

Cytuj:
I rzeczywiście rejestr OSCCAL dotyczy TYLKO i WYŁĄCZNIE dostrajania tego wewnętrznego oscylatora RC, natomiast z zewnętrznym taktowaniem nie ma nic wspólnego.


Wiem ze tak jest w teorii, ale to co widzę temu zaprzecza (niedowiarkom moge nagrac filmik, jak mikrokontroler nadal bedzie dzialal, bo jak mowilem zachowuje sie dziwnie, a wpływ osccal na rezonator zewnętrzny i same jedynki w sygnaturze są tego dowodem).

Uzywam Eclipse z pluginem AVR (dziala wszystko dobrze od dlugiego czasu). Programator tez sprawdzony, bo używam też Atmegi8 i z nią nie ma żadnych problemów. Używam też AVR Studio 4, do ustawiania i odczytywania fusebitow (ustawione standardowo, oprocz wylaczenia jtaga i zmiany czestotliwosci) - on tez widzi zla sygnaturę, ale fusebity ustawia i odczytuje poprawnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 paź 2012, o 21:39 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

To może na początek zamiast przekonywać niedowiarków - spróbujmy zrobić i sprowadzić wszystko do wspólnego mianownika. Ja oczywiście nie staram się tobie wmówić że z procesorem się nic nie dzieje, ale uwierz mi że ja sam nigdy nawet sobie w takie rzeczy nie wierzę gdy świadomość mi podszeptuje że procek się uszkodził. I najpierw muszę zrobić setki przeróżnych testów - szukać błędów w tym co zrobiłem .... zwykle w 99,9999% okazuje się że znajduję błąd u siebie.

Skoro więc sam do siebie tak podchodzę to również do innych przypadków tego typu ...

A zatem - jeśli miałbym coś pomóc to tak jak mówiłem,

skoro programujesz w ECLIPSE to SUPER - poproszę więc spakuj swój cały folder projektu ale w dwóch wersjach. Jedna wersja bez żadnego tam ustawiania OSCCAL przy zewn. kwarcu a druga wersja niech będzie z tą twoją zmianą OSCCAL przy kwarcu. Spakuj je do ZIP lub RAR i nawet zamieść tu w załączniku.

to będzie pierwsza sprawa ....

druga to schemat, napisz też z jakiego źródła zasilasz całość ok ?

Potem zaproponuję ci coś ciekawego ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2012, o 19:20 
Offline
Nowy

Dołączył(a): 25 paź 2012
Posty: 7
Pomógł: 0

Cytuj:
druga to schemat, napisz też z jakiego źródła zasilasz całość ok ?


ok. dzieki za podpowiedz. zmiana zrodla rozwiazala problem z czestotliwoscia. wczesniej zasilalem z chinskiego zasilacza Yihua, czyli nie produkt pierwszej jakosci. multimetr nie pokazuje wahania, ale moze pod oscyloskopem troche skacze (a niestety oscyloskopu nie posiadam). Po przejsciu na zasilanie z programatora usb dioda miga niezaleznie od innych ustawien :).

Pewnie powinienem o tym pomyslec na poczatku, ale jako wymowke uzyje tego, ze bylem przejety dziwna sygnatura, ktora wciaz wynosi 0xff ff ff (nawet przy zmianie zasilania), a wczesniej nie mialem podobnych problemow z tym zrodlem.

Czyli jednak sie sprawdzilo w tym przypadku, że:

Cytuj:
zwykle w 99,9999% okazuje się że znajduję błąd u siebie.


Ale moze w takim razie moze okaze sie, ze z ta sygnatura tez da sie cos poradzic.

Dołaczam schemat (ktory nie jest zbyt odkrywczy):

Dorzuce moze zrzut z avrdude: widac ze sygnatura jest zla, a program sie wgrywa, jest weryfikowany przez avrdude i dziala normalnie:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2012, o 19:43 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Ok schemat może nie jest zbyt odkrywczy jak mówisz ale ważny, ponieważ widać, że przede wszystkim prawidłowo podłączyłeś zasilanie procka.

I teraz widzisz - kłopoty z zasilaniem podczas programowania - rzeczywiście mogą być NAJWIĘKSZYM twoim wrogiem niestety. Więc nawet jeśli ta sygnatura odpłynęła w siną dal - to raczej nie z powodu programatora a zasilania.

Nie na darmo zapytałem o to źródło - bo z mojej praktyki wynika że spora ilość początkujących boryka się właśnie z jakimś chińskim zasilaczem, który ledwo przędzie - niestety :(

wracając do tematu - masz zasilanie z USB - ono jest pewniejsze, i jeśli miernik pokazuje ci +5V to spróbuj teraz odpalić konsolę i z ręki wywołaj AVRDUDE z następującymi parametrami:

avrdude -p atmega32 -c usbasp -P usb

jak niżej:

Obrazek

tylko oczywiście zmień ew usbasp na swój programator stk500v2 i ew port usb na COMx

potem zrób zrzut ekranu i wklej go tutaj dobrze ?

ale UWAGA! .... KONIECZNIE użyj tego avrdude, które można zainstalować z programu MkAvrCalculator. Pobierz go zatem stąd:

http://atnel.pl/mkavrcalculator.html

i wejdź w zakładkę "USTAWIENIA" a na dole w ramkę "avrdude" i kliknij tam klawisz "Instaluj".... potem utwórz jakiś koniecznie krótki folder na dysku C i tam zainstaluj, najlepiej w:

C:\AVRDUDE

następnie gdy odpalisz konsolę wejdź tam:

cd \avrdude

i wydaj to polecenie wyżej

proszę o tą wersję avrdude żebyśmy sprowadzili wszystko jak mówię do wspólnego mianownika.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2012, o 20:07 
Offline
Nowy

Dołączył(a): 25 paź 2012
Posty: 7
Pomógł: 0

Zrobione. Wynik jak niżej


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2012, o 20:38 
Offline
Użytkownik

Dołączył(a): 29 mar 2012
Posty: 595
Lokalizacja: Jaworzno
Pomógł: 39

Jeżeli mogę zabrać głos w tej dyskusji, gdyż śledzę forum i ten temat. Też używam programatora STK500v2 i mogę potwierdzić że AVRDude niekiedy ma problem z tego typu programatorami. Mam ten programator ponad dwa lata i chyba on nie lubi AVRDude lub odwrotnie ;). Używam Mirkowego MkAVRCalkulatora dość często, ale muszę przyznać że z powyższym programatorem AVRStudio4 SP3 działa dużo lepiej. Kiedy wcześniej koledzy Mirek i michal.xss dyskutowali to wykonałem na potwierdzenie testy na dwóch prockach: ATMega644PA oraz ATMega32 i w obu przypadkach AVRStudio4 SP3 odczytało sygnatury i gotowe było do wgrania programu. Natomoiast AVRDude instalowane z MKAvr wyrzuca błąd że jakiś plik *.tmp jest używany (w profilu żytkownika) i nie można nadpisać. Wrzucę konkretny screen trochę później.

PP

_________________
Pozdrawiam
PP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2012, o 21:18 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Piotrek_P --> to z tym nadpisywaniem pliku czy tam niemożliwością odczytu nie ma kompletnie NIC wspólnego z tym problemem więc może na razie nie zaciemniaj obrazu ok ? (tzn załóż może oddzielny wątek z tematem o kłopotach w MkAvrCalculator) .... tak się składa że ja nie używam stk500v2 więc nie mam jak ich przebadać ....

michal.xss --> a teraz spróbuj to samo ale może z opcjonalnym spowolnieniem stk500v2 czyli

avrdude -p atmega32 -c stk500v2 -P com2 -B 4800

Kłopot z programatorami stk500v2 polega na tym, że do nich też stosuje się opcję spowolnienia taktowania SCK na SPI ... i trzeba ręcznie używać takich parametrów jak ten wyżej

-B 4800
-B 2400
-B 9600

no trzeba byłoby popróbować - wtedy mógłbym być może dorobić pełną automatykę do MkAvrCalculator dla tego programatora

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2012, o 21:30 

Pomógł: 0

Potwierdzam,STK500v2 często na nowych szczególnie procach muszę włączać AS4 by ustawić fusy z 1Mhz na 8Mhz bo inaczej dude nie chce widzieć procka, albo dziwnie się zachowuje.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2012, o 21:42 
Offline
Użytkownik

Dołączył(a): 29 mar 2012
Posty: 595
Lokalizacja: Jaworzno
Pomógł: 39

Właśnie dziwna sprawa z tym odczytywaniem procków przez programatory? Może jakieś TimeOuty do komunikacji są inaczej dobrane albo co??

Dobra. Za sugestią Mirka wychodzę z tego wątku ;)

_________________
Pozdrawiam
PP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 paź 2012, o 23:07 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Piotrek_P napisał(a):
Właśnie dziwna sprawa z tym odczytywaniem procków przez programatory?


Jak sobie zrobisz USBASP to zobaczysz że raz na zawsze skończą się takie chocki - klocki ;) .... dlatego ja śmigam wciąż na takich programatorkach i ręczę za nie głową ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 paź 2012, o 12:13 
Offline
Nowy

Dołączył(a): 25 paź 2012
Posty: 7
Pomógł: 0

Cytuj:
avrdude -p atmega32 -c stk500v2 -P com2 -B 4800


Gdy probuje to zrobic, to wyskakuje mi blad, ze sck_period jest za duzy. Po wspisaniu paru wartosci okazuje sie, że maksymalna wartosc okresu to 276,7 us, a minimalna to 1.1 us. Dla wszystkich sprawdzanych (1.1, 50, 150, 250, itp.) wartosci sygnatura nadal 0xff ff ff.

Moze chodziło o opcję małe -b (baudrate). Ale zmiana tego prowadzi do braku komunikacji (timeouty) dla paru wartosci (4800,itp.).

Zmiane zegara ISP robilem tez w avr studio na wszystkie dostepne wartosci: bez skutku. dla kazdej wartosci ta sama sygnatura.

Moze tylko dodam, ze wczesniej programator wykrywal dobra sygnature przy domyslnych ustawieniach bez problemu i wciaz to robi dla atmegi8 taktowanej takze 16mhz.

Probowalem tez programowanie dla oscylatora RC (1mhz i 8mhz) dla atmegi32 - bez zmian.

A i to chyba nie wina programatora, bo dla oscylatora RC 1 sekunda trwa na oko z pół minuty (co tyle zmienia sie stan diody) - co oznacza chyba zla wartosc osccal (chociaz nie wiem czy az takie zmiany sa mozliwe) (gdyby ktos pytal, tak zmienilem F_CPU w projekcie na 1mhz i wgralem program z nowa wartoscia). wiec tak na logike:

1. programator widzi zla syngature
2. w sygnaturze zawarta jest wstepna wartosc OSCCAL
3. czestotliwosci pracy oscylatorow wew. sa zdecydowanie nie takie jak powinny.
4. sygnatura i oscylatory wczesniej dobrze dzialaly.
5. czyli syngatura jest zla w procesorze, a nie tylko zle widziana przez programator/program/itp i ulegla uszkodzeniu z nienzanej dla mnie przyczyny: byc moze z mojej winy (moze podczas felernego programowania cos zle podlaczylem i bylo jakies zwarcie - jak sie uszkodzila sygnatura programowalem z uzyciem zasilania USB, ktore ma chyba max 500 mA. USB w kompie zapewne ma zabezpieczenia przeciwzwarciowe, ale nie wiem czy wyswietla sie jakis komunikat w Windows7 jak jest za duzy prad pobierany z USB.)

Chyba, ze istnieje inne wytlumaczenie?


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 paź 2012, o 12:45 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Ok no może tak być że ta sygnatura się rozsypała na końcu ..... po poprzednich testach ze złym zasilaniem. Ale ja na twoim miejscu sprawdziłbym to jeszcze jakimś innym programatorem (nie mówię że koniecznie USBASP, ale dowolnym innym - nawet takim na 4 rezystorach podpiętych bezpośrednio do LPT)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 paź 2012, o 15:54 
Offline
Nowy

Dołączył(a): 25 paź 2012
Posty: 7
Pomógł: 0

częstościomierza nie mam, niestety, więc nie sprawdzę częstotliwosci na xtal.

Chyba po prostu zamówię nowa sztuke.

Ale dzieki wszytkim za pomoc i porady :).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO