Flyttalsprocessor söks

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Flyttalsprocessor söks

Inlägg av rehnmaak »

Någon som vet om det finns någon enkel flyttalsprocessor? Med enkel menar jag en som är enkel att ansluta till en befintlig mikrokontroller via tex spi eller liknande.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

T.ex http://www.awce.com/pak1.htm
Första google träffen på "math coprocessor pic".
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Inlägg av RasmusB »

Jajemen!

Länk

Finns även som smd på samma ställe

Edit: Attans... sodjan hann före :( Men vi länkade iaf till olika produkter... :wink:
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Inlägg av rehnmaak »

Här är det snabba svar som vanligt :D

Jag har googlat som sjutton men inte hittat några vettiga svar. Jag ska läsa dokumentationen till dessa kretsar.
kranenborg
Inlägg: 5
Blev medlem: 13 januari 2008, 00:05:18
Ort: Uppsala
Kontakt:

Inlägg av kranenborg »

Hej!

Ett alternativ til PAK som förmodligen ger mer kraft på samma pris är uM-FPU från MicroMega Corp. Gärna titta på specifikationer av uM-FPU V2 (8-pin DIP) och uM-FPU V3.1 (18-pin DIP) via följande länk: http://www.micromegacorp.com/products.html
Bägge två pråtar i2C och SPI ...

Vänliga hälsningar,
Jurjen Kranenborg
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Inlägg av RasmusB »

... du menar den som jag redan länkat till? :wink:
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Kan även tilläggas att uM-FPU säljs på Lawicel och kostar 119:- + moms.

Måste du verkligen ha en extern FPU? Det går ju trots allt att implementera det i mjukvara. uM-FPU är troligtvis bara en liten PIC eller liknande krets som gör beräkningarna i mjukvaran.
kranenborg
Inlägg: 5
Blev medlem: 13 januari 2008, 00:05:18
Ort: Uppsala
Kontakt:

Inlägg av kranenborg »

Förlåt, jag missade länken ...
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Inlägg av rehnmaak »

>>> uM-FPU är troligtvis bara en liten PIC eller liknande krets

Jo, jag trodde nog att det var något liknande. Sparkfun processorn var väl den som var bäst dokumenterad vad gäller exekveringstid för olika operationer.

>>> Måste du verkligen ha en extern FPU

Njaäe, eller jag skulle behöva ha bättre prestanda än vad jag kan få ur min microblaze klockad på 66Mhz... Just nu tar beräkningarna ca 200miljarder cykler och med 66Mhz blir det ca 1-timme med 0-wait states och i verkligheten tar det ca 3 timmar :(

Det vore trevligt om man kunde få ner det till den hastigheten jag får om jag kör beräkningarna i PC:n dvs ett 10-tal sekunder...
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

chille: Det har med utvecklingstid också. 119 kr är inte mycket om du ska bygga 1-3 st eller så, finns betydligt bättre saker i ett projekt att lägga ner tid på.
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

>> Jo, jag trodde nog att det var något liknande. Sparkfun processorn var väl den som var bäst dokumenterad vad gäller exekveringstid för olika operationer.

Var hittar du de exekveringstiderna? Hittar bara några siffror för FFT.
Användarvisningsbild
Tripp
Inlägg: 397
Blev medlem: 29 januari 2004, 08:14:39
Ort: Tullinge
Kontakt:

Inlägg av Tripp »

Nu blev jag mycket nyfiken.

Vad är det som tar 3 tim att räkna ut? :o

Mina värsta uträkningar tar typ delar av en sekund. :)

/Tripp
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

> ...och med 66Mhz blir det ca 1-timme med 0-wait states och i verkligheten tar det ca 3 timmar :(

Då är det nog verkligen inte rätt sätt att gå med att lägga till en extern LÅNGSAM FPU. Då skall du nog satsa på en FPU som klarar åtminstånde ett par hundra tusen beräkningar i sekunden. Du har inte funderat på att använda typ en DSP eller liknande? Eller kanske implementera det i en FPGA, för det har du väl redan?

> Det vore trevligt om man kunde få ner det till den hastigheten jag får om jag kör beräkningarna i PC:n dvs ett 10-tal sekunder...

Nu finns det två alternativ
1) Det finns inte en chans i världen att du skulle kunna få ner tiden från tre timmar till ett tiotal sekunder med en uM-FPU

2) Du har programmerat din microblaze helskumt och kan istället optimera koden där för att få beräkningarna _mycket_ snabbare

Micke_s: Sen får du ju också tänka på att det är faktist inte mycket svårare att implementera ett färdigt library till sin kod än vad det är att slänga på en färdig krets som man måste kommunicera mot. Vem har sagt att man måste skriva en hel FPU själv? Det finns ju såklart andra personer som redan har gjort det, precis på samma sätt som det finns folk som har gjort en "hårdvaru-FPU".

rehnmaak: Du får gärna berätta vad det är du försöker göra, och framförallt hur du gör det. Så kan vi kanske komma fram till en bättre lösning än att hänga på en uM-FPU.


EDIT: Vänta lite nu... Microblaze sa du... den har ju för guds skull en egen FPU? Då kan du ju glömma allt vad uM-FPU heter och liknande då Microblaze troligtvis skulle piska den rätt hårt i prestanda. Du måste nog gå upp till lite större grejer, typ en "riktig" FPU eller kanske implementera algoritmerna i en FPGA eller en snabb DSP.
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Inlägg av rehnmaak »

Jo, microblaze har en egen FPU men den kör bara de fyra räknesätten. Jag skulle behöva exponentiering och logaritmer i hårdvara också.

Sedan vet jag inte om FPU:n i microblaze används öht eftersom beräkningarna görs med double som datatyp. Jag ska dock testa och kolla lite om FPU-instruktionerna används och eventuellt sänka precisionen till float istället.

EDIT:
Andax>>> Exekveringstiderna finns i Appendix B i databladet...
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Min gissning är att du gör beräkningarna på helt fel sätt.

T.ex trig och liknande funktioner kan ofta drivas upp i hastighet
genom lookuptabeller eller andra optimeringar. Har du verkligen
gjort en ordentlig analys av precision m.m som du behöver ?

Man kan få ganska hög precision med lookuptabeller kombinerat
med interpolleringsfaktorer och det slår alla rena matematiska
metoder med en 10-100 potens...

Min gissning är som sagt att du helt enkelt har löst det med fel metod.
Eller, det är ju uppenbart att det är fel metod, eftersom tiden blev för lång... :-)
Skriv svar