Max przerwania w układzie '51: Czy osiągnięcie 130 kHz to dobry pomysł?
'51 i przerwania
From: Jack Houseman <jadoone_at_nospam_free.polbox.pl>
Subject: '51 i przerwania
Date: Sat, 23 Aug 1997 22:26:22 +0200
Hi!
Czy ktos wie (sprawdzal doswiadczalnie) ile mozna max. wyciagnac
przerwan
z '51 (powiedzmy, ze przerwanie z licznika).
Czy da sie uzyskac przerwanie np. z czestotliwoscia 130kHz? (pewnie da,
ale jak to wplynie na 'siekanie' programu glownego).
Powiedzmy ,ze przerwanie ma wykonac tylko jedna (oprocz odlozenia odp.
rejestrow) instrukcje, ktora zmieni stan jednego z pinow.
Krotko mowiac, chodzi mi o uzyskanie fali prostokatnej 130kHz na jednym
z
wyjsc.
Czy da sie to sensownie wykonac i jak bardzo obciazy to procesor?
From: Adam <chip_at_nospam_resurrection.com>
Subject: Re: '51 i przerwania
Date: Sun, 24 Aug 1997 05:17:58 +0200
Jack Houseman wrote:
Hi!
Czy ktos wie (sprawdzal doswiadczalnie) ile mozna max. wyciagnac
przerwan
z '51 (powiedzmy, ze przerwanie z licznika).
Czy da sie uzyskac przerwanie np. z czestotliwoscia 130kHz? (pewnie da,
ale jak to wplynie na 'siekanie' programu glownego).
Powiedzmy ,ze przerwanie ma wykonac tylko jedna (oprocz odlozenia odp.
rejestrow) instrukcje, ktora zmieni stan jednego z pinow.
Krotko mowiac, chodzi mi o uzyskanie fali prostokatnej 130kHz na jednym
z
wyjsc.
Czy da sie to sensownie wykonac i jak bardzo obciazy to procesor?
***********
To niemadre robic to przerwaniem - 130 KHz ! Radze policzyc instrukcje i
puscic petle. Zastosuj np. bardzo tani 89C1051 - 20 nozek do tego celu
jezeli masz inne procedury do zalatwienia.
Adam
From: gred_at_nospam_polbox.com (Grzegorz Redlarski)
Subject: Re: '51 i przerwania
Date: Mon, 25 Aug 1997 07:46:06 GMT
Jack Houseman wrote:
Krotko mowiac, chodzi mi o uzyskanie fali prostokatnej 130kHz na jednym
z wyjsc.
Moze zastosowac jakis mikrokontroler z rodziny '51, ktory ma Compare
Unit? Ja stosowalem 80C517A (Siemens). Tyle, ze jest on dosc drogi w
porownaniu ze zwykla '51. Mozna za jego pomoca uzyskac sygnaly
prostokatne z rozdzielczoscia f(osc)/2 (dla 18MHz jest to 0.111us). W
zasadzie stosowanie takiej "armaty" ma sens wtedy, gdy potrzeba troche
wiecej niz jeden sygnal prostokatny (ja potrzebowalem ich 6, a do tego
jeszcze 10bit ADC, który tez jest w srodku). Moze sa jakies tansze
procesory, ktore tez maja CCU (Compare/Capture Unit)? Moze 80C517,
ktory ma mozliwosci nie wiele mniejsze od 80C517A, a zapewne jest
troche tanszy?
gr
PS Z jakichs powodow nie dotarla do mnie wypowiedz Jacka, dlatego
odpowiadam na follow-up Adama.
Grzegorz Redlarski (Gdańsk)
mailto:gred_at_nospam_amg.gda.pl (iso8859-2)
http://www.amg.gda.pl/~gred/
http://www.polbox.com/g/gred/
From: Maciej Czapla <caltek_at_nospam_wroclaw.top.pl>
Subject: Re: '51 i przerwania
Date: Tue, 26 Aug 1997 13:14:34 -0700
Grzegorz Redlarski wrote:
=
Jack Houseman wrote:
=
Krotko mowiac, chodzi mi o uzyskanie fali prostokatnej 130kHz na jed=
nym
z wyjsc.
=
Moze zastosowac jakis mikrokontroler z rodziny '51, ktory ma Compare
Unit? Ja stosowalem 80C517A (Siemens). Tyle, ze jest on dosc drogi w
porownaniu ze zwykla '51. Mozna za jego pomoca uzyskac sygnaly
prostokatne z rozdzielczoscia f(osc)/2 (dla 18MHz jest to 0.111us). W
zasadzie stosowanie takiej "armaty" ma sens wtedy, gdy potrzeba troche
wiecej niz jeden sygnal prostokatny (ja potrzebowalem ich 6, a do tego
jeszcze 10bit ADC, kt=F3ry tez jest w srodku). Moze sa jakies tansze
procesory, ktore tez maja CCU (Compare/Capture Unit)? Moze 80C517,
ktory ma mozliwosci nie wiele mniejsze od 80C517A, a zapewne jest
troche tanszy?
Mo=BFesz wybra=E6 spo=B6r=F3d nast=EApuj=B1cej grupy procesor=F3w, kt=F3r=
e maj=B1 co=B6 co
producenci nazywaj=B1 PCA (Programmable Counter Array) lub CCU:
8xC51Fy (y=3DA,B,C) D40, PL44 - intel, philips
87C754 =3D SSOP28 - philips =
8xC552 =3D PLCC68 - philips
8xC575 =3D D40, PL44 - philips
80C535 =3D PL68 - siemens
pewnie jest ich wi=EAcej, ale nie znam wszystkich.
Pozdrowienia
Maciej Czapla
CALTEK, Wroc=B3aw
From: Jack Houseman <jadoone_at_nospam_free.polbox.pl>
Subject: Re: '51 i przerwania
Date: Mon, 25 Aug 1997 21:17:44 +0200
Adam wrote:
Jack Houseman wrote:
Hi!
Czy ktos wie (sprawdzal doswiadczalnie) ile mozna max. wyciagnac
przerwan
z '51 (powiedzmy, ze przerwanie z licznika).
Czy da sie uzyskac przerwanie np. z czestotliwoscia 130kHz? (pewnie
da,
ale jak to wplynie na 'siekanie' programu glownego).
Powiedzmy ,ze przerwanie ma wykonac tylko jedna (oprocz odlozenia
odp.
rejestrow) instrukcje, ktora zmieni stan jednego z pinow.
Krotko mowiac, chodzi mi o uzyskanie fali prostokatnej 130kHz na
jednym
z
wyjsc.
Czy da sie to sensownie wykonac i jak bardzo obciazy to procesor?
***********
To niemadre robic to przerwaniem - 130 KHz ! Radze policzyc instrukcje
i
puscic petle. Zastosuj np. bardzo tani 89C1051 - 20 nozek do tego celu
jezeli masz inne procedury do zalatwienia.
Adam
Po prostu chcialem sie przekonac , czy jest to mozliwe i co o tym
sadzicie. Widze, ze jednak
nie da sie przeskoczyc pewnych rzeczy..ehhh, najlepszym wyjsciem byloby
tu zeby 8051 mial
bezposrednie wyjscie z licznika na ktorys z pinow, a nie na przerwanie.
Toby nie obciazylo
procesora, calosc szla by sprzetowo.
Musze wykonac uklad (musze...heh...kto tak powiedzial? moge nie
robic....) w ktorym
czestotliwosc ok. 130 kHz bedzie bramkowana przez procesor tworzac ciag
paczek 130Khz.
W tej sytuacji mam dwa wyjscia: zastosowac zewnetrzne 2 liczniki TTL
(ew. jakas inna kombinacja, moze cos w jednym scalaku) sterowane
sygnalem z kwarcu procesora , lub zewnetrzny oddzielny generator (LC?).
Zastanawiam sie w takim przypadku nad tym czy wzrosnie poziom zaklocen
generowanych przez uklad (zenetrzne uklady zamiast wewnetrznego
podzialu).
Przy generatorze LC mam sinusoide, wiec zaklocenia male, ale gorzej z
bramkowaniem
sygnalu (chyba przez klucze CMOS?).
A moze jakis inny typ generatora? PLL? RC? ale wtedy gorzej ze
stabilnoscia czestotliwosci
itp.. itd...
W kazdym przypadku dochodzi po 1-2 scalaki do procesora (2051), a zalezy
mi na jak najwiekszej miniaturyzacji. Czy moze ktos juz sprowadzal np.
89c2051 w wersji SMD?
Nie wiecie?
Jacek
From: Jack Houseman <jadoone_at_nospam_free.polbox.pl>
Subject: Re: '51 i przerwania
Date: Mon, 25 Aug 1997 21:20:09 +0200
Adam wrote:
Jack Houseman wrote:
Hi!
Czy ktos wie (sprawdzal doswiadczalnie) ile mozna max. wyciagnac
przerwan
z '51 (powiedzmy, ze przerwanie z licznika).
Czy da sie uzyskac przerwanie np. z czestotliwoscia 130kHz? (pewnie
da,
ale jak to wplynie na 'siekanie' programu glownego).
Powiedzmy ,ze przerwanie ma wykonac tylko jedna (oprocz odlozenia
odp.
rejestrow) instrukcje, ktora zmieni stan jednego z pinow.
Krotko mowiac, chodzi mi o uzyskanie fali prostokatnej 130kHz na
jednym
z
wyjsc.
Czy da sie to sensownie wykonac i jak bardzo obciazy to procesor?
***********
To niemadre robic to przerwaniem - 130 KHz ! Radze policzyc instrukcje
i
puscic petle. Zastosuj np. bardzo tani 89C1051 - 20 nozek do tego celu
jezeli masz inne procedury do zalatwienia.
Adam
Po prostu chcialem sie przekonac , czy jest to mozliwe i co o tym
sadzicie. Widze, ze jednak
nie da sie przeskoczyc pewnych rzeczy..ehhh, najlepszym wyjsciem byloby
tu zeby 8051 mial
bezposrednie wyjscie z licznika na ktorys z pinow, a nie na przerwanie.
Toby nie obciazylo
procesora, calosc szla by sprzetowo.
Musze wykonac uklad (musze...heh...kto tak powiedzial? moge nie
robic....) w ktorym
czestotliwosc ok. 130 kHz bedzie bramkowana przez procesor tworzac ciag
paczek 130Khz.
W tej sytuacji mam dwa wyjscia: zastosowac zewnetrzne 2 liczniki TTL
(ew. jakas inna kombinacja, moze cos w jednym scalaku) sterowane
sygnalem z kwarcu procesora , lub zewnetrzny oddzielny generator (LC?).
Zastanawiam sie w takim przypadku nad tym czy wzrosnie poziom zaklocen
generowanych przez uklad (zenetrzne uklady zamiast wewnetrznego
podzialu).
Przy generatorze LC mam sinusoide, wiec zaklocenia male, ale gorzej z
bramkowaniem
sygnalu (chyba przez klucze CMOS?).
A moze jakis inny typ generatora? PLL? RC? ale wtedy gorzej ze
stabilnoscia czestotliwosci
itp.. itd...
W kazdym przypadku dochodzi po 1-2 scalaki do procesora (2051), a zalezy
mi na jak najwiekszej miniaturyzacji. Czy moze ktos juz sprowadzal np.
89c2051 w wersji SMD?
Nie wiecie?
Jacek
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: '51 i przerwania
Date: Sun, 24 Aug 1997 14:55:01 GMT
On Sat, 23 Aug 1997 22:26:22 +0200, Jack Houseman
Czy ktos wie (sprawdzal doswiadczalnie) ile mozna max. wyciagnac
przerwan z '51 (powiedzmy, ze przerwanie z licznika).
Czy da sie uzyskac przerwanie np. z czestotliwoscia 130kHz? (pewnie da,
ale jak to wplynie na 'siekanie' programu glownego).
Powiedzmy ,ze przerwanie ma wykonac tylko jedna (oprocz odlozenia odp.
rejestrow) instrukcje, ktora zmieni stan jednego z pinow.
Krotko mowiac, chodzi mi o uzyskanie fali prostokatnej 130kHz na jednym
z wyjsc.
Czy da sie to sensownie wykonac i jak bardzo obciazy to procesor?
No coz:
przyjecie przerwania - 2 cykle.
CPL bit - 1 cykl, lub XRL port,#mask 2 cykle
RETI - 2 cykle.
razem 5c, czyli 650kcykli na sekunde, czyli 65% zajetosci procesora
12MHz.
W dodatku jesli to ma byc 130kHz fali prostokatnej, to przerwan musi
byc 260kHz, weic od razu rozejrzyj sie za wersja 24MHz.
Dalej - przerwanie ma opoznienie od 3 do 8 cykli, wiec badz
przygotowany na nierownomiernosc zboczy.
Kolejny klopot - przy 12MHz [do timerow 1Mhz], albo dzielisz przez 8
osiagajac 125kHz, albo przez 7, otrzymujac 142... kHz. 130kHz wymaga
dobrania kwarcu.
W sumie - chyba nie tedy droga.
J.