AVR - resetowanie ATMega8 przy programowaniu przez ISP

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Daymian
-
Posty: 82
Rejestracja: 25 lip 2006, 21:23
Lokalizacja: Bochnia
Kontakt:

AVR - resetowanie ATMega8 przy programowaniu przez ISP

Post autor: Daymian » 26 lip 2006, 10:15

Programuje AVR'y a Bascomie przez port LPT-przez ISP. Jednak gdy mam procka podpiętego do portu co kilka sekund "COŚ" mi go resetuje 4 razy w ciągu 1,5 sekundy. Potem przerwa kilka sekund i znowu 4 resety. Zebyt zaprogramowac procesor musze zmieścić sie w tym czasie gdy nie ma resetów. Przy ładowaniu mniejszych programów nie ma probledmu, jednak przy większych ciężko mi sie zmieścić w tych kilku sekundach i pojawiają sie błędy. Wie ktoś co powinieniem zrobić? Jak skonfigurować port komputera żeby nie robiło tych resetów?A może to nie przez kompa. Tylko przez co?

tasza
Użytkownik
Posty: 1391
Rejestracja: 21 lut 2005, 15:02

Post autor: tasza » 26 lip 2006, 12:05

a czy czasem nie masz zainstalowanych sterowników do drukarki i ustawionych na ten port?
to może być jedna z potencjalnych przyczyn...system próbuje porozumieć się
z drukarką więc wysyła różne sekwencje danych na LPT...efektem jest resetowanie się procesora

tasza

Daymian
-
Posty: 82
Rejestracja: 25 lip 2006, 21:23
Lokalizacja: Bochnia
Kontakt:

Post autor: Daymian » 26 lip 2006, 12:44

Też tak myślałem że to przez drukarke. Bascom podobno wymaga zainstalowanej jakiejkolwiek drukarki...tak wyczytałem w EdW..jesli sie nie pomyliłem. Wcześniej nie miałem zainstalowanej żadnej i też mi resetowało procka (tylko jak mi programowało???)a teraz zainstalowałem drukarke i dalej resetuje. Próbowalem zmienaić w ustawieniach systemu "bezpośredni dostęp do pamięci" bo tylko to sie dało ale nic-nie pomogło, nawet nie widziało procka. A moze jakieś inne ustawienia mam zmienić?

alaris
Użytkownik
Posty: 530
Rejestracja: 21 lut 2006, 14:56
Lokalizacja: Gorzow/Poznan

Post autor: alaris » 26 lip 2006, 14:08

Jestes pewien, ze to reset? Swojego czasu mialem problemy z programowaniem procesora 89S8252 (chyba) - mianowicie programuje, programuje i sie zatrzymuje. W moim przypadku winne byly zaklocenia. Moze masz za dlugi przewod laczacy programator z prockiem ? Wtedy moga powstawac zaklocenia i resetowanie ukladu.

Daymian
-
Posty: 82
Rejestracja: 25 lip 2006, 21:23
Lokalizacja: Bochnia
Kontakt:

Post autor: Daymian » 26 lip 2006, 14:42

Wądpie żeby były to zakłucenia bo po pierwsze kabel od programatora jest krótki, a po drugie są to regularne resety. Tak mysle że są to resety ponieważ układ ma 4 wyświetlacze LED i diode LED. I to własnie po nich widze ze coś jest nie tak. Cały cykl wygląda tak:
Reset-dłuższa przerwa-reset-dłuższa przerwa-reset-krótsza przerwa-reset-kilkusekundowa przerwa.
Cały cykl trwa ok. 9 sekund a czas między pierwszym resetem a 4 to ok. 1,5sekundy. Może to rzeczywiście przez jakieś sterowniki do drukarki? Tylko jak je usunąć i jakie zainstalować żeby nie robiło mi tych resetów? A jeśli to nie to, to co?

PS. tez kiedyś miałem taki problem z zatrzymywaniem sie programowania w trakcie-do tej pory nie rozgryzełm tego. Jak ktoś wie coś na ten temat to też prosze pisać.

[ Dodano: 2006-07-27, 12:14 ]
No napiszce jak zmienić te ustawienia...PROSZEEEE!!!!! :cry:

alaris
Użytkownik
Posty: 530
Rejestracja: 21 lut 2006, 14:56
Lokalizacja: Gorzow/Poznan

Post autor: alaris » 28 lip 2006, 16:29

Zacznijmy od poczatku. Mysle, ze warto sie upewnic czy to NA PEWNO jest resetowanie. Sprobuj to wychwycic dwoma metodami:
* podlaczyc diode LED z resystorem 1k do resetu - jezeli pojawi Ci sie tam stan wysoki, to dioda bedzie migac (powinna), wydajnosc pradowa portu LPT i programatora chyba na to pozwoli :) (jak nie, to pozostaje dodac tranzystor)
* napisz prosty i krotki programik, ktory na CHWILE wlacza diode LED na plytce urzadzenia, a pozniej ja wylacza. Jezeli bedzie migac, tzn. ze proc jest resetowany.
Gdy to stwierdzisz, to odlacz programator od portu i bedziesz wiedzial, czy komputer jest temu winny, czy masz problem z programatorem/plytka...

Pozniej sprobuj Start->Ustawienia->Drukarki i faksy. Sprobuj usunac drukarki z otwartego okienka. Mozesz jeszcze ewentualnie cos doinstalowac. Nastepny krok to grzebanie w BIOSie - istnieje tam mozliwosc skonfigurowawania LPT - moze to cos da?
Desperacki krok to swieta trojca (CTRL+ALT+DEL) i pozamykanie wszystkich niepotrzebnych procesow. Moze ktorys z nich manipuluje portem ?

DODANO:
DO glowy przyszedl mi jeszcze jeden glupi pomysl, czy Ty aby czasem nie podlaczyles procka BEZPOSREDNIO do portu? JEzeli tak, to LPT ma 3,6V (standart TTL), a mikrokontroler opruje na standardzie 5V i te 3,6V czyta jak mu sie chce :) JEzeli tak, to powinienes zrobic jakis konwenter, np w oparciu o tranzystor PNP

Awatar użytkownika
marcing
Użytkownik
Posty: 868
Rejestracja: 14 lut 2006, 14:13
Lokalizacja: z pociągu...
Kontakt:

Post autor: marcing » 28 lip 2006, 19:42

alaris pisze:to LPT ma 3,6V (standart TTL), a mikrokontroler opruje na standardzie 5V i te 3,6V
Oj, chyba coś się Tobie pomieszało...
TTL to standardowo 5V właśnie.
Napięcia wyjściowe uP zależnie są od napięcia zasilania.
Układy TTL traktują jako "1" logiczne 70% napięcia zasilania...
alaris pisze:to dioda bedzie migac (powinna), wydajnosc pradowa portu LPT i programatora chyba na to pozwoli
Jeżeli czas trwania impulsu jest odpowiednio długi - to tak. Przy kilkudziesięciu ns może nawet nie zauważyć...


Daymian - kabelek programujący zrobiłeś sam? Sprawdź poprawność montażu - możliwe, że gdzieś źle podpiąłeś tę linię RESET-u...

mathieiov
Moderator
Posty: 829
Rejestracja: 31 lip 2005, 9:04
Lokalizacja: --

Post autor: mathieiov » 28 lip 2006, 20:12


alaris
Użytkownik
Posty: 530
Rejestracja: 21 lut 2006, 14:56
Lokalizacja: Gorzow/Poznan

Post autor: alaris » 28 lip 2006, 20:25

marcing pisze: Oj, chyba coś się Tobie pomieszało...
TTL to standardowo 5V właśnie.
Napięcia wyjściowe uP zależnie są od napięcia zasilania.
Układy TTL traktują jako "1" logiczne 70% napięcia zasilania...
5*0,7 = 3,6 :mrgreen: (to taki skrot myslowy byl, ze TTL=3,6V, bo tyle jest na wyjsciach)

Co do czasu trwania impulsu, owszem przy kilku ns bedzie niezauwazalny. Istnieje jednak szansa, ze bedzie i chyba warto to sprawdzic.

Na wyjsciu bramek logicznych TTL masz diode i tranzystor, ktore kradna 1,4V i z Twoich 5 zostaje moje 3,6V :) Por. np. rys 5.2, str 81, "ukaldy cyfrowe" W. Glocki

Daymian
-
Posty: 82
Rejestracja: 25 lip 2006, 21:23
Lokalizacja: Bochnia
Kontakt:

Post autor: Daymian » 01 sie 2006, 23:49

Dobra, wiem już co jest grane, to był program od skanera który co kilka seknd dobierał sie do portu LPT :???:

ODPOWIEDZ