Passender µC für Datenverarbeitung und Messungen

OP #6951960
Lesenswert?

Hallo,
ich arbeite derzeit an einem Projekt mit einigermaßen komplexer 
Datenverarbeitung und bin dafür momentan auf der Suche nach einem 
passenden Mikrocontroller. Auf dem Mikrocontroller soll am Ende ein 
Lock-In-Amplifier implementiert sein und es wird ein Algorithmus zum 
Auswerten von Messdaten (der u.a. ein zweidimensionales 
Optimierungsproblem beinhaltet, das scheint aber weniger kritisch zu 
sein, da es am PC bisher nur unter 1 ms benötigt und nicht in Echtzeit 
rechnen muss), der u.a. viele trigonometrische Ausdrücke beinhaltet. Ich 
schätze, dass hier Hardware-Multiplizierer und Hardware-Dividierer, von 
großem Vorteil sein können.

Messwerte wird der µC in Echtzeit mit etwa 1 kHz abtasten. Andere 
Parameter wie bspw. Stromverbrauch sind hier nebensächlich, da der 
Flaschenhals ganz woanders liegt.

Hat hier jemand eine Empfehlung für einen passenden µC? Falls es 
überhaupt einen "passenden" gibt. Gute Erfahrungen hab ich bisher 
generell vor allem mit µC von AVR und dem MSP430 gemacht (vor allem da 
ich am liebsten bar metal programmiere).

Grüße
Gast #6951998
Lesenswert?

Dein uC erfasst also jede Millisekunde einen Messwert für den schon der 
3GHz? Core-Prozessor mit Floating Point Unit in deinem PC 1ms zur 
Umrechnung braucht

Das wird mit einem uC nichts, nichtmal mit iMXRT1062
Gast #6952006
Lesenswert?

MaWin schrieb:
> Dein uC erfasst also jede Millisekunde einen Messwert für den schon der
> 3GHz? Core-Prozessor mit Floating Point Unit in deinem PC 1ms zur
> Umrechnung braucht

Die 1ms PC-Rechnung muss NICHT in Echtzeit erfolgen - was auch immer das 
heißen soll.

Jonas B. schrieb:
> der u.a. ein zweidimensionales Optimierungsproblem beinhaltet, das scheint
> aber weniger kritisch zu sein, da es am PC bisher nur unter 1 ms benötigt
> und nicht in Echtzeit rechnen muss

Vielleicht muss das Optimierungsproblem nicht mit jedem Abtastwert 
vollständig durchgerechnet werden. Eine rekursive Formulierung kann 
häufig zusätzlich Rechenzeit einsparen.
#6952017
Lesenswert?

Nur so rein aus Neugier:
Was für ein Projekt ist das?
Um was für Messwerte und was für Berechnungen handelt es sich?

Falls du das nicht beantworten möchtest, das verstehe ich voll und ganz!
Ich gebe auch nur sehr ungern meine Projekt-Ideen hier preis.
(Weil sich die Diskussion dann meist in eine negative Richtung 
entwickelt.)
Gast #6952027
Lesenswert?

Andre G. schrieb:
> Falls du das nicht beantworten möchtest, das verstehe ich voll und ganz!
> Ich gebe auch nur sehr ungern meine Projekt-Ideen hier preis.
> (Weil sich die Diskussion dann meist in eine negative Richtung
> entwickelt.)

Es ist schon eine Kunst für sich, seine Bachelor-Arbeit von Foristen 
erledigen zu lassen!
OP #6952088
Lesenswert?

Hallo,
sorry, mit dem "teuren" Algorithmus war etwas unklar ausgedrückt - er 
muss nur bspw. alle 10 min einmal zur Kalibrierung Berechnungen 
durchführen (oder auch seltener). Die 1 kHz Abtastrate haben nichts mit 
der Geschwindigkeit zu tun bzw. sind nicht dadurch zu diesem Wert 
limitiert.

Sarah schrieb:
> Es ist schon eine Kunst für sich, seine Bachelor-Arbeit von Foristen
> erledigen zu lassen!
Erstens ist das nicht für meine Bachelorarbeit und zweitens finde ich es 
vollkommen legitim, sich eine zweite Meinung von Erfahrenen einzuholen.

Andre G. schrieb:
> Was für ein Projekt ist das?
> Um was für Messwerte und was für Berechnungen handelt es sich?
U.a. ein Interferometer und die Messwerte sind einfach nur Spannungen 
von Fotodioden.

Kevin M. schrieb:
> Ist schwer zu beantworten wenn man die genauen Berechnungen nicht kennt,
> aber ST hat in der H7 Reihe Controller mit Dual Core, teilweise 550MHz,
> DP FPU und CORDIC.
Die Berechnungen sind etwas komplexerer und vor allem unangenehm 
auszuschreiben (da mehrdimensional). Danke für den Tipp mit der 
H7-Reihe! Das klingt genau nach dem, was ich gesucht habe (vor allem da 
Dual Core).

Grüße
Gast #6952401
Lesenswert?

Ich habe aktuell auch mit einem STM H7 zu tun.
Für eine bestimmte Auswertung brauche ich auch Float-Rechnungen, 
Wurzelziehen etc. Das ging damit überraschend schnell.
Bei einem Arm-M0 hatte ich das in einem 2ten Rtos Thread ausgelagert. 
Beim H7 mache ich das im Hauptloop einfach mit.
Gast #6952408
Lesenswert?

Jonas B. schrieb:
> ich arbeite derzeit an einem Projekt mit einigermaßen komplexer
> Datenverarbeitung

Dann solltest du auch in der Lage sein, sowohl den Rechenbedarf als auch 
den Speicherbedarf selbst einzuschätzen. Hier mit ein paar 
eingestreuten Informations-Brosamen andere Leute zu befragen, ist albern 
und nicht zielführend. Allenfalls kriegt man damit eine fruchtlose 
Diskussion um des Kaisers Bart in Gang.

W.S.
Gast #6952525
Lesenswert?

> Hier mit ein paar eingestreuten Informations-Brosamen andere
> Leute zu befragen, ist albern und nicht zielführend.

DAs wundert mich auch. Abzuschaetzen wieviel Rechnenleistung man fuer
einen komplexe Aufgabe braucht gehoert mit zu den schwierigen Dingen
im Bereich Mikrocontrollerentwicklung. Die Vorstellung das andere LEute 
denen
man ein paar Kleinigkeiten erzaehlt, die aber die gesamte Aufgabe
nicht kennen und ueber deren eigene Expertise man nichts weiss einem
da weiterhelfen koennen ist ziemlich absurd.

Olaf
Gast #6952581
Lesenswert?

Olaf schrieb:
> man ein paar Kleinigkeiten erzaehlt, die aber die gesamte Aufgabe
> nicht kennen und ueber deren eigene Expertise man nichts weiss einem
> da weiterhelfen koennen ist ziemlich absurd.

Das ist in diesem Forum aber Standart und immer wieder gern gesehen.
Das da zwei Schreibfehler sind, ist mir bekannt.
Gast #6952846
Lesenswert?

Joans ist ein ganz toller Hecht, ein echter Teufelskerl. Sieht denn 
keiner, was für phatt komplizierte Sachen er machen, wo‘s dann derbe fix 
zur Sache gehen muss?

Mit unglaublich vielen trigonometrischen Funktionen und FPU und 
Hardware-Dividierer - um phantastisch komplexe Berechnungen (alle 10 
Minuten - oder so) durchführen zu können? Das Ganze sogar noch _bar(e) 
metal_!

Leute - das ist der absolute Wahnsinn, ganz großes Kino!

Bitte bestätigt ihm das - und gut is.
Gast #6952930
Lesenswert?

Ford schrieb:
> Leute - das ist der absolute Wahnsinn, ganz großes Kino!

Das hat wohl jeder gelesen und zur Kenntnis genommen aber man kann das 
auch deutlich freundlicher ausdrücken. Ich lese hier einfach etwas 
Überforderung. Die Vermutung mit der Abschluss- oder Projektarbeit liegt 
da doch auch nahe. Man hat ihm etwas aufgedrückt mit "jetzt mach ma" und 
er versucht halt.

Dass dort wenig Vorerfahrung vorhanden ist, wie du schon sagst, liest 
man doch direkt am Eingangsposting. Aber du schließt daraus gleich 
vorwurfsvoll auf Selbstüberschätzung und Faulheit anstatt auf 
Orientierungslosigkeit und etwas Verlorenheit. Das finde ich einfach 
nicht gut. Abstatt einfach mal, wie ja anfangs geschehen, ein paar 
Begriffe und Bauteile zum googeln in den Raum zu werfen al la "Guck mal 
was es so gibt" wirst du gleich persönlich...

Naja, meine Meinung. Habe einfach schon viele überforderte Studenten 
erlebt in meinem Job, vielleicht hast ja du nur die Faulen abbekommen 
von der HR ;-)
Gast #6953159
Lesenswert?

Erwin schrieb:
> Ich lese hier einfach etwas
> Überforderung. Die Vermutung mit der Abschluss- oder Projektarbeit liegt
> da doch auch nahe. Man hat ihm etwas aufgedrückt mit "jetzt mach ma" und
> er versucht halt.
>
> Dass dort wenig Vorerfahrung vorhanden ist, wie du schon sagst, liest
> man doch direkt am Eingangsposting. Aber du schließt daraus gleich
> vorwurfsvoll auf Selbstüberschätzung und Faulheit anstatt auf
> Orientierungslosigkeit und etwas Verlorenheit. Das finde ich einfach
> nicht gut. Abstatt einfach mal, wie ja anfangs geschehen, ein paar
> Begriffe und Bauteile zum googeln in den Raum zu werfen al la "Guck mal
> was es so gibt" wirst du gleich persönlich...
>
> Naja, meine Meinung. Habe einfach schon viele überforderte Studenten
> erlebt in meinem Job, vielleicht hast ja du nur die Faulen abbekommen
> von der HR ;-)


Bei mir kam die eingangs gestellte "Frage" etwas anders an, nicht 
untermalt mit dem Tenor von "Verlorenheit" und erst recht nicht von 
"Faulheit". Auch wenn das nur ein Gefühl ist, für mich ging der Unterton 
eher in Richtung Blasiertheit. Ich erinnere nur an den Ausdruck "bare 
bone", aber auch das kann ein falsch gehörter Beiklang gewesen sein ...

Selbst von einem überforderten Studenten würde ich erwarten, dass er die 
Voraussetzungen für seine Mitarbeit realistisch einschätzen kann - v.A., 
wenn das Projekt schon länger zu laufen scheint und sogar schon mal 
realisiert wurde.

Um Tante Google nach aktuellen Prozessoren zu befragen - dazu braucht es 
dieses Forum nicht. Erst recht nicht, wenn der Einsatz gefundener 
Komponenten komplexer Strukturen bedarf, was z.B. die 
Entwicklungsumgebung angeht. Es kamen hier gute Tipps (u.A. von Olaf, 
Jobst, Kevin, ...) - nur glaube ich nicht, dass der TO komplette 
Handlungsfreiheit besitzt. In dem Fall geht seine Frage aber wirklich 
nur Richtung Aufschneiderei.

Wie auch immer - es ist einfach unfair, die Hilfsbreitschaft von 
Fach-Kollegen mit einer vorgeschobenen Frage schamlos zu beanspruchen.

Jedenfalls, des TOs doppelte Ausflüchte, auf Sarahs Einwand mit Erst- 
und Zweit-Antwort, runden mein Bild ab. Ich denke schon, du hast genug 
Erfahrung, solche Dinge richtig zu bewerten.

Sehr früh jedenfalls lernte Klein-Ford, als er eisverschmiert zurück vom 
Einkaufsladen heim kam, mir der Ausrede: „Mutti, ich habe das Geld 
verloren und dann war auch noch das Mehl alle ...“, dass das so wohl 
nichts werden kann ...

Für den Fall aber, dass ich mit meiner Einschätzung komplett daneben 
liege ... nun ja, ihr kennt ja den Spruch.
(Firma: S-C-I DATA GbR) #6953172
Lesenswert?

Die Frage ist wirklich was du genau machen willst.
Denn es gibt µC die speziell dafür einen CoProzessor haben

Beispielsweise Verwende ich MSP430 mit OnChip LEA(Coprozessor) und 
realisiere damit FFT in Echtzeit.

Deshalb was genau willst du machen?
Und war die Software auf dem PC ev nur so Träge weil sie nicht für das 
gemacht war?
Beispielsweise FlowStone hat speziell für solche Sachen ein DSP 
Programmer Onboard.
OP #6954614
Lesenswert?

Hallo,
die 1 s sind nicht die Rechenzeit, sondern die Abtastrate. Die 
Rechenzeit am PC ist 200 µs etwa.

Danke an alle, die konstruktive Tipps gegeben haben! Ich denke, ich 
werde letztlich doch eher auf einen Pi, statt einem µC ausweichen 
müssen, weil ich gesehen hab, dass das CG-Verfahren in keiner Lib der µC 
implementiert ist (was ich aktuell für das Optimierungsproblem nutze und 
selbst zu implementieren zu anfällig fände).

Grüße
Gast #6955228
Lesenswert?

Jonas B. schrieb:
> werde letztlich doch eher auf einen Pi, statt einem µC ausweichen
> müssen, weil ich gesehen hab, dass das CG-Verfahren in keiner Lib der µC
> implementiert ist

NR (Newton, Raphson) bzw. ICCG (Cholesky) konvergiert schneller und 
sicherer als schnödes CG. Letztendlich hängt's aber am 
Vorkonditionierer.

Die EIGEN Library (*) ist Open Source, gibt's an jeder Ecke. 
Entsprechend potente uC wurden Dir genannt. Also - doch nur heiße Luft?

Ford

---
(*) Kuck da: https://eigen.tuxfamily.org/
OP #6957348
Lesenswert?

Hallo,
danke für den Tipp! Aber Newton hab ich bereits ausprobiert, jede 
Komponente der Hesse-Matrix ist allerdings länger als mein Bildschirm 
breit ist und besteht selbst aus mehren Summen in Summen, dadurch ist 
die Auswertung so aufwendig gewesen, dass es keinen positiven Effekt 
hatte leider. CG ist hier insofern ein Kompromiss, als der Gradient 
selbst bereits sehr rechenaufwendig ist. Letztlich ist lustigerweise die 
untersuchte Funktion sogar eigtl. ein Präzedenzfall fürs 
Newton-Verfahren.
ICCG kenne ich nicht und ich finde dazu auch nichts. Wie heißt das 
Verfahren denn ausgeschrieben?

Cool, danke für den Tipp mit der EIGEN Library! Die kannte ich noch gar 
nicht, die schaue ich mir mal an.
Die Anmerkung mit der heißen Luft verstehe ich nicht so ganz.
Gast #6957750
Lesenswert?

Jonas B. schrieb:
> ICCG kenne ich nicht und ich finde dazu auch nichts. Wie heißt das
> Verfahren denn ausgeschrieben?

Nur ganz schnell:

ICCG = Incomplete Cholesky Conjugate Gradient ->
Vorkonditionierer, unvollständige Cholesky-Zerlegung (IC) für CG.

Sollte Vorteile bringen bei dünn besetzten Gleichungssystemen 
(Abkürzungen der Rechenverfahren). Aber soo tief bin ich nicht drin in 
der Thematik.

- https://mathepedia.de/Cholesky-Zerlegung.html
- https://mathepedia.de/ILU-Zerlegung.html

Da findest auch Links.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren