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
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
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.
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.
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.)
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!
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
Teensy schrieb: > Vielleicht passt ein Teensy 4.0 MaWin ist da anderer Meinung MaWin schrieb: > Das wird mit einem uC nichts, nichtmal mit iMXRT1062
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.
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.
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
> 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
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.
Das wird so nichts. Ohne eine Ahnung zum Algorithmus, welche da abgespult werden soll bleibt man bei Punkt Eins stehen.
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.
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 ;-)
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.
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
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
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/
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.