mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schnelle Division - welcher uC?


Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Ich bin auf der Suche nach einem Microcontroller, der relativ schnell 
teilen kann.
AVR und MSP430 fallen aus, da sie von sich aus gar nicht teilen können.
AVR32 und ARM sind mir zu groß.

Derzeit einziger Kandidat ist ein singleclock 8051 von AD, der 9 
Quarztakte für eine Division benötigt (ADuC841)

Evtl. habt ihr ja noch einen Tip für mich ...!?


Gruß

Jobst

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was heisst schnell? Wieviele Nanosekunden?

Willst Du durch eine Konstante dividieren, dann geht auch eine 
Multiplikation, oder soll es eine Division durch eine Variable sein?

Das musst Du uns schon verraten.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte einfach wissen, ob es einen uC gibt, der das schneller 
erledigt, bevor ich nun den einsetze.

Und ich möchte TEILEN, nicht mit dem Kehrwert multiplizieren.


Gruß

Jobst

Autor: CortexM3-Fuzzy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cortex M3 ?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
'Schnell' und 'schneller' und 'langsam' sind für Controller relaitve 
Begriffe. Außerdem wäre interessant, wieviele Bits durch wieviele Bits 
dividiert werden sollen und ob Fließkomma benötigt wird, oder nicht. Die 
Aufgabe bestimmt die Bauteilauswahl, nicht die emotionale Neigung für 
und gegen bestimmte Controllerfamilien.

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein DSPIC vielleicht?

http://ww1.microchip.com/downloads/en/DeviceDoc/70139F.pdf

18 Takte für 32/16 Division
sind 0,5us bei 40 MHz

Der 8051-Kern kann nur 8Bit / 8Bit (mit Rest) soweit ich weiß.

Gruß Anja

Autor: Dan Düsentrieb (brain)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.

Schau mal hier:

http://ftp.uk.freesbie.org/sites/download.sourcefo...

Da hat jemand ne Abschlussarbeit zum Thema geschrieben. Die haben auch 
ne Lib dazu geschrieben. Dann gehts auch mim ATmega.

Gruß

Autor: G4st (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Und ich möchte TEILEN, nicht mit dem Kehrwert multiplizieren.
Ist doch dasselbe, wo ist dein Problem?

Autor: Maik Werner (werner01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,



PIC24HJXXXXX,PIC24HJXXXXX,PIC24HJXXXXX,PIC24HJXXXXX,PIC24HJXXXXX,PIC24HJ 
XXXXX  kannst du nehmen. Die bauchen 17 Takte für 16/16 bit glaube ich 
bei 40 Mips.

kaufen kaufen die sind recht leistungsstark!







gut machen

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als 8051 gibts von Infineon die XC888 mit MDU:

32/16Bit: 32 Zyklen
16/16Bit: 16 Zyklen
Fmax = 24MHz


Peter

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die AVR32UC3 benoetigen 19 Takte fuer eine 32/32 division. Das sind bei 
40MHz dann 500ns

Autor: nop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Cortex-M3 macht ne Divison in einem Takt.
Bei bis zu >100 Mhz.

Soo kompliziert ist der auch nicht... im Gegenteil,hat man mal damit 
gearbeit, will man nix anderes mehr.. :-)

Autor: nop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...und man braucht nichtmal einen Programmer :-)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nop schrieb:

> Der Cortex-M3 macht ne Divison in einem Takt.

Nur bei Division durch 2^n. Sonst nicht.

Autor: nop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok.. grad nachgeguckt. Maximal 12 Takte.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was übrigens auch ausgesprochen flott ist.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anja schrieb:
> Ein DSPIC vielleicht?

Sieht gut aus. Schneller ist der zwar auch nicht, aber dafür bietet er 
andere Vorzüge.

> Der 8051-Kern kann nur 8Bit / 8Bit (mit Rest) soweit ich weiß.

Stimmt. Reicht hier aber.


Dan Düsentrieb schrieb:
> Dann gehts auch mim ATmega.

Aber zu langsam ...


Maik Werner schrieb:
> PIC24HJXXXXX kannst du nehmen. Die bauchen 17 Takte für 16/16 bit glaube ich bei 
40 Mips.

18, wie der dsPIC. Bei denen hat sich ja einiges getan - bin noch 
geschädigt vom PIC12C508. Aber der dsPIC gefällt mir besser ...


Peter Dannegger schrieb:
> Als 8051 gibts von Infineon die XC888 mit MDU:
>
> 32/16Bit: 32 Zyklen
> 16/16Bit: 16 Zyklen
> Fmax = 24MHz

Intern jedoch 96MHz und benötigt 8 Takte für 8/8 - 83ns ... :-)


12 Takte sind in der Tat flott für 32Bit - aber ich benötige keinen 
32Bitter - keinen AVR32, keinen ARM/Cortex.


Gruß

Jobst

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jobst M. schrieb:

> 12 Takte sind in der Tat flott für 32Bit - aber ich benötige keinen
> 32Bitter - keinen AVR32, keinen ARM/Cortex.

Nur hast du immer noch nicht geschrieben, was du tatsächlich benötigst. 
Eine 1-bit Division kriegt jeder hin und mehr hast du bisher nicht 
verlangt. Also geht jeder ;-).

Autor: nop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du merkst erst dann, daß Du 32 Bit brauchst, wenn du die mal "unter den 
Fingern" gehabt hast :-)
Macht Spass.

Autor: Helmut S. (helmuts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also bei 32bit/16bit braucht ein 8Bit Prozessor wahrscheinlich 100 
Takte.
Ich geh mal davon aus, dass du was in Messtechnik machst und da wird man 
öfters mal diese Auflösung/Genauigkeit benötigen.

Autor: Plan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dsPIC30xxxxx brauchen viel mehr Strom. Bei hohen MIPs werden die zimlich 
warm.

Nimm lieber die PIC24xxxx Reihe, die sind um Jahre neuer, moderner und 
haben bessere Pheriperie drin. Brauchen viel weniger Strom.

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn es um 8 Bit geht (und der TO hat einen 8051
genannt) ist ein 8051 von Atmel besser.
Die Single-Cycle schaffen eine 8/8 Division in
4 Takten (und diese sind ungeteilte Quarzfrequenz).

z.B. http://www.atmel.com/dyn/resources/prod_documents/...

bei 20 MHz also 200 ns


avr

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nop schrieb:
> Du merkst erst dann, daß Du 32 Bit brauchst, wenn du die mal "unter den
> Fingern" gehabt hast :-)
> Macht Spass.

Ich weiß. Ich habe schon vor 20 Jahren 32-Bitter programmiert - 68020.
(gut, das ist ein Prozessor ... Und der Befehlssatz war 
superübersichtlich!)

avr schrieb:
> [...] ein 8051 von Atmel [...]

Cool. Die kannte ich ja noch gar nicht. AT89S8253 etc. waren mir ja 
schon bekannt ...
Der AT89LP6440 wird's werden - aber ich weiß nur noch nicht, wo ich ihn 
her bekomme ...


Gruß

Jobst

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.