Zegar mikrokontrolera 89C51 nie startuje po załączeniu zasilania - co może być przyczyną?
? ? ? - Zerowanie mikrokontrolerow ATMEL
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Sun, 07 Jun 1998 17:28:20 +0200
Czy ktos wie, dlaczego po wlaczeniu napiecia zasilania
w mikrokontrolerze (89C51) nie zawsze startuje zegar ?
Tzn. napiecia na obu kocnowkach XTAL sa stale i generator
nie pracuje. Co ciekawsze po zresetowaniu (podaniem impulsu
na pin RESET) zegar startuje i wszystko jest O.K.
Zerowanie w moim ukladzie jest zewnetrzne (sygnal zerowania
wysyla centralny komputer akwizycji danych), tak wiec nie
budowalem ukladow automatycznego resetu.
Problem jest jednak w tym, ze po wlaczeniu napiecia zasilania
nie tylko nie pracuje zegar, ale takze wyjscia portu P1 sa
w stanie niskim !!! (przez co centralny komputer nie dowiaduje
sie o tym, ze 89C51 zostal wlaczony i trzeba go zresetowac).
Czy ktos wie, dlaczego zegar nie startuje ?
Za wolny wzrost UCC, zle kwarc (12 MHz), czy moze
niewlasciwe kondensatory przy kwarcu (27 pF kazdy) ?
W katalogach Atmela nie znalazlem nic na ten temat.
A moze to jest kwestia stabilizatora napiecia ?
Moze sa takie uklady kompatybilne z 7805, ktore
zapewniaja odpowiednio szybki wzrost napiecia wyjsciowego,
gdy wejsciowe jest juz odpowiednio duze ?
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: jareka_at_nospam_dawid.com.pl (Jarek Andrzejewski)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Mon, 08 Jun 1998 07:09:55 GMT
Sun, 07 Jun 1998 17:28:20 +0200, Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
napisał(-a):
Czy ktos wie, dlaczego po wlaczeniu napiecia zasilania
w mikrokontrolerze (89C51) nie zawsze startuje zegar ?
Za wolny wzrost UCC, zle kwarc (12 MHz), czy moze
Może...
Zrób taki układzik: do emitera tranzystora PNP doprowadź napięcie sprzed
stabilizatora, z kolektora poprowadź do stabilizatora, bazę dołącz przez rezystor i
diodę Zenera (6V2) do masy. Prąd kolektora popłynie, gdy napięcie wejściowe
przekroczy Ube+Udz=0,7V+6,2V=6,9V. Rezystor powinien mieć wartość taką, by przez
diodę popłynął prąd 5-10mA.
Jeśli napięcie ok. 6,5V (6,9V-Uce) będzie zbyt niskie dla 7805, to zastosuj diodę
Zenera na 6,8V lub 7,5V (z drugiej strony Ube+Udz nie może oczywiście przekraczać
napięcia sprzed stabilizatora).
Jarek Andrzejewski
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Mon, 08 Jun 1998 15:18:55 +0200
Jarek Andrzejewski wrote:
Czy ktos wie, dlaczego po wlaczeniu napiecia zasilania
w mikrokontrolerze (89C51) nie zawsze startuje zegar ?
Za wolny wzrost UCC, zly kwarc (12 MHz), czy moze
Może...
Zrób taki układzik: do emitera tranzystora PNP doprowadź napięcie sprzed
stabilizatora, z kolektora poprowadź do stabilizatora, bazę dołącz przez rezystor i
diodę Zenera (6V2) do masy. Prąd kolektora popłynie, gdy napięcie wejściowe
przekroczy Ube+Udz=0,7V+6,2V=6,9V. Rezystor powinien mieć wartość taką, by przez
diodę popłynął prąd 5-10mA.
Jeśli napięcie ok. 6,5V (6,9V-Uce) będzie zbyt niskie dla 7805, to zastosuj diodę
Zenera na 6,8V lub 7,5V (z drugiej strony Ube+Udz nie może oczywiście przekraczać
napięcia sprzed stabilizatora).
Jarek Andrzejewski
Dziekuje za dobry pomysl. Sek w tym, ze nie ma pewnosci, ze brak
samoczynnego
rozpoczecia generacji wynika ze zbyt wolnego narastania Ucc.
Jesli przyczyny sa inne, to uklad nie zadziala, i laser, ktorego moca
steruje moj mikrokontroler, moze zniszczyc gigawatowymi impulsami pol
laboratorium.
Wkurzylem sie tak, ze az zrobilem (nie kupilem, bo byla niedziela)
watchdoga.
Dziala tak: jesli co pewien czas watchdog nie otrzyma impulsu od
mikrokontrolera,
to resetuje mikrokontroler przez cwierc sekundy i po tym znowu czeka na
impulsy.
Watchdog jest bardzo prosty i skalda sie z:
- jeden uklad 74 HC 132 (cztery bramki NAND z histereza)
- trzy male kondensatory
- piec opornikow
- jedna dioda
Dziala niezawodnie. Prad zasilania - kilka mikroA.
Do wejscia mozna podlaczyc np. wyjscie mikrokontrolera ALE,
albo jakiekolwiek inne wyjscie, na ktorym impulsy pojawiaja sie
przynajmniej co cwierc sekundy. Brak tych impulsow oznacza, ze
mikrokontroler sie zawiesil, lub po prostu nie wystartowal,
wiec watchdog przeprowadza resetowanie.
Jesli ktos ma podobne problemy, moge przeslac schemat watchdoga.
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Wed, 10 Jun 1998 22:56:16 GMT
Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl> wrote:
Czy ktos wie, dlaczego po wlaczeniu napiecia zasilania
w mikrokontrolerze (89C51) nie zawsze startuje zegar ?
Za wolny wzrost UCC, zly kwarc (12 MHz), czy moze
Jezeli za wolny wzrost VCC to daj np. jakis Econoreset Dallasa, albo
jeszcze lepiej kompletny supervisor.
Praktyka (moja tez ;-)))) wykazuje, ze to najlepsze i niezawodne
rozwiazanie.
<snip>
Watchdog jest bardzo prosty i skalda sie z:
<snip>
Do wejscia mozna podlaczyc np. wyjscie mikrokontrolera ALE,
ALE to nienajlepszy pomysl, bo o ile wykryjesz, ze kwarc nie
wystartowal, to pozniej nie bedziesz pewny, czy program nie zwariowal
(a raczej procesor w trakcie jego wykonywania).
Lepiej jednak przerzucac watchdoga swiadomie jakas sterowana przez
program nozka procesora.
--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Thu, 11 Jun 1998 05:07:08 +0200
Jaroslaw Cichorski Jr. wrote:
Do wejscia mozna podlaczyc np. wyjscie mikrokontrolera ALE,
ALE to nienajlepszy pomysl, bo o ile wykryjesz, ze kwarc nie
wystartowal, to pozniej nie bedziesz pewny, czy program nie zwariowal
(a raczej procesor w trakcie jego wykonywania).
Lepiej jednak przerzucac watchdoga swiadomie jakas sterowana przez
program nozka procesora.
Doszedlem do tego samego wniosku i podlaczylem do innej nogi.
I tak jest pewien problem, bo miedzy sasiednimi impulsami
moze spasc napiecie itp, w wyniku czego cos sie zrypie w
zawartosci RAM i rejestrow, a procedura pulsujaca sygnalem
dla watchdoga (w przerwaniu czasowym) przy odrobinie szczescia
moze dzialac nadal i blad nie zostanie wykryty.
Dlatego moja procedura zanim wysle impuls do watchdoga sprawdza
zawartosc kilku wybranych rejestrow i komorek ram. Poniewaz
reszta programu ich nie uzywa, ich wartosci sa stale, a jesli
sie zmienią, to znaczy, ze byla/jest awaria, lub jest blad
w programie.
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Fri, 12 Jun 1998 08:22:10 GMT
Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl> wrote:
Doszedlem do tego samego wniosku i podlaczylem do innej nogi.
I tak jest pewien problem, bo miedzy sasiednimi impulsami
moze spasc napiecie itp, w wyniku czego cos sie zrypie w
zawartosci RAM i rejestrow, a procedura pulsujaca sygnalem
dla watchdoga (w przerwaniu czasowym) przy odrobinie szczescia
moze dzialac nadal i blad nie zostanie wykryty.
Dlatego moja procedura zanim wysle impuls do watchdoga sprawdza
zawartosc kilku wybranych rejestrow i komorek ram. Poniewaz
reszta programu ich nie uzywa, ich wartosci sa stale, a jesli
sie zmienią, to znaczy, ze byla/jest awaria, lub jest blad
w programie.
To tez nie daje pewnosci, bo na skutek zaklocenia moze sie zdarzyc
tak, ze procesor zapetli sie w jakiejs czesci programu glownego (bo
np. program przesunal mu sie o 1 byte na rozkazie 2 bytowym),
przerwania beda sie generowac (i np. watchdog bedzie pobudzany).
Przerzucenie watchdoga powinno wiec nastepowac, gdy sprawdzisz ze
program przeszedl przez wszystkie krytyczne punkty programu.
Zawartosc pamieci RAM mozesz zabezpieczac CRC, ale nie zawsze wszystko
da sie tak zabezpieczyc (w zasadzie tylko dane daja sie tak
zabezpieczyc, zmienne operacyjne nie do konca).
Jezeli chcesz sie zabezpieczyc przed skutkami spadkow napiecia to
zastosuj uklad wykrywajacy spadki VCC ponizej dopuszczalnej wartosci i
generujacy reset (np. econoreset Dallasa - 3 nogi w obudowie
tranzystorowej). Zeby nie przerywac pracy uP w nieoczekiwanym
momencie, lepiej miec tez uklad ostrzegajacy przed zanikiem zasilania.
Wszystko zalezy oczywiscie od tego czym sterujemy i jak wazna jest dla
nas np. ciaglosc danych.
Jezeli potrzebujesz do tego jeszcze podtrzymywac RAM po zaniku
zasilania to od razu uzyj MAX691 i bedziesz mial ALL IN ONE tzn
watchdog, ostrzeganie przed zanikiem zasilania, automatyczne
przelaczenie na baterie oraz uklad resetu napieciowego.
Pozdrawiam
--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Fri, 12 Jun 1998 17:51:48 +0200
Jaroslaw Cichorski Jr. wrote:
[...]
Jezeli potrzebujesz do tego jeszcze podtrzymywac RAM po zaniku
zasilania to od razu uzyj MAX691 i bedziesz mial ALL IN ONE tzn
watchdog, ostrzeganie przed zanikiem zasilania, automatyczne
przelaczenie na baterie oraz uklad resetu napieciowego.
Dzieki. Mam katalogi MAXIMa i jest w nich mnostwo swietnych
watchdogow i M.S.C. (Microprocessor Supervisory Circuit).
Niektore sa naprawde bdb.
Tyle, ze gdy ide do sklepu, zeby kupic ktorykolwiek z nich,
okazuje sie ze nie ma zadnego. I to w zasadzie caly problem.
Za male ilosci ukladow, zeby oplacalo sie sprowadzac chipy.
No, moze niedlugo cos sie zmieni. Moze juz sie zmienilo, a ja
o tym nie wiem, moze sa jakies godne zaufania i niedrogie firmy
wysylkowe wystawiajace faktury VAT, moze...
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Fri, 12 Jun 1998 23:43:43 GMT
Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl> wrote:
No, moze niedlugo cos sie zmieni. Moze juz sie zmienilo, a ja
o tym nie wiem, moze sa jakies godne zaufania i niedrogie firmy
wysylkowe wystawiajace faktury VAT, moze...
Sprobuj w ELFIE, sa drodzy jak cholera, ale przynajmniej kupisz 1
sztuke.
www.elfa.se
order_at_nospam_elfa.se
maja tez biuro w W-wie (22)652 38 80
PS. Zamow katalog
Pozdrawiam
--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?
From: Waldemar Rączka <wraczka_at_nospam_uci.agh.edu.pl>
Subject: Re: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Sat, 13 Jun 1998 11:20:24 +0200
Olgierd Cybulski wrote:
Jaroslaw Cichorski Jr. wrote:
[...]
Jezeli potrzebujesz do tego jeszcze podtrzymywac RAM po zaniku
zasilania to od razu uzyj MAX691 i bedziesz mial ALL IN ONE tzn
watchdog, ostrzeganie przed zanikiem zasilania, automatyczne
przelaczenie na baterie oraz uklad resetu napieciowego.
Dzieki. Mam katalogi MAXIMa i jest w nich mnostwo swietnych
watchdogow i M.S.C. (Microprocessor Supervisory Circuit).
Niektore sa naprawde bdb.
Tyle, ze gdy ide do sklepu, zeby kupic ktorykolwiek z nich,
okazuje sie ze nie ma zadnego.
Po naglowku wnioskuje, ze Krakow nie jest ci obcym miastem. Jesli tak
to idz do sklepu na przeciw kina Kijow. Sklep zwie sie Eles i tam MAX
691
kupilem jakies tydzien temu (czasami go brakuje, ale ogolnie MAX 691 tam
dostaniesz),
ewentualnie do hurtowni Mikros kolo KWAP
waldek
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Sat, 13 Jun 1998 19:48:10 +0200
Waldemar Rączka wrote:
[...]
Po naglowku wnioskuje, ze Krakow nie jest ci obcym miastem. Jesli tak
to idz do sklepu na przeciw kina Kijow. Sklep zwie sie Eles i tam MAX
691
kupilem jakies tydzien temu (czasami go brakuje, ale ogolnie MAX 691 tam
dostaniesz),
[...]
Dzieki !
Pytalem niedawno Bazarnika (z ElEsu) czy ma jakies Watchdogi,
lecz Bazarnik powiedzial ze nie ma.
Albo nie wiedzial, albo nie mial rzeczywiscie.
Dzieki raz jeszcze.
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: bonzo_at_nospam_ajax.umcs.lublin.pl (Dariusz Bandzarewicz)
Subject: Re: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Thu, 11 Jun 1998 14:56:48 GMT
On Mon, 08 Jun 1998 15:18:55 +0200, Olgierd Cybulski
<cybulski_at_nospam_pkpf.if.uj.edu.pl> wrote:
{...]
Dziekuje za dobry pomysl. Sek w tym, ze nie ma pewnosci, ze brak
samoczynnego
rozpoczecia generacji wynika ze zbyt wolnego narastania Ucc.
Jezeli problemem jest tylko brak startu generatora, to mozna to chyba
obejsc inaczej i zamiast kwarcu zastosowac generator kwarcowy.
Bonzo
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Watchdog do 51 (bylo: zerowanie mikrokontrolerow ...)
Date: Fri, 12 Jun 1998 03:54:19 +0200
Dariusz Bandzarewicz wrote:
Dziekuje za dobry pomysl. Sek w tym, ze nie ma pewnosci, ze brak
samoczynnego
rozpoczecia generacji wynika ze zbyt wolnego narastania Ucc.
Jezeli problemem jest tylko brak startu generatora, to mozna to chyba
obejsc inaczej i zamiast kwarcu zastosowac generator kwarcowy.
Dokladnie tak.
W przyszlych konstrukcjach bede stosowal generatory 5 - 24 MHz.
Miejsca na plytce zajmie wiecej, ale za to znikna klopoty.
A propo's : czy sa gdzies w polsce do kupienia male generatory kwarcowe
?
Tzn. w obudowach mniejszych. niz DIP 14 ?
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: Maciej Czapla <caltek_at_nospam_wroclaw.top.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Mon, 08 Jun 1998 20:25:36 +0200
Czy ktos wie, dlaczego po wlaczeniu napiecia zasilania
w mikrokontrolerze (89C51) nie zawsze startuje zegar ?
Tzn. napiecia na obu kocnowkach XTAL sa stale i generator
nie pracuje. Co ciekawsze po zresetowaniu (podaniem impulsu
na pin RESET) zegar startuje i wszystko jest O.K.
Zerowanie w moim ukladzie jest zewnetrzne (sygnal zerowania
wysyla centralny komputer akwizycji danych), tak wiec nie
budowalem ukladow automatycznego resetu.
Problem jest jednak w tym, ze po wlaczeniu napiecia zasilania
nie tylko nie pracuje zegar, ale takze wyjscia portu P1 sa
w stanie niskim !!! (przez co centralny komputer nie dowiaduje
sie o tym, ze 89C51 zostal wlaczony i trzeba go zresetowac).
Czy ktos wie, dlaczego zegar nie startuje ?
Za wolny wzrost UCC, zle kwarc (12 MHz), czy moze
niewlasciwe kondensatory przy kwarcu (27 pF kazdy) ?
W katalogach Atmela nie znalazlem nic na ten temat.
A moze to jest kwestia stabilizatora napiecia ?
Moze sa takie uklady kompatybilne z 7805, ktore
zapewniaja odpowiednio szybki wzrost napiecia wyjsciowego,
gdy wejsciowe jest juz odpowiednio duze ?
Podejrzewam, że chodzi tu jednak o oscylator ? Może 27 pF to za dużo dla
tej kombinacji obudowa + ścieżki + wyprowadzenia. Miałem swego czasu
podobne problemy z 89C2051. Żeby było smiesznie układ zaczął poprawnie
pracować jak wypieprzyłem kondensatory przy kwarcu a co ciekawsze
pracuje bez pudła także z rezonatorami 5.5 MHz z telewizorni do których
zalecają pojemność większą (ok 45 pF) (mimo, że ścieżki nie były zbyt
długie). Wewnętrzny RESET działa dopiero jak zacznie działać
oscylator, do tego czasu porty mają prawo być nieustalone (taka jest
oryginalna specyfikacja) bodajże tylko Philips 410 ma porty zbudowane
tak, że zewnętrzny RST wymusza stan pasywny (możesz zamówić z maską na 1
lub na 0)
MC
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Tue, 09 Jun 1998 14:55:37 +0200
Maciej Czapla wrote:
Czy ktos wie, dlaczego po wlaczeniu napiecia zasilania
w mikrokontrolerze (89C51) nie zawsze startuje zegar ?
Tzn. napiecia na obu kocnowkach XTAL sa stale i generator
nie pracuje. Co ciekawsze po zresetowaniu (podaniem impulsu
na pin RESET) zegar startuje i wszystko jest O.K.
[.....]
Podejrzewam, że chodzi tu jednak o oscylator ? Może 27 pF to za dużo dla
tej kombinacji obudowa + ścieżki + wyprowadzenia. Miałem swego czasu
podobne problemy z 89C2051. Żeby było smiesznie układ zaczął poprawnie
pracować jak wypieprzyłem kondensatory przy kwarcu a co ciekawsze
pracuje bez pudła także z rezonatorami 5.5 MHz z telewizorni do których
zalecają pojemność większą (ok 45 pF) (mimo, że ścieżki nie były zbyt
długie). Wewnętrzny RESET działa dopiero jak zacznie działać
oscylator, do tego czasu porty mają prawo być nieustalone (taka jest
oryginalna specyfikacja) bodajże tylko Philips 410 ma porty zbudowane
tak, że zewnętrzny RST wymusza stan pasywny (możesz zamówić z maską na 1
lub na 0)
Mozliwe, ze to oscylator. Z tymi oscylatorami to w ogole jest klopot.
Podobno niektore kwarce dla duzych czestosci pracuja na harmonicznych,
(nazwa raczaj nieprawidlowa - kwarc jest silnie anharmoniczny),
i podobno taki kwarc nie do wszystkich mikrokontrolerow sie nadaje.
Oczywiscie na kwarcach nie jest napisane, w jakim ukladzie pracuja,
a sprzedawcy w sklepach nie maja o tym zielonego pojecia.
W moim ukladzie sciezki sa bardzo krotkie, kwarc stoi kilka milimetrow
obok mikrokontrolera, plytka jest jednostronna, wiec z drugiej strony
nie ma zadnych sciezek, zatem pojemnosc pasozytnicza raczej nie jest
wieksza od kilku pF. Pojemnosci samych kondensatorow mierzylem mostkiem.
Ciagle nie rozumiem jednej rzeczy: dlaczego oscylator startuje po
uaktywnieniu zewnetrznego resetu ?
W zadnych ksiazkach, ani notach aplikacyjnych nie znalazlem odpowiedzi.
O.C.
P.S. Dziekuje za odzew !
----------------------------------------
pies pileon kameleon
----------------------------------------
From: Maciej Czapla <caltek_at_nospam_wroclaw.top.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Tue, 09 Jun 1998 18:36:25 +0200
Ciagle nie rozumiem jednej rzeczy: dlaczego oscylator startuje po
uaktywnieniu zewnetrznego resetu ?
Weź pod uwagę, że możliwa jest kombinacja czynników pochodzących od tego
co pisałem, czasu narastania zasilania etc. Zmieniając stan linii RESET
wprowadzasz jakby nie było pewien ładunek i wytrącasz układ z równowagi
i w dodatku podajesz już w stanie ustalonego VCC. Spróbuj (powinno to
rozjaśnić obraz) tylko prosty monitor VCC tzn zwalniający reset po
osiągnięciu pełnego VCC. I zobacz też czy startuje jak pogmerasz
paluchem po kwarcu. A jak mi się zdaje te pojemności istotnie wpływają
na czas startu oscylatora. Może spróbuj lekko asymetryczne wartości ?
W zadnych ksiazkach, ani notach aplikacyjnych nie znalazlem odpowiedzi.
Przytaczam za katalogiem Philips (to jest trywialne ale może coś się
nasunie):
Samoczynne zerowanie może być uzyskane podczas włączania VCC przez
połączenie pinu RST do VCC przez kond. 10uF i do VSS przez rez. 8k2, pod
warunkiem, że czas narastania VCC nie przekracza 1 ms a czas startu
oscylatora - 10 ms...
Do zapewnienia prawidłowego zerowania pin RST musi być w stanie wysokim
przez czas startu oscylatora plus dwa cykle maszynowe (linie portów będą
w stanie nieokreślonym dopóki oscylator nie wystartuje i wewnętrzny
algorytm nie zapisze stanów wysokich)...
Powodzenia
MC
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Tue, 09 Jun 1998 22:26:38 +0200
Maciej Czapla wrote:
Ciagle nie rozumiem jednej rzeczy: dlaczego oscylator startuje po
uaktywnieniu zewnetrznego resetu ?
Weź pod uwagę, że możliwa jest kombinacja czynników pochodzących od tego
co pisałem, czasu narastania zasilania etc. Zmieniając stan linii RESET
wprowadzasz jakby nie było pewien ładunek i wytrącasz układ z równowagi
i w dodatku podajesz już w stanie ustalonego VCC.
Tylko dlaczego nie pomaga wprowadzenia ladunku na porty wejscia wyjscia,]
zas pomaga podniesienie linii reset ?
A moze to jest tak, ze mikrokontroler wchodzi w tryb uspienia,
w ktorym nie pracuje generator (obnizony pobor mocy)?
Tylko dlaczego wchodzi w taki tryb zaraz po wlaczeniu Vcc ?
W ksiazkach pisza, ze reset wychodzi z trybu uspienia,
wiec to by sie akurat zgadzalo. Tylko jaki jest zwiazek resetu
ze startem oschylatora ?
Spróbuj (powinno to
rozjaśnić obraz) tylko prosty monitor VCC tzn zwalniający reset po
osiągnięciu pełnego VCC. I zobacz też czy startuje jak pogmerasz
paluchem po kwarcu. A jak mi się zdaje te pojemności istotnie wpływają
na czas startu oscylatora. Może spróbuj lekko asymetryczne wartości ?
Paluchem po kwarcu - nie pomaga. Ale duzym srubokretem (o duzej pojemnosci)
- tak ! - oscylator wtedy rusza.
W zadnych ksiazkach, ani notach aplikacyjnych nie znalazlem odpowiedzi.
Przytaczam za katalogiem Philips (to jest trywialne ale może coś się
nasunie):
Samoczynne zerowanie może być uzyskane podczas włączania VCC przez
połączenie pinu RST do VCC przez kond. 10uF i do VSS przez rez. 8k2, pod
warunkiem, że czas narastania VCC nie przekracza 1 ms a czas startu
oscylatora - 10 ms...
Do zapewnienia prawidłowego zerowania pin RST musi być w stanie wysokim
przez czas startu oscylatora plus dwa cykle maszynowe (linie portów będą
w stanie nieokreślonym dopóki oscylator nie wystartuje i wewnętrzny
algorytm nie zapisze stanów wysokich)...
To akurat mozna przeczytac u kazdego producenta i w wielu ksiazkach.
Powtarzaja w kolko to samo, a nie pisza, jak zapewnic start oscylatora...
To chyba nie jest w porzadku, ze uklad zrobiony dokladnie wedlug zalecen
producenta nie startuje.
Powodzenia
Jak juz pisalem, zrobilem watchdoga, i problem w zasadzie zniknal.
Gdyby jednak ktokolwiek z grupy znalazl gdzies informacje o tym,
co trzeba zrobic, by zegar mikrokontrolera zawsze samoczynnie
startowal, bylbym wdzieczny za namiary na te informacje.
Wiem, ze eksperymentujac z roznymi kondensatorami i z roznymi
kwarcami mozna uzyskac dobry start, pytanie tylko, czy to bedzie
niezawodnie dzialac zawsze, czy tylko z pewnym prawdopodobienstwem ?
Dzieki za pomoc.
Pozdrawiam -
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: "Bigrom" <bigrom_at_nospam_kki.net>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Wed, 10 Jun 1998 11:59:24 +0200
Piszecie jakieś dziwne rzeczy używam Atmela w produkcji i zawsze działa
poprawnie i bez problemu powiedzmy w 1000szt.
Albo jest problem z kondensatorami przy kwarcu albo z samym kwarcem lub z
odpowiednim resetem.
Pozdrowienia
BigRom
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Wed, 10 Jun 1998 10:22:39 GMT
Tue, 09 Jun 1998 14:55:37 +0200, Olgierd Cybulski
<cybulski_at_nospam_pkpf.if.uj.edu.pl> napisał(a):
Czy ktos wie, dlaczego po wlaczeniu napiecia zasilania
w mikrokontrolerze (89C51) nie zawsze startuje zegar ?
Tzn. napiecia na obu kocnowkach XTAL sa stale i generator
nie pracuje. Co ciekawsze po zresetowaniu (podaniem impulsu
na pin RESET) zegar startuje i wszystko jest O.K.
[.....]
Podejrzewam, że chodzi tu jednak o oscylator ? Może 27 pF to za dużo dla
tej kombinacji obudowa + ścieżki + wyprowadzenia. Miałem swego czasu
podobne problemy z 89C2051. Żeby było smiesznie układ zaczął poprawnie
pracować jak wypieprzyłem kondensatory przy kwarcu a co ciekawsze
pracuje bez pudła także z rezonatorami 5.5 MHz z telewizorni do których
zalecają pojemność większą (ok 45 pF) (mimo, że ścieżki nie były zbyt
długie). Wewnętrzny RESET działa dopiero jak zacznie działać
oscylator, do tego czasu porty mają prawo być nieustalone (taka jest
oryginalna specyfikacja) bodajże tylko Philips 410 ma porty zbudowane
tak, że zewnętrzny RST wymusza stan pasywny (możesz zamówić z maską na 1
lub na 0)
Mozliwe, ze to oscylator. Z tymi oscylatorami to w ogole jest klopot.
Podobno niektore kwarce dla duzych czestosci pracuja na harmonicznych,
(nazwa raczaj nieprawidlowa - kwarc jest silnie anharmoniczny),
i podobno taki kwarc nie do wszystkich mikrokontrolerow sie nadaje.
Oczywiscie na kwarcach nie jest napisane, w jakim ukladzie pracuja,
a sprzedawcy w sklepach nie maja o tym zielonego pojecia.
W moim ukladzie sciezki sa bardzo krotkie, kwarc stoi kilka milimetrow
obok mikrokontrolera, plytka jest jednostronna, wiec z drugiej strony
nie ma zadnych sciezek, zatem pojemnosc pasozytnicza raczej nie jest
wieksza od kilku pF. Pojemnosci samych kondensatorow mierzylem mostkiem.
Ciagle nie rozumiem jednej rzeczy: dlaczego oscylator startuje po
uaktywnieniu zewnetrznego resetu ?
u mnie jest odwrotnie tj. po załączeniu zwykle działa, ale naciśnij
reset to po zabawie, powtarzalne przy wkładaniu różnych procesorów,
kwarców i kondensatorów
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Wed, 10 Jun 1998 16:25:48 +0200
Baba Naga wrote:
Ciagle nie rozumiem jednej rzeczy: dlaczego oscylator startuje po
uaktywnieniu zewnetrznego resetu ?
u mnie jest odwrotnie tj. po załączeniu zwykle działa, ale naciśnij
reset to po zabawie, powtarzalne przy wkładaniu różnych procesorów,
kwarców i kondensatorów
To akurat da sie wytlumaczyc (chyba).
Gdzies czytalem, ze wejscie reset sluzy m.in. do zasilania
mikrokontrolera w stanie obnizonego poboru mocy (zamrozenie, czy jak
to sie nazywa). W ukladach HMOS (np. oryginalne INTEL) jesli
napiecie na lini RESET jest wieksze od napiecia UCC, lub tez jezeli
napiecie Ucc jest zbyt male, to procesor wchodzi w stan "power down",
w ktorym nieaktywne sa wszystkie bloki mikrokontrolera (takze zegar),
z wyjatkiem podtrzymywania pamieci RAM.
W ukladach CMOS, czyli w wiekszosci ukladow tej rodziny,
mozliwe jest rowniez software'owe wejscie w stan zamrozenia, w wyniku
ktorego zegar zostaje zatrzymany.
Przypuszczam zatem, ze w twoim
ukladzie napiecie Ucc jest zbyt niskie (lub niestabilne i ma ujemne
szpilki), albo tez Ucc jest mniejsze od Vreset o wiecej niz 0.6 V.
Sprawdz to, i ewentualnie zmien napiecia. lub dodaj kondensator
bezindukcyjny blokujacy zasilanie. Moze pomoze :-)
O trybach obnizonego poboru mocy i o wyjsciu z nich mozna poczytac
w ksiazce Tomasza Stareckiego - "Mikrokontrolery jednoukladowe
rodziny 51" na stronach 215 - 234.
Wazne jest tez jaka czestotliwosc ma Twoj kwarc i jakie jest
napiecie zasilania.
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Sat, 13 Jun 1998 20:41:59 GMT
Wed, 10 Jun 1998 16:25:48 +0200, Olgierd Cybulski
<cybulski_at_nospam_pkpf.if.uj.edu.pl> napisał(a):
Ciagle nie rozumiem jednej rzeczy: dlaczego oscylator startuje po
uaktywnieniu zewnetrznego resetu ?
u mnie jest odwrotnie tj. po załączeniu zwykle działa, ale naciśnij
reset to po zabawie, powtarzalne przy wkładaniu różnych procesorów,
kwarców i kondensatorów
To akurat da sie wytlumaczyc (chyba).
Gdzies czytalem, ze wejscie reset sluzy m.in. do zasilania
mikrokontrolera w stanie obnizonego poboru mocy (zamrozenie, czy jak
to sie nazywa). W ukladach HMOS (np. oryginalne INTEL) jesli
napiecie na lini RESET jest wieksze od napiecia UCC, lub tez jezeli
napiecie Ucc jest zbyt male, to procesor wchodzi w stan "power down",
w ktorym nieaktywne sa wszystkie bloki mikrokontrolera (takze zegar),
z wyjatkiem podtrzymywania pamieci RAM.
Faktycznie w stanie zamrożenia nie generowałby. Tylko jakim cudem na
resecie miałoby być więcej niż Vcc ? Przecież żadna znacząca pojemność
nie podciąga go powyżej vcc.
W ukladach CMOS, czyli w wiekszosci ukladow tej rodziny,
mozliwe jest rowniez software'owe wejscie w stan zamrozenia, w wyniku
ktorego zegar zostaje zatrzymany.
Przypuszczam zatem, ze w twoim
ukladzie napiecie Ucc jest zbyt niskie (lub niestabilne i ma ujemne
szpilki), albo tez Ucc jest mniejsze od Vreset o wiecej niz 0.6 V.
Sprawdz to, i ewentualnie zmien napiecia. lub dodaj kondensator
bezindukcyjny blokujacy zasilanie. Moze pomoze :-)
Niby tylko zasilanie pozostało, ale kondensator jest a ja szczerze
mówiąc nie widzę szans by piki skutkowały podskakiwaniem resetu. Nie
ma ku temu powodu. Vcc nie jest aż tak niestabilne by kondensator
zerujący ładował się odwrotnie. Na razie odpuszczam sobie bo mam
płytki docelowe, na których układy chodzą.
O trybach obnizonego poboru mocy i o wyjsciu z nich mozna poczytac
w ksiazce Tomasza Stareckiego - "Mikrokontrolery jednoukladowe
rodziny 51" na stronach 215 - 234.
Wazne jest tez jaka czestotliwosc ma Twoj kwarc i jakie jest
napiecie zasilania.
Nie mam tej książki i raczej nie znajdę czasu na bieganie za nią.
Zresztą zakładam, że to co piszesz ma miejsce.
Na docelowych płytkach układ chodzi z tym, że jest znowu kłopot z
generowaniem przerwania. Wygląda, że impuls powstały przez
zdekodowanie adresu pamięci i zbramkowanie iow od pc jest zbyt krótki
by wygenerować przerwanie naszego jednoukładowca. Myślałem, że nie
będę musiał kolejny raz podłączać oscyloskopu...
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Sun, 14 Jun 1998 16:44:50 +0200
Baba Naga wrote:
[....]
Na docelowych płytkach układ chodzi z tym, że jest znowu kłopot z
generowaniem przerwania. Wygląda, że impuls powstały przez
zdekodowanie adresu pamięci i zbramkowanie iow od pc jest zbyt krótki
by wygenerować przerwanie naszego jednoukładowca. Myślałem, że nie
będę musiał kolejny raz podłączać oscyloskopu...
Jasne, ze jest zbyt krotki.
Rozumiem, ze jednoukladowiec jest czescia karty do PC...
Jesli chcesz, zeby podczas jednego cyklu zapisu szyny ISA
mikrokontroler zdazyl odebrac przerwanie (z linii IOW)
i podczas wykonywania procedury jego obslugi zdazyl jeszcze
odczytac zawartosc szyny danych ISA - to jestes marzycielem.
Sam sygnal wyzwalajacy przerwanie powinien trwac przynajmniej
12 taktow zegara mikrokontrolera.
Nawet przy najszybszych kwarcach (24 MHz dla ATMELa)
mikrokontroler moze nie zdazyc zarejestrowac przerwania
INT0 lub INT1 jesli sygnal zglaszajacy trwa krocej niz
12 taktow, a sygnaly IOR oraz IOW prawie dla kazdej
magistrali ISA trwaja krocej niz 500 mikrosekund,
czyli za krotko, zeby zawsze zglosic przerwanie mikrokontrolera !!!
Chyba, zeby taktowac ISA zwolnionym kilkakrotnie zegarem
(standardowo ponad 8 MHz)
Drugi problem, to czas, przez ktory po wzrastajacym zboczu IOW
pozostaja na szynie danych ustawione dane.
Ten czas rowniez jest stanowczo za krotki, zeby jakikolwiek
mikrokontroler po otrzymaniu przerwania od IOW zdazyl
zawsze odebrac dane. Przeciez czas reakcji na przerwanie moze
przekroczyc nawet 48 taktow zegara mikrokontrolera !!!
Na przyklad podczas wykonywania czterocyklowego rozkazu
dzielenia lub mnozenia.
Poza tym instrukcja MOVX A,_at_nospam_R0 lub podobna, ktorej uzywasz
do odczytania danych z magistrali nie jest wykonywana
od razu w chwili przyjecia przerwania !
Samo przyjecie trwa dwa cykle (24 takty), poza tym
pierwsza instrukcja procedury przerwania jest zapewne
AJMP lub LJMP, ktore rowniez trwa 24 takty !
Tak wiec w niekorzystnym przypadku czas, po jakim zostana
odczytane dane z ISA moze osiagnac 96 taktow plus kilka
na odczyt instrukcja MOVX, czyli jakies 100 taktow, czyli
ponad 4 mikrosekundy przy najszybszym taktowaniu mikrokontrolera !!!
Po tym czasie na szynie danych ISA juz dawno jest co innego.
Nawet, jesli cykl magistrali zostanie przedluzony wait-state'ami.
Podsumowujac - aby podlaczyc mikrokontroler (poza specjalizowanymi
typami mikrokontrolerow) do ISA, potrzebne sa specjalne uklady
sprzegajace. Rejestry zatrzaskowe z trojstanowymi bramkami,
jakies GALe lub stare poczciwe 8255. Bez tego ani rusz.
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Sun, 14 Jun 1998 20:15:22 GMT
Sun, 14 Jun 1998 16:44:50 +0200, Olgierd Cybulski
<cybulski_at_nospam_pkpf.if.uj.edu.pl> napisał(a):
Na docelowych płytkach układ chodzi z tym, że jest znowu kłopot z
generowaniem przerwania. Wygląda, że impuls powstały przez
zdekodowanie adresu pamięci i zbramkowanie iow od pc jest zbyt krótki
by wygenerować przerwanie naszego jednoukładowca. Myślałem, że nie
będę musiał kolejny raz podłączać oscyloskopu...
Jasne, ze jest zbyt krotki.
Rozumiem, ze jednoukladowiec jest czescia karty do PC...
Jesli chcesz, zeby podczas jednego cyklu zapisu szyny ISA
mikrokontroler zdazyl odebrac przerwanie (z linii IOW)
i podczas wykonywania procedury jego obslugi zdazyl jeszcze
odczytac zawartosc szyny danych ISA - to jestes marzycielem.
Nie chcę ! Mam zatrzask, ale każde wpisanie w niego musi generować
przerwanie. Inaczej mógłbym nie zauważyć, że komputer coś wpisał.
Sam sygnal wyzwalajacy przerwanie powinien trwac przynajmniej
12 taktow zegara mikrokontrolera.
Nawet przy najszybszych kwarcach (24 MHz dla ATMELa)
mikrokontroler moze nie zdazyc zarejestrowac przerwania
INT0 lub INT1 jesli sygnal zglaszajacy trwa krocej niz
12 taktow, a sygnaly IOR oraz IOW prawie dla kazdej
magistrali ISA trwaja krocej niz 500 mikrosekund,
czyli za krotko, zeby zawsze zglosic przerwanie mikrokontrolera !!!
chyba <500ns
Podsumowujac - aby podlaczyc mikrokontroler (poza specjalizowanymi
typami mikrokontrolerow) do ISA, potrzebne sa specjalne uklady
sprzegajace. Rejestry zatrzaskowe z trojstanowymi bramkami,
jakies GALe lub stare poczciwe 8255. Bez tego ani rusz.
I tak jest. Potrzeba tylko wydłużyć sygnał wyzwalający przerwanie
czego jakoś nie przewidziałem.
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Sun, 14 Jun 1998 22:52:06 +0200
Baba Naga wrote:
magistrali ISA trwaja krocej niz 500 mikrosekund,
czyli za krotko, zeby zawsze zglosic przerwanie mikrokontrolera !!!
chyba <500ns
Oczywiscie, dziekuje za poprawke.
Podsumowujac - aby podlaczyc mikrokontroler (poza specjalizowanymi
typami mikrokontrolerow) do ISA, potrzebne sa specjalne uklady
sprzegajace. Rejestry zatrzaskowe z trojstanowymi bramkami,
jakies GALe lub stare poczciwe 8255. Bez tego ani rusz.
I tak jest. Potrzeba tylko wydłużyć sygnał wyzwalający przerwanie
czego jakoś nie przewidziałem.
Czyli powinienes zrobic przerzutnik monostabilny, albo cos w tym
stylu. Jesli nie masz na plytce miejsca na takie ogromne scalaki
jak 74132 i podobne, to wiedz, ze w zasadzie wystarczy zastosowac
kondensator, diode i dwa (lub jeden) rezystory.
IOW w stanie aktywnym (niskim) powinno szybko rozladowywac kondensator
przez diode i maly rezystor, a nastepnie (w stanie wysokim)
powoli ladowac go przez duzy rezystor.
Tym duzym rezystorem moze byc po prostu wewnetrzny rezystor
podciagajacy wejscia zgloszenia przerwan (3.2 lub 3.3).
Z moich doswiadczen wynika, ze uklady ATMELa sa odporne na tak powolne
zmiany sygnalu, nic zlego sie nie dzieje, nie ma zbednych
przerwan przy przechodzeniu przez obszar przejsciowy.
Powinno w ten sposob dac sie przedluzyc sygnal wyzwalajacy
do kilku mikrosekund (dla ukladow zasilanych 5V, czyli nie serii LV).
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Tue, 16 Jun 1998 16:42:25 GMT
Sun, 14 Jun 1998 22:52:06 +0200, Olgierd Cybulski
<cybulski_at_nospam_pkpf.if.uj.edu.pl> napisał(a):
magistrali ISA trwaja krocej niz 500 mikrosekund,
czyli za krotko, zeby zawsze zglosic przerwanie mikrokontrolera !!!
chyba <500ns
Oczywiscie, dziekuje za poprawke.
drobne mało znaczące przestukanie
Podsumowujac - aby podlaczyc mikrokontroler (poza specjalizowanymi
typami mikrokontrolerow) do ISA, potrzebne sa specjalne uklady
sprzegajace. Rejestry zatrzaskowe z trojstanowymi bramkami,
jakies GALe lub stare poczciwe 8255. Bez tego ani rusz.
I tak jest. Potrzeba tylko wydłużyć sygnał wyzwalający przerwanie
czego jakoś nie przewidziałem.
Czyli powinienes zrobic przerzutnik monostabilny, albo cos w tym
stylu. Jesli nie masz na plytce miejsca na takie ogromne scalaki
jak 74132 i podobne, to wiedz, ze w zasadzie wystarczy zastosowac
prędzej 123 :-)
kondensator, diode i dwa (lub jeden) rezystory.
IOW w stanie aktywnym (niskim) powinno szybko rozladowywac kondensator
przez diode i maly rezystor, a nastepnie (w stanie wysokim)
powoli ladowac go przez duzy rezystor.
Tym duzym rezystorem moze byc po prostu wewnetrzny rezystor
podciagajacy wejscia zgloszenia przerwan (3.2 lub 3.3).
Z moich doswiadczen wynika, ze uklady ATMELa sa odporne na tak powolne
zmiany sygnalu, nic zlego sie nie dzieje, nie ma zbednych
przerwan przy przechodzeniu przez obszar przejsciowy.
Powinno w ten sposob dac sie przedluzyc sygnal wyzwalajacy
do kilku mikrosekund (dla ukladow zasilanych 5V, czyli nie serii LV).
Wolałem jednak podwiesić normalny przerzutnik monostabilny,
przynajmniej wiem dokładnie jak długi impuls generuje. No i to działa.
Niestety nie działa RAM jako ROM tj. program w EPROMIE ma ładować do
ramu pod wyższe adresy to co nadchodzi z pc po czym w pewnym momencie
uruchamiać. No i ładuje sprawdzając movc (bo pamięć jest do pisania
danych i czytania programu) czy się załadowało. Po skoku niestety
program nie działa. A nie mam emulatora i ten RAM do testowania
przydałby mi się bardzo. Różne rzeczy już rozważałem czy to błędy w
samym programie (teraz jest już tak trywialny, że nie ma prawa być)
czy w projekcie (przecież kopiuje do ramu), ale nic nie wymyśliłem.
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Wed, 17 Jun 1998 00:30:43 +0200
Baba Naga wrote:
[...]
Czyli powinienes zrobic przerzutnik monostabilny, albo cos w tym
stylu. Jesli nie masz na plytce miejsca na takie ogromne scalaki
jak 74132 i podobne, to wiedz, ze w zasadzie wystarczy zastosowac
prędzej 123 :-)
Chodzilo mi wlasnie o 132 - cztery bramki z histereza napiecia
wejsciowego. Nic na to nie poradze, ale to moj ulubiony scalak :-)
A przerzutniki monostabilne robi sie na tym prawie tak samo latwo
jak na 123. Uklady wydluzajace czas trwania impulsu nawet jeszcze
latwiej.
Niestety nie działa RAM jako ROM tj. program w EPROMIE ma ładować do
ramu pod wyższe adresy to co nadchodzi z pc po czym w pewnym momencie
uruchamiać. No i ładuje sprawdzając movc (bo pamięć jest do pisania
danych i czytania programu) czy się załadowało. Po skoku niestety
program nie działa. A nie mam emulatora i ten RAM do testowania
przydałby mi się bardzo.
Po pierwsze - trzeba bylo raczej zastosowac kontroler programowany
w ukladzie. Ladowalbys program prosto do wewnetrznej pamieci programu
mikrokontrolera.
Po drugie - rozumiem, ze na poczatku uklad pracuje z wewnetrzna
pamiecia programu EPROM, a potem ma sie przerzucic na wykonanie programu
z pamieci zewnetrznej, tak ?
Co w takim razie robisz z nozka EA\ , tzn. z wejsciem umozliwiajacym
pobieranie rozkazow z pamieci zewnetrznej ?
Przeciez stan tej nozki w wiekszosci mikrokontrolerow jest
zatrzaskiwany zaraz po wlaczeniu Vcc !
A moze masz zewnetrzny EPROM z programem ladujacym ?
Jesli tak, byc moze problem tkwi w adresowaniu
i stronicowaniu tych dwu pamieci.
Jakiego skoku uzywasz, AJMP, czy LJMP ?
Poza tym sprawdz np. oscyloskopem, czy w wyniku
skoku nowa pamiec rozkazow (RAM) jest rzeczywiscie adresowana,
tzn. jaki jest stan na pinie sluzacym jako najstarszy bit adresu
(wybierajacy biezaca pamiec).
Poza tym - jak przypuszczam juz to zrobiles - uprosc
program do granic mozliwosci. Napisz np. taki program
(ladowany do RAMU) :
PETLA:
XRL P1
LJMP PETLA
i sprawdz, czy na koncowkach portu P1 jest szybkozmienny rownowypelniony
sygnal prostokatny.
Jesli nie, to znaczy, ze skok w ogole nie mial miejsca,
lub nastapil skok pod niewlasciwy adres.
Jeszcze jedno - przed skokiem wylacz wszystkie przerwania (CLR EA).
Różne rzeczy już rozważałem czy to błędy w
samym programie (teraz jest już tak trywialny, że nie ma prawa być)
czy w projekcie (przecież kopiuje do ramu), ale nic nie wymyśliłem.
Sprobuj zrezygnowac w ogole z ISY, tzn. wladuj do EEPROMu programik,
ktory bedzie zapisywal w zewnetrznym RAMIE kilka bajtow
odpowiadajacych programowi j.w., a nastepnie wykonaj skok.
Jak nie zadziala, to zawsze prosciej wytropic przyczyne.
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Fri, 19 Jun 1998 23:23:00 GMT
Wed, 17 Jun 1998 00:30:43 +0200, Olgierd Cybulski
<cybulski_at_nospam_pkpf.if.uj.edu.pl> napisał(a):
Czyli powinienes zrobic przerzutnik monostabilny, albo cos w tym
stylu. Jesli nie masz na plytce miejsca na takie ogromne scalaki
jak 74132 i podobne, to wiedz, ze w zasadzie wystarczy zastosowac
prędzej 123 :-)
Chodzilo mi wlasnie o 132 - cztery bramki z histereza napiecia
wejsciowego. Nic na to nie poradze, ale to moj ulubiony scalak :-)
A przerzutniki monostabilne robi sie na tym prawie tak samo latwo
jak na 123. Uklady wydluzajace czas trwania impulsu nawet jeszcze
latwiej.
Nie przesadzaj, 123 to układ specjalizowany. Przypinasz c,r i
realizujesz prawie dowolną funkcję związaną z t. Nie potrzebuję
kłopotów.
Niestety nie działa RAM jako ROM tj. program w EPROMIE ma ładować do
ramu pod wyższe adresy to co nadchodzi z pc po czym w pewnym momencie
uruchamiać. No i ładuje sprawdzając movc (bo pamięć jest do pisania
danych i czytania programu) czy się załadowało. Po skoku niestety
program nie działa. A nie mam emulatora i ten RAM do testowania
przydałby mi się bardzo.
Po pierwsze - trzeba bylo raczej zastosowac kontroler programowany
w ukladzie. Ladowalbys program prosto do wewnetrznej pamieci programu
mikrokontrolera.
kiedy ja chcę tak jak jest czyli zwykły 80c51, eprom, ram
wstawiam to co mam i co w danym momencie potrzebne
a przede wszystkim dzisiaj nie mam już czasu na zmiany
Po drugie - rozumiem, ze na poczatku uklad pracuje z wewnetrzna
pamiecia programu EPROM, a potem ma sie przerzucic na wykonanie programu
z pamieci zewnetrznej, tak ?
po prostu skoczyć bo jest wybierany jako "1 z" w/g dwóch najstarszych
bitów adresu uP
Co w takim razie robisz z nozka EA\ , tzn. z wejsciem umozliwiajacym
pobieranie rozkazow z pamieci zewnetrznej ?
Przeciez stan tej nozki w wiekszosci mikrokontrolerow jest
zatrzaskiwany zaraz po wlaczeniu Vcc !
A moze masz zewnetrzny EPROM z programem ladujacym ?
tak, mam
Jesli tak, byc moze problem tkwi w adresowaniu
i stronicowaniu tych dwu pamieci.
Jakiego skoku uzywasz, AJMP, czy LJMP ?
to bez znaczenia bo program jest napisany pod konkretny obszar
adresowy "org c000h"
Poza tym sprawdz np. oscyloskopem, czy w wyniku
a skąd ja wezmę oscyloskop, musiałbym zapylać do firmy, przecież
weryfikowanie przy kopiowaniu działało, więc coś adresować musiało, w
układzie nie ma innych pamięci r/w
skoku nowa pamiec rozkazow (RAM) jest rzeczywiscie adresowana,
tzn. jaki jest stan na pinie sluzacym jako najstarszy bit adresu
(wybierajacy biezaca pamiec).
Poza tym - jak przypuszczam juz to zrobiles - uprosc
program do granic mozliwosci. Napisz np. taki program
(ladowany do RAMU) :
PETLA:
XRL P1
LJMP PETLA
i sprawdz, czy na koncowkach portu P1 jest szybkozmienny rownowypelniony
sygnal prostokatny.
Jesli nie, to znaczy, ze skok w ogole nie mial miejsca,
lub nastapil skok pod niewlasciwy adres.
kiedy nie ma możliwości by skok mógł trafić w inne miejsce
Jeszcze jedno - przed skokiem wylacz wszystkie przerwania (CLR EA).
Różne rzeczy już rozważałem czy to błędy w
samym programie (teraz jest już tak trywialny, że nie ma prawa być)
czy w projekcie (przecież kopiuje do ramu), ale nic nie wymyśliłem.
Sprobuj zrezygnowac w ogole z ISY, tzn. wladuj do EEPROMu programik,
ktory bedzie zapisywal w zewnetrznym RAMIE kilka bajtow
odpowiadajacych programowi j.w., a nastepnie wykonaj skok.
Jak nie zadziala, to zawsze prosciej wytropic przyczyne.
A tak pewne wskazówki przydały się!
Trzeba było zauważyć, że:
- linia przerwania podnosi się przy adresowaniu, czyli będąc w
momencie programowej aktywacji przerwania jest w stanie niskim, co
generuje jedno zbędne przerwanie wywołujące załadowanie programu o
jeden bajt dalej, panaceum to zerowanie flagi przerwania przed
ustawieniem ea
- pamięć wbrew temu co sobie ubzdurałem wypełnia tylko połowę do końca
obszaru adresowania co skutkuje zamazywaniem przy wpisywaniu,
niezbędna poprawka programu ładującego
bez emulatora nie podchodzę do drugiego takiego układu !
W każdym razie DZIAŁA
From: Tadeusz Gozdek <taddy_at_nospam_kki.net.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Mon, 15 Jun 1998 10:23:17 +0100
Olgierd Cybulski wrote:
[...]
Po tym czasie na szynie danych ISA juz dawno jest co innego.
Nawet, jesli cykl magistrali zostanie przedluzony wait-state'ami.
Istnieje sygnal przedluzajacy sprzetowo cykl magistrali IOREADY.
Jesli doda sie do dekodera adresu przerzutnik D wyzwalany zdekodowanym
adresem
i uaktywni ww. sygnal to mozna czytac sygnaly z magistrali IORW/IORD
DANE lub wystawiac swoje sygnaly, a po zakonczeniu operacji uP zeruje
przerzytnik odblokowujac prace magistrali.
Zrobilem mase takich kart (dawnymi czasy na 80552 jako kary
przetwornikow)
i dzialaja do dzis bez problemow nawet na marnych 386.
Trzeba jedynie pamietac, ze transfer z taka karta nie zwala z nog.
--
Pozdrawiam serdecznie.
Tadeusz Gozdek (TADDY)
> ICS
> mailto:taddy_at_nospam_kki.net.pl
> ICQ: 16112201, 11038645
> GSM : +48 602 36-87-88
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Karty do PC bez dekodera adresu (bylo: Zerowanie mikrokontrolerow ATMEL)
Date: Mon, 15 Jun 1998 11:57:38 +0200
Tadeusz Gozdek wrote:
Olgierd Cybulski wrote:
[...]
Po tym czasie na szynie danych ISA juz dawno jest co innego.
Nawet, jesli cykl magistrali zostanie przedluzony wait-state'ami.
Istnieje sygnal przedluzajacy sprzetowo cykl magistrali IOREADY.
Jesli doda sie do dekodera adresu przerzutnik D wyzwalany zdekodowanym
adresem
i uaktywni ww. sygnal to mozna czytac sygnaly z magistrali IORW/IORD
DANE lub wystawiac swoje sygnaly, a po zakonczeniu operacji uP zeruje
przerzytnik odblokowujac prace magistrali.
O ile pamietam specyfikacja ISA podawala maksymalny mozliwy czas
blokowania
magistrali tym sygnalem. Ile to bylo cykli ? Nie pamietam....
A poza tym, jesli juz ma sie zainstalowac na karcie przerzutnik D
za dekoderem adresu, to chyba rownie prostym rozwiazaniem jest
zatrzaskiwanie wejscia - wyjscia w trojstanowych bramach latchow.
Kiedys takie bramy byly drogie i niezbyt dostepne, dzis kupic je mozna
w kazdym sklepie.
Jesli karta ma obslugiwac komunikacje w obie strony (zarowno IOR jak
IOW),
to sensownym rozwiazaniem jest realizacje bufora wejscia - wyjscia,
latchow
i bram trojstanowych na jednym ukladzie scalonym.
Na przyklad SN74AHC16374, lub SN74AHCT16374.
Uklad ten zawiera dwie osmiobitowe bramy przerzutnikow D (zapisywanych
zboczem)
o trojstanowych wyjsciach (razem 16 bitow).
Kazda osmiobitowa polowka posiada niezalezne wejscie OE* i CLK.
Laczac obie bramy rownolegle (wejscie 1 z wyjsciem 2 i na odwrot)
otrzymujemy osmiobitowy transceiver z niezaleznymi zatrzaskami
dla komunikacji w obie strony. Wystarczy dolaczyc dekoder adresow,
mikrokontroler i komunikacja gotowa (jesli chce sie wykorzystac
przerwania potrzeba jeszcze wydluzyc impulsy).
O.C.
Zrobilem mase takich kart (dawnymi czasy na 80552 jako kary
przetwornikow)
i dzialaja do dzis bez problemow nawet na marnych 386.
Trzeba jedynie pamietac, ze transfer z taka karta nie zwala z nog.
A ja od jakiegos czasu zastanawiam sie nad jedna rzecza...
Czy karty przeznaczone do wspolpracy z nowoczesnymi komputerami
potrzebuja w ogole dekodowac adres ?
Przeciez czesto zdarza sie tak, ze na plycie jest kilka kart PCI
i jedna jedyna prototypowa karta ISA domowej konstrukcji.
Tak wiec (w wiekszosci plyt glownych) na wszystkich liniach
magistrali ISA panuje cisza dopoki odwolujemy sie "jedynie" do ukladow
znajdujacych sie w przestrzeni mapowanej na PCI.
Procesor gada sobie z "kontrolerem przerwan", z "DMA" (znaczki ""
oznaczaja, ze tych ukladow wlasciwie nie ma, sa symulowane przez jekies
VLSI),
z pamiecia CACHE i zwyklym RAMEM, a magistrali ISA mogloby w tym czasie
w ogole
nie byc, podczas rozmowy pomiedzy procesorem a ukladami plyty linie IOR,
IOW
w ogole nie sa aktywowane.
Tak wiec karta ISA znajdujaca sie jako jedyna na slocie ISA wspolczesnej
plyty w ogole nie musi dekodowac adresu. I tak wszystkie cykle zapisu
i odczytu magistrali ISA sa skierowane do niej.
Wystarczy dekodowac IOR i IOW. Prawdopodobnie nawet AEN nie jest
potrzebne.
Karta bylaby widoczna pod dowolnym adresem nienalezacym do przestrzeni
mapowanej
na PCI, zarowno jako urzadzenie do zapisu, jak i do odczytu.
Oczywiście w razie potrzeby moznaby dekodowac jedna lub dwie linie
adresowe,
dla rozroznienia wewnetrznych rejestrow itp.
Karty takie z oczywistych wzgledow nie bylyby uniwersalne, nie mozna
byloby
ich sprzedawac laikom itp itd, jednak dla elektronikow bylyby swietnym
uproszczeniem (i przyspieszeniem) konstrukcji prostych urzadzen
na wlasny uzytek. Co Wy na to ?
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: Tadeusz Gozdek <taddy_at_nospam_kki.net.pl>
Subject: Re: Karty do PC bez dekodera adresu
Date: Mon, 15 Jun 1998 12:59:20 +0100
Olgierd Cybulski wrote:
[..]
A poza tym, jesli juz ma sie zainstalowac na karcie przerzutnik D
za dekoderem adresu, to chyba rownie prostym rozwiazaniem jest
zatrzaskiwanie wejscia - wyjscia w trojstanowych bramach latchow.
[..]
Kazda osmiobitowa polowka posiada niezalezne wejscie OE* i CLK.
Laczac obie bramy rownolegle (wejscie 1 z wyjsciem 2 i na odwrot)
otrzymujemy osmiobitowy transceiver z niezaleznymi zatrzaskami
dla komunikacji w obie strony. Wystarczy dolaczyc dekoder adresow,
mikrokontroler i komunikacja gotowa (jesli chce sie wykorzystac
przerwania potrzeba jeszcze wydluzyc impulsy).
Tak ale wtedy bardzo dokladnie trzeba zaprojektowac reszte konstrukcji
gdyz wykonanie kilku rozkazow czytania pisania po sobie moze dac
"dziwne"
lub przynajmniej niepozadane rezultaty (procesor nie zdazy obrobic
informacji
a program o tym nie wie).
Mozna tez stosowac 8255 (trzy "rejestry" do zapisu lub odczytu) itp.
A ja od jakiegos czasu zastanawiam sie nad jedna rzecza...
Czy karty przeznaczone do wspolpracy z nowoczesnymi komputerami
potrzebuja w ogole dekodowac adres ?
Przeciez czesto zdarza sie tak, ze na plycie jest kilka kart PCI
i jedna jedyna prototypowa karta ISA domowej konstrukcji.
Tak wiec (w wiekszosci plyt glownych) na wszystkich liniach
magistrali ISA panuje cisza dopoki odwolujemy sie "jedynie" do ukladow
znajdujacych sie w przestrzeni mapowanej na PCI.
Procesor gada sobie z "kontrolerem przerwan", z "DMA"
z pamiecia CACHE i zwyklym RAMEM, a magistrali ISA mogloby w tym czasie
w ogole nie byc, podczas rozmowy pomiedzy procesorem a ukladami
plyty linie IOR, IOW w ogole nie sa aktywowane.
No coz. Nie dotyczy to kazdej plyty.
Teoretycznie gdyby porty kontrolerow zespolonych z plyta nie byly
wysylane
na zlacze ISA to zgoda, ale nie zawsze tak jest. Sa plyty ktore np.:
nie wysylaja adresow ponizej 100h ale powyzej wysylaja (porty
rownolegle,
szeregowe, ATAPI itp) wiec moim zdaniem za duze ryzyko.
--
Pozdrawiam serdecznie.
Tadeusz Gozdek (TADDY)
> ICS
> mailto:taddy_at_nospam_kki.net.pl
> ICQ: 16112201, 11038645
> GSM : +48 602 36-87-88
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Karty do PC bez dekodera adresu
Date: Mon, 15 Jun 1998 15:17:14 +0200
Tadeusz Gozdek wrote:
[....]
A ja od jakiegos czasu zastanawiam sie nad jedna rzecza...
Czy karty przeznaczone do wspolpracy z nowoczesnymi komputerami
potrzebuja w ogole dekodowac adres ?
Przeciez czesto zdarza sie tak, ze na plycie jest kilka kart PCI
i jedna jedyna prototypowa karta ISA domowej konstrukcji.
Tak wiec (w wiekszosci plyt glownych) na wszystkich liniach
magistrali ISA panuje cisza dopoki odwolujemy sie "jedynie" do ukladow
znajdujacych sie w przestrzeni mapowanej na PCI.
[....]
No coz. Nie dotyczy to kazdej plyty.
Teoretycznie gdyby porty kontrolerow zespolonych z plyta nie byly
wysylane
na zlacze ISA to zgoda, ale nie zawsze tak jest. Sa plyty ktore np.:
nie wysylaja adresow ponizej 100h ale powyzej wysylaja (porty
rownolegle,
szeregowe, ATAPI itp) wiec moim zdaniem za duze ryzyko.
Sa tez (podobno) plyty, w ktorych da sie to ustawic w setupie.
Moje testy polegaly na pomiarze oscyloskopem sygnalow na
IOW, IOR i AEN. Podczas pracy z roznymi programami
diagnostycznymi (Norton Utilities) programy te czytaly
i pisaly dane z prawie wszystkich uzywanych normalnie portow
(przerwania, sterowniki FDD, HDD, LPT, COM itp), i ani razu nie pojawil
sie zaden impuls na IOW ani na IOR.
Choc oczywiscie rozwiazania moga byc bardzo rozne.
Przypuszczam jednak, ze konkretna plyta jesli przy testach
nie uzywala ISy , nie bedzie jej rowniez uzywac podczas normalnej
pracy. To chyba oczywiste. Tak więc do pewnych płyt (pytanie tylko -
ilu)
da się wstawić uproszczone karty - bez dekodera adresu. Lub z dekoderem
zaledwie jdnego lub dwu bitow adresu.
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: Tadeusz Gozdek <taddy_at_nospam_kki.net.pl>
Subject: Re: Karty do PC bez dekodera adresu
Date: Tue, 16 Jun 1998 09:45:48 +0100
Olgierd Cybulski wrote:
Sa tez (podobno) plyty, w ktorych da sie to ustawic w setupie.
Moje testy polegaly na pomiarze oscyloskopem sygnalow na
IOW, IOR i AEN. Podczas pracy z roznymi programami
diagnostycznymi (Norton Utilities) programy te czytaly
i pisaly dane z prawie wszystkich uzywanych normalnie portow
(przerwania, sterowniki FDD, HDD, LPT, COM itp), i ani razu nie pojawil
sie zaden impuls na IOW ani na IOR.
Choc oczywiscie rozwiazania moga byc bardzo rozne.
Przypuszczam jednak, ze konkretna plyta jesli przy testach
nie uzywala ISy , nie bedzie jej rowniez uzywac podczas normalnej
pracy. To chyba oczywiste. Tak więc do pewnych płyt (pytanie tylko -
ilu)
da się wstawić uproszczone karty - bez dekodera adresu. Lub z dekoderem
zaledwie jdnego lub dwu bitow adresu.
Nie twierdzilem, ze sie nie da zastosowac Twojego pomyslu
a jedynie, ze moim zdaniem nie kazdy bedzie to mogl zrobic.
Musialby wczesniej przetestowac plyte, a nie kazdy ma czym
lub zwyczajnie nie potrafi.
Z ciekawosci przetestowalem kilka nowszych plyt PCI Pentium
i generalnie nie czepialy sie ISA gdy czytalem z portow
zdefiniowanych na plycie jako aktywne (COM, LPT, ATAPI).
Trzeba tylko pamietac (ja zapomnialem ale wyszlo podczas pomiarow),
ze plyty wysylaja na ISA dane do portow diagnostycznych podczas
autotestu i karta musialaby byc na to "cos" odporna. Tego sie
nie da wylaczyc w BIOSie.
--
Pozdrawiam serdecznie.
Tadeusz Gozdek (TADDY)
> ICS
> mailto:taddy_at_nospam_kki.net.pl
> ICQ: 16112201, 11038645
> GSM : +48 602 36-87-88
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Karty do PC bez dekodera adresu
Date: Tue, 16 Jun 1998 23:56:22 +0200
Tadeusz Gozdek wrote:
Olgierd Cybulski wrote:
Sa tez (podobno) plyty, w ktorych da sie to ustawic w setupie.
Moje testy polegaly na pomiarze oscyloskopem sygnalow na
IOW, IOR i AEN. Podczas pracy z roznymi programami
diagnostycznymi (Norton Utilities) programy te czytaly
i pisaly dane z prawie wszystkich uzywanych normalnie portow
(przerwania, sterowniki FDD, HDD, LPT, COM itp), i ani razu nie pojawil
sie zaden impuls na IOW ani na IOR.
Choc oczywiscie rozwiazania moga byc bardzo rozne.
Przypuszczam jednak, ze konkretna plyta jesli przy testach
nie uzywala ISy , nie bedzie jej rowniez uzywac podczas normalnej
pracy. To chyba oczywiste. Tak więc do pewnych płyt (pytanie tylko -
ilu)
da się wstawić uproszczone karty - bez dekodera adresu. Lub z dekoderem
zaledwie jdnego lub dwu bitow adresu.
Nie twierdzilem, ze sie nie da zastosowac Twojego pomyslu
a jedynie, ze moim zdaniem nie kazdy bedzie to mogl zrobic.
Musialby wczesniej przetestowac plyte, a nie kazdy ma czym
lub zwyczajnie nie potrafi.
Z ciekawosci przetestowalem kilka nowszych plyt PCI Pentium
i generalnie nie czepialy sie ISA gdy czytalem z portow
zdefiniowanych na plycie jako aktywne (COM, LPT, ATAPI).
Trzeba tylko pamietac (ja zapomnialem ale wyszlo podczas pomiarow),
ze plyty wysylaja na ISA dane do portow diagnostycznych podczas
autotestu i karta musialaby byc na to "cos" odporna. Tego sie
nie da wylaczyc w BIOSie.
Dzieki za ostrzezenie. Ja o tym najzwyczajniej zapomnialem.
Swoje testy robilem dopiero po "zbootowaniu" komputera.
Zabezpieczenie przed tym jest bardzo proste.
Przed zapisem ze strony PC-ta nie trzeba sie zabezpieczac,
bo nic zlego sie tutaj nie stanie.
Trzeba sie zabezpieczyc przed odpowiedzia mikrokontrolera,
(lub czegos innego, co jest na karcie),
czyli przed odczytem danych przez PC.
Wystarczy zatem przez jakis czas po sygnale RESET lub wlaczeniu Vcc
wysylac w odpowiedzi na kazde IOR same
jedynki (tzn FFh), tzn. wartosc, ktora bylaby odczytywana
z portow gdyby nie bylo zadnej karty (byc moze na niektorych
plytach jest to zero, choc bardzo w to watpie).
W kartach przetwornikow AC i podobnych mozna to zrealizowac
przez zablokowanie wejsc OE bufora szyny przerzutnikiem
monostabilnym podlaczonym do RESET.
Albo - jeszcze prosciej - przez strobowanie sygnalu
IOR (niedekodowanie go przez jakis czas po starcie komputera).
W kartach z mokrokontrolerami mozna to zrobic programowo -
wysylac same jedynki do czasu otrzymania na wejsciu okreslonej
sekwencji inicjalizujacej.
W kazdym razie i tak jest to duzo prostsze od zastosowania
dekodera adresow. Pomyslcie tylko - karta DAC moglaby skladac
sie z jednego prostego ukladu scalonego - przetwornika DAC przeznaczonego
do ukladow mikroprocesorowych z wejsciem WR podlaczonym do IOW !
Karta wyjsc cyfrowych - z jednego rejestru zatrzaskowego !
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: Karty do PC bez dekodera adresu
Date: Tue, 16 Jun 1998 16:42:31 GMT
Mon, 15 Jun 1998 15:17:14 +0200, Olgierd Cybulski
<cybulski_at_nospam_pkpf.if.uj.edu.pl> napisał(a):
Przypuszczam jednak, ze konkretna plyta jesli przy testach
nie uzywala ISy , nie bedzie jej rowniez uzywac podczas normalnej
pracy. To chyba oczywiste. Tak więc do pewnych płyt (pytanie tylko -
ilu)
da się wstawić uproszczone karty - bez dekodera adresu. Lub z dekoderem
zaledwie jdnego lub dwu bitow adresu.
Nie widzę przyszłości takich rozwiązań. Już lepiej zrobić kartę pci bo
za rok czy dwa komputer nie będzie miał isy.
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Karty do PC bez dekodera adresu
Date: Wed, 17 Jun 1998 00:08:56 +0200
Baba Naga wrote:
Mon, 15 Jun 1998 15:17:14 +0200, Olgierd Cybulski
<cybulski_at_nospam_pkpf.if.uj.edu.pl> napisał(a):
Przypuszczam jednak, ze konkretna plyta jesli przy testach
nie uzywala ISy , nie bedzie jej rowniez uzywac podczas normalnej
pracy. To chyba oczywiste. Tak więc do pewnych płyt (pytanie tylko -
ilu)
da się wstawić uproszczone karty - bez dekodera adresu. Lub z dekoderem
zaledwie jdnego lub dwu bitow adresu.
Nie widzę przyszłości takich rozwiązań. Już lepiej zrobić kartę pci bo
za rok czy dwa komputer nie będzie miał isy.
Zrob, i powiedz, czy dziala :-)
Jak na razie nie umiem robic kart do PCI.
Nie mam ani dobrej dokumentacji magistrali, ani
przykladowych kart.
Obawiam sie, ze nawet gdybym mial, to i tak
nie obejdzie sie bez skomplikowanych chipow
sluzacych do komunikacji z komputerem przy
rejestracji kart (PLUG & SRAJ i.t.p).
O.C.
P.S. Kupil bys plyte bez ISY ?
Ja nie. No chyba, ze z magistrala VME lub zlaczem VMX :-))))
----------------------------------------
pies pileon kameleon
----------------------------------------
From: "Jaroslaw Lis" <lis_at_nospam_papuga.ict.pwr.wroc.pl>
Subject: Re: Karty do PC bez dekodera adresu
Date: 16 Jun 1998 22:39:25 GMT
Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl> wrote:
P.S. Kupil bys plyte bez ISY ?
Ja nie. No chyba, ze z magistrala VME lub zlaczem VMX :-))))
To kup plyte z ISA, jak juz nikt nie bedzie tego robil.
Cos czuje ze trzeba jednak sprobowac jakas karte PCI odpalic, modemu
PCI poszukac, i dokumentacje USB poczytac...
A moze dorobic sterownik ethernet do atmelka ? :-)
J.
From: Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl>
Subject: Re: Karty do PC bez dekodera adresu
Date: Wed, 17 Jun 1998 00:57:57 +0200
Jaroslaw Lis wrote:
Olgierd Cybulski <cybulski_at_nospam_pkpf.if.uj.edu.pl> wrote:
P.S. Kupil bys plyte bez ISY ?
Ja nie. No chyba, ze z magistrala VME lub zlaczem VMX :-))))
To kup plyte z ISA, jak juz nikt nie bedzie tego robil.
Cos czuje ze trzeba jednak sprobowac jakas karte PCI odpalic, modemu
PCI poszukac, i dokumentacje USB poczytac...
A moze dorobic sterownik ethernet do atmelka ? :-)
J.
Wlasnie. Jakies dwa..trzy lata temu na moje pytanie odpowiedziales,
ze tak, bedziemy kiedys robic karty do PCI. Pamietasz ?
Skoro od tego czasu nie zrobiles zadnej, mniemam, ze nie jest
to latwe. Chyba rzeczywiscie lepiej pobawic sie USB.
Albo IrDA. Albo EPP , ECP i inne szybkie wersje portu
rownoleglego.
A moze sa do kupienia karty uniwersalne z zamontowanym juz
sterownikiem interfejsu PCI, gdzie wystarczy dolutowac uklad
przetwarzajacy/produkujący dane ?
O.C.
----------------------------------------
pies pileon kameleon
----------------------------------------
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: Karty do PC bez dekodera adresu
Date: Wed, 17 Jun 1998 18:17:20 GMT
Wed, 17 Jun 1998 00:08:56 +0200, Olgierd Cybulski
<cybulski_at_nospam_pkpf.if.uj.edu.pl> napisał(a):
pracy. To chyba oczywiste. Tak więc do pewnych płyt (pytanie tylko -
ilu)
da się wstawić uproszczone karty - bez dekodera adresu. Lub z dekoderem
zaledwie jdnego lub dwu bitow adresu.
Nie widzę przyszłości takich rozwiązań. Już lepiej zrobić kartę pci bo
za rok czy dwa komputer nie będzie miał isy.
Zrob, i powiedz, czy dziala :-)
Czemu nie. Z tym, że to dopiero kiedy zmęczę tą.
Jak na razie nie umiem robic kart do PCI.
Oj, kiedyś nie umiałeś użyć ISY
Nie mam ani dobrej dokumentacji magistrali, ani
przykladowych kart.
Obawiam sie, ze nawet gdybym mial, to i tak
nie obejdzie sie bez skomplikowanych chipow
sluzacych do komunikacji z komputerem przy
rejestracji kart (PLUG & SRAJ i.t.p).
Tylko, że taka karta będzie działała na przeciętnym komputerze przez
najbliższe 5..10 lat a nie tylko rok i do tego nie spowoduje konfliktu
sprzętowego z inną P&P.
P.S. Kupil bys plyte bez ISY ?
Gdybym :-) miał modem i sb20 na pci to TAK
Ja nie. No chyba, ze z magistrala VME lub zlaczem VMX :-))))
A to nie wiem o co biega :-(
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Wed, 10 Jun 1998 22:56:15 GMT
babuszka_at_nospam_polbox.pl (Baba Naga) wrote:
u mnie jest odwrotnie tj. po załączeniu zwykle działa, ale naciśnij
reset to po zabawie, powtarzalne przy wkładaniu różnych procesorów,
kwarców i kondensatorów
A jaki masz uklad resetu ?
Bo jak zwykly switch z rezystorem to sie nie dziwie
--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Thu, 11 Jun 1998 10:47:39 GMT
Wed, 10 Jun 1998 22:56:15 GMT, cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
(Jaroslaw Cichorski Jr.) napisał(a):
u mnie jest odwrotnie tj. po załączeniu zwykle działa, ale naciśnij
reset to po zabawie, powtarzalne przy wkładaniu różnych procesorów,
kwarców i kondensatorów
A jaki masz uklad resetu ?
Bo jak zwykly switch z rezystorem to sie nie dziwie
a czemu miałbym mieć niezwykły ? jest taki jak w literaturze
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Fri, 12 Jun 1998 23:45:29 GMT
babuszka_at_nospam_polbox.pl (Baba Naga) wrote:
A jaki masz uklad resetu ?
Bo jak zwykly switch z rezystorem to sie nie dziwie
a czemu miałbym mieć niezwykły ? jest taki jak w literaturze
Bo trzeba by jeszcze dodac kondensator i diode ....
tak jak w literaturze ;-)))
Pozdrawiam
--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Sat, 13 Jun 1998 20:42:01 GMT
Fri, 12 Jun 1998 23:45:29 GMT, cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
(Jaroslaw Cichorski Jr.) napisał(a):
A jaki masz uklad resetu ?
Bo jak zwykly switch z rezystorem to sie nie dziwie
a czemu miałbym mieć niezwykły ? jest taki jak w literaturze
Bo trzeba by jeszcze dodac kondensator i diode ....
tak jak w literaturze ;-)))
A kto powiedział, że nie mam kondensatora ? Diody nie ma, bo i po co
tj. można biorąc pod uwagę to co napisał Olgierd, ale normalnie jest
zbędna. Przypiąłbym gdyby nie to, że nie mam w domu oscyloskopu i i
tak nie sprawdzę dokładnie co się dzieje.
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Sun, 14 Jun 1998 23:19:44 GMT
babuszka_at_nospam_polbox.pl (Baba Naga) wrote:
<snip>
A kto powiedział, że nie mam kondensatora ? Diody nie ma, bo i po co
No Ty ;-)
A jaki masz uklad resetu ?
Bo jak zwykly switch z rezystorem to sie nie dziwie
Czy tutaj jest wymieniony kondensator ^^^^^^^^^^^^^^^^^^^^^^^^ ?
Pozdrawiam
--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Tue, 16 Jun 1998 16:42:27 GMT
Sun, 14 Jun 1998 23:19:44 GMT, cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
(Jaroslaw Cichorski Jr.) napisał(a):
A kto powiedział, że nie mam kondensatora ? Diody nie ma, bo i po co
No Ty ;-)
A jaki masz uklad resetu ?
Bo jak zwykly switch z rezystorem to sie nie dziwie
Czy tutaj jest wymieniony kondensator ^^^^^^^^^^^^^^^^^^^^^^^^ ?
Po zignorowaniu "switch z rezystorem" (bo kto normalny robi reset w
taki sposób?) zostaje zwykły. No i tak jest: zwykły z kondesatorem,
rezystorem i dodatkowym switchem.
From: cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl (Jaroslaw Cichorski Jr.)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Tue, 16 Jun 1998 22:16:35 GMT
babuszka_at_nospam_polbox.pl (Baba Naga) wrote:
Po zignorowaniu "switch z rezystorem" (bo kto normalny robi reset w
taki sposób?) zostaje zwykły. No i tak jest: zwykły z kondesatorem,
rezystorem i dodatkowym switchem.
Wybacz, nie chcialem Cie urazic,
masz racje, nikt normalny tak nie robi, a pomimo to widzialem juz
takie pomysly !
Pozdrawiam
--------
Jaroslaw Cichorski Jr.
E-mail cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
WWW http://www.amart.com.pl
UWAGA Adres email niewazny!
Prosze usunac JUNK MAIL PROTECTION. zeby otrzymac prawidlowy adres.
Kto to jest General Failure i dlaczego czyta z mojego dysku twardego ?
From: babuszka_at_nospam_polbox.pl (Baba Naga)
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Wed, 17 Jun 1998 18:17:18 GMT
Tue, 16 Jun 1998 22:16:35 GMT, cichy_at_nospam_amart.JUNKMAILPROTECTION.com.pl
(Jaroslaw Cichorski Jr.) napisał(a):
Po zignorowaniu "switch z rezystorem" (bo kto normalny robi reset w
taki sposób?) zostaje zwykły. No i tak jest: zwykły z kondesatorem,
rezystorem i dodatkowym switchem.
Wybacz, nie chcialem Cie urazic,
daj spokój, nie jestem babą :-)
masz racje, nikt normalny tak nie robi, a pomimo to widzialem juz
takie pomysly !
Będziesz to sugerował w odpowiedzi na każdy problem ?
From: Jaroslaw Sadowski <jsadowski_at_nospam_ds2.pg.gda.pl>
Subject: Re: ? ? ? - Zerowanie mikrokontrolerow ATMEL
Date: Tue, 09 Jun 1998 20:49:39 +0200
Ciagle nie rozumiem jednej rzeczy: dlaczego oscylator startuje po
uaktywnieniu zewnetrznego resetu ?
Mialem podobne problemy i zwykle rozwiazywalem je w jeden z
nastepujacych sposobow:
1. nierowne wartosci pojemnosci miedzy nozkami XTAL1 i XTAL2 a masa.
2. Jedna lub obie pojemnosci dolacone nie do masy a do napiecia
zasilania - pod warunkiem, ze jest ono bardzo dobrze wyfiltrowane w celu
niezaklocania pracy generatora szpilkami z zasilania. Najskuteczniejsze.
Istnieja uklady sterowane magistrala I2C, ktorych generator kwarcowy
startuje dopiero w momencie pierwszego poprawnego warunku startu na
magistrali, rowniez nie wiadomo dlaczego. Uklady te nie maja pozliwosci
wylaczenia generatora przez ta magistrale. Oznaczenie ukladu niestety
wylecialo mi z glowy a nie mam dostepu do odpowiednich schematow.
Jaroslaw Sadowski
---------------------------------------
http://www.ds2.pg.gda.pl/~jsadowski