Max przerwania w układzie '51: Czy osiągnięcie 130 kHz to dobry pomysł?

'51 i przerwania





Poprzedni Następny
Wiadomość
spis treści
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?




Poprzedni Następny
Wiadomość
spis treści
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

Poprzedni Następny
Wiadomość
spis treści
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/


Poprzedni Następny
Wiadomość
spis treści
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

Poprzedni Następny
Wiadomość
spis treści
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



Poprzedni Następny
Wiadomość
spis treści
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



Poprzedni Następny
Wiadomość
spis treści
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.