Forum: Mikrocontroller und Digitale Elektronik Passender µC für Datenverarbeitung und Messungen


von Jonas B. (jonas_b799)


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

von Klausi (Gast)


Lesenswert?

Für mich klingt das eher nach FPGA und cordic? Warum denn ein 
Mikrocontroller?

von MaWin (Gast)


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

von Kevin M. (arduinolover)


Lesenswert?

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.

von Wolfgang (Gast)


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.

von Andre G. (andgst01)


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.)

von Sarah (Gast)


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!

von Jonas B. (jonas_b799)


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

von Teensy (Gast)


Lesenswert?

Vielleicht passt ein Teensy 4.0

von Forist (Gast)


Lesenswert?

Teensy schrieb:
> Vielleicht passt ein Teensy 4.0

MaWin ist da anderer Meinung

MaWin schrieb:
> Das wird mit einem uC nichts, nichtmal mit iMXRT1062

von PittyJ (Gast)


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.

von W.S. (Gast)


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.

von Jobst M. (jobstens-de)


Lesenswert?

MaWin schrieb:
> Das wird mit einem uC nichts, nichtmal mit iMXRT1062

Mit einem C6000 schon ...
Braucht der TO aber wohl nicht, wenn ich das richtig verstanden habe.
Aber vielleicht ein C2000?

Gruß
Jobst

von Olaf (Gast)


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

von Super (Gast)


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.

von Pandur S. (jetztnicht)


Lesenswert?

Das wird so nichts. Ohne eine Ahnung zum Algorithmus, welche da 
abgespult werden soll bleibt man bei Punkt Eins stehen.

von Ford (Gast)


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.

von Erwin (Gast)


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 ;-)

von Ford (Gast)


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.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


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.

: Bearbeitet durch User
von Vorname N. (mcu32)


Lesenswert?

ESP32-NodeMCU mit MicroPython :))

von Jonas B. (jonas_b799)


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

von Ford (Gast)


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/

von Jonas B. (jonas_b799)


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.

von Ford (Gast)


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.

von ford (Gast)


Angehängte Dateien:

Lesenswert?

Hab noch was zum Cholesky gefunden, könnt ich Dir zukommen lassen. Melde 
dich bei mir unter cholesky4jonas.joelisa (at) spamgourmet.com

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.