-
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!opal.futuro.pl!news.internetia.pl!not-
for-mail
From: Wojciech Bartczak <o...@o...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: at90s2313 resety i zwisy
Date: Mon, 01 Feb 2010 00:04:10 +0100
Organization: Netia S.A.
Lines: 81
Message-ID: <hk52hu$dtv$1@mx1.internetia.pl>
References: <hk4aq3$i56$1@node1.news.atman.pl> <hk4fef$ljj$1@mx1.internetia.pl>
<hk4nfa$ko7$1@node1.news.atman.pl>
NNTP-Posting-Host: 81.219.112.236
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1264979326 14271 81.219.112.236 (31 Jan 2010 23:08:46 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Sun, 31 Jan 2010 23:08:46 +0000 (UTC)
In-Reply-To: <hk4nfa$ko7$1@node1.news.atman.pl>
X-Tech-Contact: u...@i...pl
X-Antivirus-Status: Clean
X-Antivirus: avast! (VPS 091126-1, 2009-11-26), Outbound message
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.5) Gecko/20091204
Thunderbird/3.0
X-Server-Info: http://www.internetia.pl/news/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:580830
[ ukryj nagłówki ]W dniu 2010-01-31 21:01, tomekp pisze:
> Dzięki za odpowiedź. Problem resetu może być rzeczywiście związany ze
> słabą wydajnością zasilania. Zastosowałem do tego jakąś starą ładowarkę
> od telefonu simensa. Przy starcie przekaźnika może rzeczywiście być
> cienko z prądem i dochodzić do spadku napięcia i resetu. Jeśli chodzi o
> podciąganie pinu resetu to ćwiczyłem to dość dokładnie, wniosek był
> jeden: im więcej naczepiane tym gorzej. Dlatego zostawiłem po prostu
> reset niepodłączony do niczego, tzn przez podstawkę zlutowany jest ze
> ścieżka płytki.
Jak dokładnie rozwiązałeś stabilizację zasilania
dla układu ? LM317/LM7805 + "bateria" kondensatorów ?
Ja bym zrobił tak. Poprawił zasilanie, może coś impulsowego bym
dał, najlepiej jakiś step-down, wtedy da się odciążyć źródło, zapewne
transformator :). To powinno rozwiązać problem zasilania.
Ew, dać większe trafo, które uciągnie układ podczas załączania
przekaźników.
Ale ta ścieżka jest krótka, nie więcej niż 1cm albo coś
> koło tego.
Problem jest taki, że nie możesz zagwarantowac stałości potencjału tego
kawałka ścieżki. Jego wartość będzie zależeć od tego co się dzieje w
okół, może się zdarzyć, że będzie chwilowo mniejszy od progu przełączania.
> Generalnie resetowanie się procka to problem dla mnie
> drugorzędny i wolałbym nie dłubać w fusebitach bo wydaje mi się, że
> gdyby procek nie robił resetu to by się zawieszał znacznie znacznie
> częściej.
Problem może być taki, że skoro przysiadał reset w testach, to zamiast
tego, teraz przysiada zasilanie MCU. A w wyniku tego zaczynają się dziać
dzikie rzeczy w całym układzie.
To właśnie to zawieszanie mnie intryguje bo, z tego co wiem, w
> stanach gdzie procek głupieje zaczyna działać watchdog. Jesli procek nie
> odpowiada na pytania watchdoga to ten go resetuje.
Watchdog restartuje procesor, gdy nie dostanie
sygnału, że wszystko jest ok, czyli, np. długie pętle, intensywne
obliczenia. Może wystarczy w pętlach które masz w programie wstawić
takową instrukcję ?
BYć może źle
> rozumuję, nie wiem. U mnie w czasie zwiechy procesor zachowuje się
> totalnie bez sensu, jak pociągne za sznureczek dioda zaczna migać w
> przypadkowy sposób ale świeci ciągle. A wentylator albo nie pracuje
> wcale albo pracuje non-stop. Konieczne jest wtedy odłączenie zasilania.
Może być to wywołane tym, że masz dziwne wartości w rejestrach po
restarcie. Zgodnie z dokumentacją, po restarcie wykonywane jest
przerwanie o adresie 0, czyli instrukcja spod adresu 0x0000.
Zobacz też czy nie masz uaktywnionych innych przerwań od innych
urządzeń, np. ADC, komparator analogowy ?
ja proponuje zrobić coś takiego (kod w asm)
Adres instr. instr.:
;; obsługa tylko startu/resetu jeżeli wystąpi
0x0000 rjmp start
0x0001 reti
0x0002 reti
....
0x00a reti
start: cli ;; blokuje przerwania
<twoja inicjalizacja zmiennych>
sei ;; odblokowuje przerwania
<cała reszta programu>
To powinno zagwarantować, że wystartujesz pewnie
a procesor przejdzie pełny restart. Dodatkowo nawet jeżeli pojawi się
jakieś niespodziewane przerwanie, to zostanie po prostu zignorowane.
Jeżeli używasz jakichś przerwań (z kodu wnioskuje, że timery)
to powinieneś pod odpowiednimi adresami mieć wpisane skoki do
obsługi tych przerwań.
Pozdrawiam,
Wojtek.
Następne wpisy z tego wątku
- 01.02.10 06:37 EM
- 01.02.10 09:08 tomekp
- 01.02.10 09:15 tomekp
- 01.02.10 10:45 u
- 01.02.10 19:56 MM
- 01.02.10 20:33 tomekp
- 01.02.10 20:36 tomekp
- 02.02.10 06:47 MM
- 02.02.10 09:30 u
- 08.02.10 11:30 tomekp
- 10.02.10 23:03 Sylwester Łazar
- 11.02.10 00:33 J.F.
- 11.02.10 09:14 Sylwester Łazar
- 11.02.10 08:58 J.F.
- 11.02.10 09:08 tomekp
Najnowsze wątki z tej grupy
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
Najnowsze wątki
- 2025-02-04 ranking wyciszenia, głośność, hałas przy 130 km/h, na postoju, przy przyspieszaniu
- 2025-02-05 Warszawa => IT Recruiter <=
- 2025-02-05 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-05 Rzeszów => Spedytor Międzynarodowy <=
- 2025-02-05 Warszawa => IT Business Analyst <=
- 2025-02-05 Warszawa => Specjalista DevOps <=
- 2025-02-05 Łódź => NodeJS Developer <=
- 2025-02-05 Warszawa => QA Engineer (Quality Assurance) <=
- 2025-02-05 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-05 Warszawa => QA Engineer <=
- 2025-02-05 Warszawa => Programista Full Stack .Net <=
- 2025-02-05 Re: UK: Michał K. dalej czeka na rozprawę ekstradycyjną w areszcie [bo nie (jeszcze?) zebrał kaucji]
- 2025-02-04 podpisywanie umów z datą wsteczną
- 2025-02-04 Radio internetowe do starego Androida
- 2025-02-04 "ogrodowa linia napowietrzna"