mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LPC2106 wie schnell ?


Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also auf der Philips Seite ist zwar ein "User Manual", aber nirgends
steht, wie schnell das Ding ist.
Bei allen anderen MCs findet man Taktdiagramme und MIPS-Angaben, bloß
nicht beim LPC. Ist das Ding etwa schnarchlahm ?

Ich hätte da ne Aufgabe, wo ich etwa 100-fache 8051-Speed bräuchte.

Ich suche also verzweifelt nach dem "Instruction Set" um
rauszukriegen, hat das Ding überhaupt Mul und Div und wenn ja, wie
lange braucht er dazu ?


Peter

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

der LPC2106 hat einen ARM7TDMI-S Kern von ARM. Man geht also auf
www.arm.com und findet dort
http://www.arm.com/pdfs/DDI0234A_7TDMIS_R4.pdf

Dort kann man dann ersehen das ein ARM7 keinesfalls so einfach zu
durchschauen ist wie ein 8051 oder ein AVR. Die dreistufig Pipeline
verkompliziert das Ganze etwas. Ob du 100-fach (12MHz)MCS51-Performance
erreichen wirst kommt auf die Art der Daten an. Bei 32Bit Arithmetik
auf jeden Fall. Bei 16Bit-Arithmetik könnte es schon knapp werden. Bei
8Bit wirst du das nicht schaffen können.

DIV kennt der ARM7TDMI nicht. Man implementiert das typischerweise mit
einer Multiplikation und einem Shift um n-Stellen was Aufgrund des
Barrel-Shifters sehr schnell geht.

Matthias

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie wärs denn mit einem IP2000 oder IP3000?

Autor: Matthias Friedrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aus dem lpc2106-infosheet:
"High-performance 60 MHz (54 Drystone MIPS)"

Das entspricht ungefähr der Leistung eines 486-DX2-66, soweit ich das
richtig in Erinnerung habe, leider finde ich die Quelle nicht mehr,
deswegen bitte mit vorsicht geniessen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für den Link.
Da habe ich ja ne Menge zu lesen.

Schade, daß man heutzutage keine ausgedruckten Handbücher mehr kriegt.

Im Prinzip muß nur ein Interrupthandler sehr schnell sein. Die
32Bit-Berechnungen werde ich auch gut brauchen können.

Hat schon mal jemand den GCC dafür probiert oder sollte man doch etwas
für Geld kaufen ?


Peter

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: ibuz11 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Peter

Ist zwar ur-alt und teuer , aber wie wäre es mit SAB 80C537 ?

Fast 32-bit division, 16-bit 2 multiplication,
Execution Time = 4 - 6 ysec. @ 12 MHz oscillator frequency.

Nicht mehr ein 8051 Fan  ;-)  ?

Autor: Matthias Friedrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Im Prinzip muß nur ein Interrupthandler sehr schnell sein. Die
32Bit-Berechnungen werde ich auch gut brauchen können."

Das ist beim ARM schwerer vorauszusagen, da er eine Pipeline besitzt,
die Voraussagen über das Laufzeitverhalten deutlich erschweren.

"Nicht mehr ein 8051 Fan  ;-)"
Das eine schließt das andere ja nicht aus, der 8051 kommt trotz ständig
erscheinender neuen Derivate langsam in die Tage, denn die Architektur
setzt doch gewisse Grenzen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Ist zwar ur-alt und teuer , aber wie wäre es mit SAB 80C537 ?"

Ich bin jetzt eigentlich mehr Fan von allem mit IAP-Flash intern (z.B.
AT89C51CC01).
Das macht das Leben um vieles leichter (Software entwickeln, EMV,
Störsicherheit, Layout entwickeln).
Und nicht zuletzt ist heutzutage ein Update beim Kunden fast schon
Pflicht. Sei es, daß die Software nicht ganz ausgereift ist oder der
Kunde sein Wünsche noch gar nicht richtig kennt.


Das DIP40-Modul des LPC2106 scheint mir optimal zum Testen.
Was ich brauche ist ein Timerinterrupt mindestens alle 3µs, der auch
ein bischen 32Bit rechnen muß (*,+). Etwa 40kB SRAM werden auch
benötigt.


Peter

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

zur Interruptlatenz spezielle beim LPC21XX:

Tritt ein Interrupt-Erieignis ein muß die Pipeline ne gefüllt aber auch
aus dem Flash neu gelesen werden. Das Flash ist beim LPC21XX 128Bit
breit angebunden. D.h. es liefert im Prinzip 4 mal zu viel Daten als
nötig wären. Da das Flash aber relativ langsam ist braucht es auch 4
Takte um ein 128Bit-Wort zu liefern. Daraus folgt dann wieder wenn es
nicht im Vorraus schon mit dem Lesen anfangen kann (weil ein INT eben
unerwartet auftritt) kommen nochmal 4 Takte zusätzlich dazu die
verloren gehen. An der Ganzen Geschichte kann man dann nochmal mit den
MAM-Registern rumstellen. Wie das genau zusammenhängt müßte ich mir
aber auch erstmal anlesen.

Grundsätzlich kann man aber sagen: Schnelle INT's legt man besser im
internen RAM ab (Muß man die Routine nach dem Start reinkopieren und
die INT-Vectoren entsprechend anpassen)  und spart sich damit ein paar
Takte. Evtl. reichen sogar die restlichen 24kB SRAM für die gesamt
Anwendung aus (evtl. über ARM Thumb nachdenken) so das man nach dem
Start einfach alles ins SRAM kopiert und dann richtig schnell ist.

Matthias

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.