RTV forum PL | NewsGroups PL

uM-FPU V3 od Micromega - jak zwiększyć wydajność obliczeń zmiennoprzecinkowych w mikrokontrolerach?

Zmiennoprzecinkowy koprocesor do mikrokontrolerow

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - uM-FPU V3 od Micromega - jak zwiększyć wydajność obliczeń zmiennoprzecinkowych w mikrokontrolerach?

Goto page 1, 2  Next

Pszemol
Guest

Thu Aug 31, 2006 4:00 pm   



Kazdy kto probowal w swoim mikro-urzadzeniu linearyzowac dane z termistorow,
termopar spotkal sie z koniecznoscia obliczen zmiennoprzecinkowych...
To samo pewnie dotyczy ludzi obliczajacych dane z GPS.

Emulacja biblioteki zmiennoprzecinkowej, obliczanie logarytmow naturalnych
i tym podobne operacje na malym 8051 to zwykle katorga...

Pomyslalem o tym sobie czytajac o ukladzie scalonym, ktory w malej
obudowie 8-pinowej zawarty ma koprocesor zmiennoprzecinkowy
z interfejsem SPI do podlaczenia do wszelakiej masci mikrokontrolerow.
Ten chip to uM-FPU V3 firmy Micromega...

Warto sie nim zainteresowac Smile

J.F.
Guest

Thu Aug 31, 2006 4:25 pm   



On Thu, 31 Aug 2006 11:00:26 -0500, Pszemol wrote:
Quote:
Kazdy kto probowal w swoim mikro-urzadzeniu linearyzowac dane z termistorow,
termopar spotkal sie z koniecznoscia obliczen zmiennoprzecinkowych...

Akurat to mozna zrobic bez.

Quote:
Pomyslalem o tym sobie czytajac o ukladzie scalonym, ktory w malej
obudowie 8-pinowej zawarty ma koprocesor zmiennoprzecinkowy
z interfejsem SPI do podlaczenia do wszelakiej masci mikrokontrolerow.
Ten chip to uM-FPU V3 firmy Micromega...
Warto sie nim zainteresowac Smile

Nie warto. Uzyj ARM czy innego procka :-)

J.

AlexY
Guest

Thu Aug 31, 2006 5:31 pm   



Użytkownik Pszemol napisał:


Quote:
Pomyslalem o tym sobie czytajac o ukladzie scalonym, ktory w malej
obudowie 8-pinowej zawarty ma koprocesor zmiennoprzecinkowy
z interfejsem SPI do podlaczenia do wszelakiej masci mikrokontrolerow.
Ten chip to uM-FPU V3 firmy Micromega...

Warto sie nim zainteresowac Smile

cena sugerowana 20$
to juz chyba jednak arm wyjdzie taniej/kozystniej niz do 8051 za 5PLN
podpinac koprocesor za 20$ Smile
no chyba ze stanieje do 5PLN

--
AlexY
http://ldhp715.immt.pwr.wroc.pl/~sapi/sieci/netykieta/

PAndy
Guest

Thu Aug 31, 2006 5:47 pm   



"Pszemol" <Pszemol@PolBox.com> wrote in message
news:ed6fge.jqc.0@poczta.onet.pl...

Quote:
Warto sie nim zainteresowac Smile

ARM, ColdFire, PowerPC czy w ostatecznosci drugi 8051 (AVR) pracujacy
jako koprocesor....(moga byc 2, 3, 8...)

A.Grodecki
Guest

Thu Aug 31, 2006 8:30 pm   



Pszemol napisał(a):
Quote:
Kazdy kto probowal w swoim mikro-urzadzeniu linearyzowac dane z
termistorow,
termopar spotkal sie z koniecznoscia obliczen zmiennoprzecinkowych...
To samo pewnie dotyczy ludzi obliczajacych dane z GPS.

Emulacja biblioteki zmiennoprzecinkowej, obliczanie logarytmow naturalnych
i tym podobne operacje na malym 8051 to zwykle katorga...

Pomyslalem o tym sobie czytajac o ukladzie scalonym, ktory w malej
obudowie 8-pinowej zawarty ma koprocesor zmiennoprzecinkowy
z interfejsem SPI do podlaczenia do wszelakiej masci mikrokontrolerow.
Ten chip to uM-FPU V3 firmy Micromega...

Warto sie nim zainteresowac Smile

Zrobili, ale warto się zastanowić nad celowością stosowania.
W swoim czasie popełniłem na zwykłym 87c52 regulator przemysłowy PID z
wejściem dla wszystkich rodzajów termopar i termorezystorów. Cały
program regulatora o precyzji numerycznej 0.1C, wraz z obsługą
peryferiów i interfejsem użytkownika, zajmował nieco ponad 5kB, czyli o
mały włos a zmieściłby się nawet w 87c51...
Przez wszystkie lata pracy nie spotkałem się z potrzebą użycia obliczeń
zmiennoprzecinkowych. To nie znaczy że takich potrzeb nie ma, ale
pokazuje jak żadko są, tak naprawdę, potrzebne.

--

Pozdrawiam,

A. Grodecki

"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."

Pszemol
Guest

Thu Aug 31, 2006 9:19 pm   



"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message news:sa3ef29huopn4iv9bu892eqoi2bae34eih@4ax.com...
Quote:
On Thu, 31 Aug 2006 11:00:26 -0500, Pszemol wrote:
Kazdy kto probowal w swoim mikro-urzadzeniu linearyzowac dane z termistorow,
termopar spotkal sie z koniecznoscia obliczen zmiennoprzecinkowych...

Akurat to mozna zrobic bez.

Chetnie poznam jakis taki przyklad... Na razie mam w kodzie C/C++ na malym
32-bitowym CPU mierzenie czasu ladowania kondensatora przez termistor
i obliczam temperature na podstawie tego czasu w taki sposob:

const float te_defa = 0.0010390139651;
const float te_defb = 0.0002377762721;
const float te_defc = 0.0000001621900;
// powyzsze stale dostarczone przez producenta termistorow

float varq = ((47500.0 * 3160.0 *
((float ) Thermistor[th].ulRunningAverage
- (float ) Thermistor[th-1].ulRunningAverage)) /
((3160.0 * (float )Thermistor[th-1].ulRunningAverage)
- (47500.0 * (float )Thermistor[th].ulRunningAverage)));

float varp = ((float )Thermistor[th].ulRunningAverage *
((varq/3160.0) +1));

// varq i varp to zmienne kalibracyjne obliczone na
// podstawie czasow ladowania kondensatora przez
// stale oporniki o znanych wartosciach rezystancji...

// teraz lecimy z temperaturka dla poszczegolnych termistorow
for (th=0; th<MAX_THERMISTORS-2; th++)
{
float res = log(((float )Thermistor[th].ulRunningAverage * varq) /
(varp - (float )Thermistor[th].ulRunningAverage));

float cent = (1.0/(te_defa + te_defb * res +
te_defc * pow(res,3.0))) - 273.0;

if ((cent < -60.0) || ( cent > 75))
Thermistor[th].lTemperature = 9999999;
else
{
if(hdwr->bFahrenheit)
Thermistor[th].lTemperature =
(INT32S)(((((cent * 9.0) / 5.0) + 32.0) * 10000.0)) + Thermistor[th].lOffset;
else
Thermistor[th].lTemperature =
(INT32S)(cent * 10000.0) + Thermistor[th].lOffset;
}
}

Jak widzisz, az sie tam roi od zmiennych przecinkow, poteg i logarytmow...

Ktos tu jest mocniejszy w metodach numerycznych i pokaze mi jak tu
uniknac zmiennych przecinkow w obliczeniach to chetnie sie czegos naucze Smile

A.Grodecki
Guest

Thu Aug 31, 2006 9:52 pm   



Pszemol napisał(a):

Quote:
Jak widzisz, az sie tam roi od zmiennych przecinkow, poteg i logarytmow...
Ktos tu jest mocniejszy w metodach numerycznych i pokaze mi jak tu
uniknac zmiennych przecinkow w obliczeniach to chetnie sie czegos naucze
Smile

Magiczne słowo: linearyzacja.

--

Pozdrawiam,

A. Grodecki

"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."

J.F.
Guest

Thu Aug 31, 2006 10:07 pm   



On Thu, 31 Aug 2006 16:19:57 -0500, Pszemol wrote:
Quote:
"J.F." <jfox_xnospamx@poczta.onet.pl> wrote in message news:sa3ef29huopn4iv9bu892eqoi2bae34eih@4ax.com...
Kazdy kto probowal w swoim mikro-urzadzeniu linearyzowac dane z termistorow,
termopar spotkal sie z koniecznoscia obliczen zmiennoprzecinkowych...

Akurat to mozna zrobic bez.

Chetnie poznam jakis taki przyklad...

Zapewne zadziala liniowa aproksymacja odcinkami i mala tablica.

Jaki zakres, jak dokladnie, jaki wzor, bo za bardzo zagmatwany program
:-)

Quote:
const float te_defa = 0.0010390139651;
const float te_defb = 0.0002377762721;
const float te_defc = 0.0000001621900;
// powyzsze stale dostarczone przez producenta termistorow

A dokladna ma produkcje ?
Moze najlepiej jednak skalibrowac co 10 stopni [C] kazda sztuke ?

J.

Pszemol
Guest

Thu Aug 31, 2006 11:32 pm   



"A.Grodecki" <brak@adresu.com> wrote in message news:ed7ldf$dkv$2@nemesis.news.tpi.pl...
Quote:
Pszemol napisał(a):

Jak widzisz, az sie tam roi od zmiennych przecinkow, poteg i logarytmow...
Ktos tu jest mocniejszy w metodach numerycznych i pokaze mi jak tu
uniknac zmiennych przecinkow w obliczeniach to chetnie sie czegos naucze :-)

Magiczne słowo: linearyzacja.

Problem w tym,
że nie mam wpływu na układ czujnika z konwerterem temperatury
wysyłającym do mojego urządzenia już tylko impulsy czasowe...

Dwa z nich reprezentują czas ładowania kondensatora przez znane
wartości oporności a reszta impulsów to przełączane termistory...

Zmiana układu elektronicznego wokół termistora nie wchodzi w grę.


p.s. jak tam Twoje rybki się czują ?

A.Grodecki
Guest

Fri Sep 01, 2006 12:24 am   



Pszemol napisał(a):

Quote:
Problem w tym,
że nie mam wpływu na układ czujnika z konwerterem temperatury
wysyłającym do mojego urządzenia już tylko impulsy czasowe...

Dwa z nich reprezentują czas ładowania kondensatora przez znane
wartości oporności a reszta impulsów to przełączane termistory...

Zmiana układu elektronicznego wokół termistora nie wchodzi w grę.

Miałem na myśli aproksymację odcinkowo-liniową charakterystyk.
To bez znaczenia jaki jest układ. Zawsze można zlinearyzować. Błąd -
oczywiscie pojawi się ale nie ma problemu aby go sprowadzić do poziomu
zakładanego. Zresztą wzory empiryczne charakterystyk czujników też są
tylko pewnym przybliżeniem.

Quote:
p.s. jak tam Twoje rybki się czują ?

Rybki czują się dobrze. Poza tymi które zdechły :)


--

Pozdrawiam,

A. Grodecki

"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."

Pszemol
Guest

Fri Sep 01, 2006 1:29 am   



"A.Grodecki" <brak@adresu.com> wrote in message news:ed7u5e$p0p$1@atlantis.news.tpi.pl...
Quote:
Miałem na myśli aproksymację odcinkowo-liniową charakterystyk.
To bez znaczenia jaki jest układ. Zawsze można zlinearyzować. Błąd - oczywiscie pojawi się ale nie ma problemu aby go sprowadzić
do poziomu zakładanego. Zresztą wzory empiryczne charakterystyk czujników też są tylko pewnym przybliżeniem.

Masz jakieś fajne materiały do poczytania na ten temat ?
Musze się zapoznać czy da się to wykorzystać w moim przypadku.

Quote:
p.s. jak tam Twoje rybki się czują ?

Rybki czują się dobrze. Poza tymi które zdechły Smile

Rybki jak to rybki - jak żyją to żyją aż nie zdechną.
Dawno Cię na pra nie było... Karmnik automatyczny DIY wciąż działa ?

A.Grodecki
Guest

Fri Sep 01, 2006 10:29 am   



Pszemol napisał(a):

Quote:
Masz jakieś fajne materiały do poczytania na ten temat ?
Musze się zapoznać czy da się to wykorzystać w moim przypadku.

Nie mam. Kiedyś pracowałem jako konstruktor w firmie produkującej
wszelkie czujniki i elektronikę dla pomiarów temperatur. Wtedy powstał
między innymi wspomniany regulator. Dawno to było, już od lat '51 nie
używam.
Wzory charakterystyk czujników są w Polskich Normach. Aproksymowałem je
i wyniki optymalizowałem programem napisanym w Matlabie. Bułka z masłem.


Quote:
Rybki jak to rybki - jak żyją to żyją aż nie zdechną.
Dawno Cię na pra nie było... Karmnik automatyczny DIY wciąż działa ?

Wyczytałem co chciałem i co tam dalej robic?
Karmik działa, kiedy wszyscy wyjeżdżamy na dłużej niż dzień zawsze włączam.
Jeden konkretny gatunek mi stopniowo wyzdychał. Okazał się bardzo
wrażliwy na azotany. Dopuszczalna górna dawka 50 powodowała gwałtowny
spadek ich kondycji. Wystarczyło że nie podmieniłem wody w ciągu 1.5
tygodnia i trup był murowany. A takie miały być odporne... ;

--

Pozdrawiam,

A. Grodecki

"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."

Pszemol
Guest

Sat Sep 02, 2006 9:07 pm   



"A.Grodecki" <brak@adresu.com> wrote in message news:ed91kl$oac$1@atlantis.news.tpi.pl...
Quote:
Nie mam. Kiedyś pracowałem jako konstruktor w firmie produkującej wszelkie czujniki i elektronikę dla pomiarów temperatur. Wtedy
powstał między innymi wspomniany regulator. Dawno to było, już od lat '51 nie używam.

Ja akurat też teraz piszę raczej dla 32-bitowców.

Quote:
Wzory charakterystyk czujników są w Polskich Normach. Aproksymowałem je i wyniki optymalizowałem programem napisanym w Matlabie.
Bułka z masłem.

Mnie metody numeryczne nigdy jakoś nie rajcowały więc nie jest to żadna bułka ;-)

Quote:
Rybki jak to rybki - jak żyją to żyją aż nie zdechną.
Dawno Cię na pra nie było... Karmnik automatyczny DIY wciąż działa ?

Wyczytałem co chciałem i co tam dalej robic?

Pomagać szukającym rad jako doświadczony ?

Co robisz tutaj na elektronice odpisując na moje pytania ? :-)

Quote:
Karmik działa, kiedy wszyscy wyjeżdżamy na dłużej niż dzień zawsze włączam.
Jeden konkretny gatunek mi stopniowo wyzdychał. Okazał się bardzo wrażliwy na azotany. Dopuszczalna górna dawka 50 powodowała
gwałtowny spadek ich kondycji. Wystarczyło że nie podmieniłem wody w ciągu 1.5 tygodnia i trup był murowany. A takie miały być
odporne... ;

Azotany to niestety zmora słodkowodniaków.
Morszczakom dochodzi druga: fosforany...

A.Grodecki
Guest

Sat Sep 02, 2006 11:14 pm   



Pszemol napisał(a):

Quote:
Mnie metody numeryczne nigdy jakoś nie rajcowały więc nie jest to żadna
bułka Wink

Metody numeryczne to w tym przypadky zbyt poważne hasło. Trzeba tak
poprowadzić krzywą łamaną wokół funkcji, aby błąd w dowolnym miejscu był
nie większy niż zadany. Obliczenie ma charakter siłowy a nie
analityczny. Analitycznie tez mozna, ale po co. Zapuszczasz komputer i
po jakimś czasie jest wynik.
Efekty zawsze wymagają odrobinę wysiłku. Matlaba warto kiedyś spróbować.
Może być czasami bardzo użyteczny i nie jest trudny w użyciu.

Quote:
Pomagać szukającym rad jako doświadczony ?

Nie jestem doświadczony, moje doświadczenie akwarystyczne to tylko tyle
ile mi było potrzeba. Są lepsi.

Quote:

Co robisz tutaj na elektronice odpisując na moje pytania ? Smile

Dobre pytanie Smile
Akurat na tym znam się dobrze, moim zdaniem Wink
Poza tym mam chwilowo czas (rozrywam się w przerwach między jednym
kawałkiem pracy a drugim) i wkrótce znowu zniknę na pewien okres :)

Quote:
Azotany to niestety zmora słodkowodniaków.
Morszczakom dochodzi druga: fosforany...

Nie zawsze mam czas i checi, żeby poświęcić godzinę tygodniowo na
czyszczenie i podmianę wody Smile W życiu bym sie nie zdecydował na
zbiornik który wymaga ode mnie jeszcze więcej wysiłku.

--

Pozdrawiam,

A. Grodecki

"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."

Piotr Wyderski
Guest

Sun Sep 03, 2006 3:10 pm   



PAndy wrote:

Quote:
ARM, ColdFire, PowerPC

PowerPC do zastosowań embedded i do tego jeszcze
lutowalny w warunkach domowych i możliwy do kupienia?
Gdzie?! :-)

Pozdrawiam
Piotr Wyderski

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - uM-FPU V3 od Micromega - jak zwiększyć wydajność obliczeń zmiennoprzecinkowych w mikrokontrolerach?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map