Re: Mikroprocesory 8051



Masz problem? Zapytaj na forum elektroda.pl z bramką pl.misc.elektronika!

Poprzedni Następny
Wiadomoœć
spis treści
From: gred1_at_nospam_polbox.com (Grzegorz Redlarski)
Subject: Re: Mikroprocesory 8051
Date: Tue, 02 Mar 1999 00:21:02 GMT


On Sun, 28 Feb 1999 12:58:05 GMT, Andrzej Radecki
<radecki_at_nospam_posejdon.wpk.p.lodz.pl> wrote:

Jeśli zdarzy Ci
się, że będziesz musiał skorzystać z rozkazów arytmetycznych w
czasie rzeczywistym to znaczy, że nie potrzebujesz ani '51 ani
AVR'a tylko DSP.

Troche przesadzasz... W SAB517A do wyznaczenia rzeczywistej wartosci
skutecznej 8. napiec 50Hz (z wewnetrznego 10-bitowego ADC) bardzo
przydaje sie jego "koprocesor" m.in. z mnozeniem 16bit*16bit oraz
dzieleniem 32/16. Do tego typu sygnalow DSP zwykle nie jest potrzebne, a
bez tego mnozenia nie daloby sie zrobic TRMS. Oczywiscie sumowanie
kwadratow probek jest robione na przerwaniach bezposrednio po ich
odczytaniu z ADC.

gr


Poprzedni Następny
Wiadomoœć
spis treści
From: gred_at_nospam_kki.net.pl (Grzegorz Redlarski)
Subject: Re: Mikroprocesory 8051
Date: Fri, 05 Mar 1999 12:42:53 GMT


On Wed, 03 Mar 1999 13:08:51 GMT, Andrzej Radecki
<radecki_at_nospam_posejdon.wpk.p.lodz.pl> wrote:

W SAB517A do wyznaczenia rzeczywistej wartosci
skutecznej 8. napiec 50Hz (z wewnetrznego 10-bitowego ADC) bardzo
przydaje sie jego "koprocesor" m.in. z mnozeniem 16bit*16bit oraz
dzieleniem 32/16. Do tego typu sygnalow DSP zwykle nie jest potrzebne, a
bez tego mnozenia nie daloby sie zrobic TRMS.
teraz Ty przesadzasz... w tym przypadku dałoby się nawet imple­
mentując mnożenie 'na piechotę' (dla AVR'ka o fclk=20MHz i f
próbkowania = 20kHz masz.. no.. ile cykli zegara na próbkę?)

Potrzebuje ponad 5300 mnozen 16b*16b na sekunde. Nie przecze, ze AVR by
sie z tym wyrobil. Oczywiscie sa tez inne rzeczy do zrobienia, np.
wielopozycyjne shifty 32-bitowe (to tez zalatwia "koprocesor"). Jak sie
pojawi AVR z 10 bit ADC, "licznikami-rejestrami" CCR i dwoma RS-ami to
pewnie wezme go pod uwage. Oczywiscie nie zamierzam wywolywac kolejnej
wojny o wyzszosci... Chodzilo mi tylko o to, ze nie zawsze trzeba od
razu DSP, choc prawde mowiac, te same rzeczy robie teraz na DSP, ale
oczywiscie nie tylko te same...

Oczywiscie sumowanie
kwadratow probek jest robione na przerwaniach bezposrednio po ich
odczytaniu z ADC.

To akurat jeden z przypadków uzasadnionego użycia operacji
arytmetycznych w czasie rzeczywistym. Ale lepszym pomysłem byłoby
zapamiętanie pewnej ilości próbek i późniejsza ich obróbka.

Takie rozwiazanie moze byc dobre w niektorych zastosowaniach, ale nie
koniecznie nadaje sie do pracy w czasie rzeczywistym (przynajmniej w tym
konkretnym przypadku). Buforowanie tylko zwiekszy obciazenie procesora,
zwlaszcza, ze jak pisalem, buforow jest 8. W tej chwili przerwania
pochlaniaja ok. 50% czasu (w tym jest tez RS, odliczanie czasu itp.).
Jest robiony odpowiednik SAB517A, ktory jest 2x szybszy, ale (1) nie byl
konieczny i (2) nie mam do niego emulatora (choc zgodnosc jest na tyle
duza, ze mozna uruchamiac program "na pol gwizdka" na 517A, a docelowo
uruchomic na tym szybszym).

gr


Poprzedni Następny
Wiadomoœć
spis treści
From: Andrzej Radecki <radecki_at_nospam_posejdon.wpk.p.lodz.pl>
Subject: Re: Mikroprocesory 8051
Date: Wed, 03 Mar 1999 13:08:51 GMT


Grzegorz Redlarski <gred1_at_nospam_polbox.com> napisał(a):
On Sun, 28 Feb 1999 12:58:05 GMT, Andrzej Radecki
<radecki_at_nospam_posejdon.wpk.p.lodz.pl> wrote:

Jeśli zdarzy Ci
się, że będziesz musiał skorzystać z rozkazów arytmetycznych w
czasie rzeczywistym to znaczy, że nie potrzebujesz ani '51 ani
AVR'a tylko DSP.

Troche przesadzasz...
No.. troszeczkę..

W SAB517A do wyznaczenia rzeczywistej wartosci
skutecznej 8. napiec 50Hz (z wewnetrznego 10-bitowego ADC) bardzo
przydaje sie jego "koprocesor" m.in. z mnozeniem 16bit*16bit oraz
dzieleniem 32/16. Do tego typu sygnalow DSP zwykle nie jest potrzebne, a
bez tego mnozenia nie daloby sie zrobic TRMS.
teraz Ty przesadzasz... w tym przypadku dałoby się nawet imple­
mentując mnożenie 'na piechotę' (dla AVR'ka o fclk=20MHz i f
próbkowania = 20kHz masz.. no.. ile cykli zegara na próbkę?)

Oczywiscie sumowanie
kwadratow probek jest robione na przerwaniach bezposrednio po ich
odczytaniu z ADC.

To akurat jeden z przypadków uzasadnionego użycia operacji
arytmetycznych w czasie rzeczywistym. Ale lepszym pomysłem byłoby
zapamiętanie pewnej ilości próbek i późniejsza ich obróbka.
Pozwoliłoby to na zwiększenie częstotliwości próbkowania. Oczy­
wiście wadą tego rozwiązania jest spore zapotrzebowanie na pamięć
i dlatego napisałem, że jest to uzasadniony przypadek. Gdybyś
jednak chciał policzyć FFT to i tak nie wyrobiłbyś się w czasie
rzeczywistym.
Nie mam nic przeciwko takim rozkazom jak mnożenie czy dzielenie
dla mnie ważniejsza jest duża liczba rejestrów i krótki czas
wykonywania się prostych rozkazów.

Pozdrawiam
--
( /0/ Andrzej Radecki
==== \ mailto:radecki_at_nospam_posejdon.wpk.p.lodz.pl
/ |