trailblazer hat geschrieben:
Ich finde ein FPGA ist nicht das richtige Werkzeug für solch eine Anwendung. Aktuelle 32Bit Mikrocontroller sind doch vollkommen ausreichend und haben schon alles intus was man braucht. FPGAs sind gut um spezialisierte Aufgaben zu erledigen, vor allem zeitkritisches mit hohen Datenraten oder aufwendiger Signalverarbeitung. Bei unseren Anforderungen an FCs sehe ich da kein Problem, was ein FPGA besser machen würde.
Das würde ich so nicht unterschreiben. Die aktuellen 32bitter laufen mit mehreren gleichzeitigen EKFs absolut am Anschlag, RAM und Flash platzen aus allen Nähten, IO-Power reicht kaum zum gescheiten Loggen. Einige aktuelle Designs versuchen, aus dieser Misere mit Linux-basierenden MultiCore-Designs zu fliehen, handeln sich dafür aber nicht zu unterschätzende Komplexität ein (Stichwort RTLinux).
Achitektonisch finde ich den FPGA+32bit-MCU-Ansatz daher eigentlich ideal. Ein FC hat neben den eigentlichen Steueralgorithmen jede Menge stumpfe IO-Arbeit zu erledigen, viele davon mit harten Timing-Anforderungen. Hin und wieder ändern sich Schnittstellen und Protokolle. Bestimmte Signalverarbeitungsalgorithmen (digitale LPF, eine FC barucht davon Dutzende) laufen mit hoher Frequenz und könnten daher ideal ausgelagert werden. Genau dafür ist ein FPGA gemacht.
Die große Frage ist IMHO nur, ob es auch wirtschaftlich sinnvoll ist, diesen Weg zu gehen. Ein fliegendes Smartphone (architektonisch gesehen) wird wohl immer billiger sein...
Zitat:
Zudem sind FPGAs, die technisch das gleich können sollen, was ein 5-10€ Mikrocontroller oder andere ASICs (z.B. "Handy" CPUs wie aufm Raspberry)kann, teuer und technisch anspruchsvoll (Platinen, extra Peripherie, Spannungen, Speicher, Schnittstellen etc.).
Im FPGA einen MCU-Kern zu synthetisieren wäre in der Tat ein wenig sinnvoller Weg, um eine FC zu bauen. Es geht aber ganz sicher auch cleverer...
Der einzige mir momentan bekannte Ansatz ist uebrigens der hier:
https://www.crowdsupply.com/krtkl/snickerdoodle