größtemögliche Datenbandbreite von Microcontroller-IOs

Gast #7697365
Lesenswert?

Eine Frage in die Runde zum Thema high speed serial bus:

Was sind die derzeit schnellsten MicroController, die serielle ADCs auslesen können? Oder anders: Mit welchen ADCs kann man ein maximal schnelles Daten-Acquise-System aufbauen, das gerade noch mit MicroControllern läuft?

Ich brauche nur 5 Kanäle je PCB und würde gerne extra programmierbare Logik vermeiden.

Der MicroController muss ansonsten nicht viel tun außer vielleicht etwas filtern.

#7697370
Lesenswert?

Die Standardlösung für sowas sind Xilinx Zynq Prozessoren. Diese haben auf einem Chip beispielsweise Dual Core Cortex A9 und einen FPGA-Teil, der für die schnelle Datenerfassung essentiell ist. Diese Teile findest Du z.B. in sehr vielen Oszilloskopen und in SDR-Lösungen wie Red Pitaya.

fchk

PS: zum Anschauen: https://shop.trenz-electronic.de/de/TE0720-04-61C530A-SoC-Modul-mit-AMD-Zynq-7020-1C-256-MByte-DDR3-SDRAM-4-x-5-cm?c=355

#7697375
Lesenswert?

Was sind die derzeit schnellsten MicroController, die serielle ADCs auslesen können?

Das laesst sich nicht so einfach sagen. Es haengt ja auch davon ab wie lange du dann schnell Daten lesen willst. Also wieviel Speicher du hast.

Der schnellste mit integrierte ADCs duerfte wohl der LPC4370 sein. Der kann 80Ms. Nicht schlecht oder?

Bis etwa 40Ms gibt es ADCs mit normalen Logicleveln. Darueber geht man mehr und mehr nach LVDS ueber. Letztlich suchst du dann also einen Controller der LVDS kann. Das sind dann entweder die hier angesprochenen FPGAs die noch einen Controller als Bonus enthalten, oder ein paar fette DSPs.

Vanye

(Firma: Jasinski) #7697376
Lesenswert?

Holger W. schrieb:

Was sind die derzeit schnellsten MicroController, die serielle ADCs auslesen können?

Das widerspricht sich – einen schnellen A/D-Wandler wird man normalerweise nicht seriell auslesen wollen, weil das alles Schnelle wieder zunichtemacht.


Der MicroController muss ansonsten nicht viel tun außer vielleicht etwas filtern.

Das widerspricht sich eigentlich auch – „etwas filtern” in Software kann bei hohen Abtastraten dazu führen, dass das gar nicht mehr realisierbar wird.


Ich brauche nur 5 Kanäle je PCB und würde gerne extra programmierbare Logik vermeiden.

Bis 1-5 MHz Abtastrate könnte das mit viel Mühe und Know-how noch klappen, allerdings nicht mit einem seriell ausgelesenen ADC, bei deutlich höheren Abtastraten würde ich sagen: viel Erfolg und Spaß ohne FPGA!

#7697383
Lesenswert?

Gregor J. schrieb:

Das widerspricht sich – einen schnellen A/D-Wandler wird man normalerweise nicht seriell auslesen wollen, weil das alles Schnelle wieder zunichtemacht.

Das muss nicht so laufen, wenn man sich im obersten Segment von Kommunikation befindet. Man reduzierte vor einiger Zeit genau dort die Anzahl paralleler Leitungen zugunsten von wenigen bis einzelnen Leitungen, wo sehr hoher Durchsatz gefragt war. Etwa beim Schritt von PCI auf PCI-Express. Offenbar ist es einfacher, wenige Leitungen auf ein irres Tempo zu hieven, als viele auf ein niedrigeres.

#7697385
Lesenswert?

Holger W. schrieb:

Der MicroController muss ansonsten nicht viel tun außer vielleicht etwas filtern.

Du bist lustig. Es kommt sehr auf die erforderliche Filterfunktion an, wieviel Rechenleistung dafür erforderlich ist.

Anforderungen wie "größtmögliche" sind immer verdächtig. Wie weit lässt sich der Datendurchsatz in deiner Anwendung durch Parallelisierung skalieren?

(prx) A. K. schrieb:

Das muss nicht so laufen, wenn man sich im obersten Segment von Kommunikation befindet.

Welchen Mikrocontroller mit schnellen seriellen I/Os schlägst du also konkret vor?

(Firma: Jasinski) #7697387
Lesenswert?

Rainer W. schrieb:

Du bist lustig. Es kommt sehr auf die erforderliche Filterfunktion an, wieviel Rechenleistung dafür erforderlich ist.

Na ja, der Autor des Threads irrt auch in der Annahme, dass sein µController außer der Filterfunktion nichts zu tun haben werde – mit zunehmender Geschwindigkeit wird dieser nämlich auch ohne irgendwelche Filterroutinen zu 100% ausgelastet werden, nur um die Bytes des Datenerfassungssystems zu schaufeln. Wird man aber alles selbst feststellen können oder zu bestimmten Erkenntnissen gelangen, wenn man es macht.

#7697403
Lesenswert?

Holger W. schrieb:

Eine Frage in die Runde zum Thema high speed serial bus:

Was sind die derzeit schnellsten MicroController, die serielle ADCs auslesen können? Oder anders: Mit welchen ADCs kann man ein maximal schnelles Daten-Acquise-System aufbauen, das gerade noch mit MicroControllern läuft?

Ich brauche nur 5 Kanäle je PCB und würde gerne extra programmierbare Logik vermeiden.

Der MicroController muss ansonsten nicht viel tun außer vielleicht etwas filtern.

Schon sehr lange gibt es den TMS320F2809. Der hat 16 dedizierte Analogeingaenge, 2 S/H und einen 12 bit ADC mit 12.5 MSPS. Zum derzeit "schnellsten MicroController" wuerde man ihn wohl nicht zaehlen. Langsamer als andere "derzeitige" Controller aus der F28-Serie ist er aber auch nicht. :)

Gast #7697404
Lesenswert?

Holger W. schrieb:

maximal schnell Ich brauche nur 5 Kanäle je PCB und würde gerne extra programmierbare Logik vermeiden.

Die wichtigste Angabe fehlt: Wie schnell brauchst du es?

"Maximal" ist keine brauchbare Angabe. Das wird nämlich maximal teuer, und wird mit Sicherheit nicht akzeptiert. Jeder der darauf eingeht verschwendet damit nur seibe Zeit.

#7697410
Lesenswert?

Eben. Mit dem erfassen ist es ja nicht getan. Irgendwo sollen die Daten ja auch hin.

Mit nur 2MSPS und 5 Kanälen sind das schon 160MBit die bewegt werden wollen. Da wirst du nur mit dem erfassen an Grenzen kommen. Ohne Filterung.

Für die Dimensionen nimmt man normalerweise einen FPGA.

(Firma: 1984now) #7697460
Lesenswert?

Holger W. schrieb:

Was sind die derzeit schnellsten MicroController, die serielle ADCs auslesen können? Oder anders: Mit welchen ADCs kann man ein maximal schnelles Daten-Acquise-System aufbauen, das gerade noch mit MicroControllern läuft?

Maximal bescheuerte Frage. Wie alle diese idiotischen Maximalfragen.

Das läuft bei kompetenten Entwicklern anders. Man spezifiziert, was man tatsächlich braucht und wählt dann unter den µC, die das benötigte leisten können.

Ich brauche nur 5 Kanäle je PCB und würde gerne extra programmierbare Logik vermeiden.

RP2040 könnte 6 ziemlich schnelle SPI-Kanäle bereitstellen und hätte 256k Pufferspeicher.

Problem ist nur: wohin mit den superschnell gelesenen Daten? Die 256k Puffer sind dann auch sehr schnell voll.

Der MicroController muss ansonsten nicht viel tun außer vielleicht etwas filtern.

Das nächste Problem. Besonders schnell rechnen kann der RP2040 nicht gerade. Aber: "Filter" ist ein weites Feld...

(Firma: Jasinski) #7697493
Lesenswert?

(prx) A. K. schrieb:

Das muss nicht so laufen, wenn man sich im obersten Segment von Kommunikation befindet. Man reduzierte vor einiger Zeit genau dort die Anzahl paralleler Leitungen zugunsten von wenigen bis einzelnen Leitungen, wo sehr hoher Durchsatz gefragt war. Etwa beim Schritt von PCI auf PCI-Express. Offenbar ist es einfacher, wenige Leitungen auf ein irres Tempo zu hieven, als viele auf ein niedrigeres.

„Im obersten Segment” sind wir hier nicht und eine Erzählung von „irrem Tempo” und „PCI-Express” wird mich leider nicht beeindrucken können. Ich bezweifle sogar, dass der Autor einen performanten µC mit entsprechender DMA-Peripherie zum Laufen im Kontext der Fragestellung bringen kann, und so wird es dann wohl auch – wie so oft hier in diesem Umfeld – am Ende nur bei einer Erzählung als Fragestellung bleiben.

#7697575
Lesenswert?

Ob S. schrieb:

RP2040 könnte 6 ziemlich schnelle SPI-Kanäle bereitstellen und hätte 256k Pufferspeicher. Problem ist nur: wohin mit den superschnell gelesenen Daten?

Dann vielleicht eher etwas wie ein STM32H7. Der kann mit den internen ADC zwischen 3-10MSPS (je nach Mode). Wenn man das nicht braucht kann der ADC selbst Filtern (oversampling/Mittelwert). Bzw hat auch noch digitale Filterblöcke in HW. Durch die ziemlich mächtigen DMAs wäre das Sampeln, Filtern und versenden z.B über Ethernet (fast) komplett in HW möglich.

#7697579
Lesenswert?

Holger W. schrieb:

Der MicroController muss ansonsten nicht viel tun außer vielleicht etwas filtern.

Und das kann schon krass viel Rechnerei bedeuten.

Es fehlen mehr Informationen. Wie schnell soll mit wieviel Bits abgetastet werden und wo sollen die Daten am Ende hin?

Es gibt auch so Bausteine wie den FX3 von Cypress (jetzt Infineon) der schaufelt dir die Daten direkt vom ADC über USB3 zum PC. Hat einen 32 Bit Datenbus mit 100 MHz, du könntest also 4 ADCs mit je 8 Bits und 100 MSample/s wunderbar gleichzeitig betreiben.

Gast #7697629
Lesenswert?

(prx) A. K. schrieb:

Das muss nicht so laufen, wenn man sich im obersten Segment von Kommunikation befindet. Man reduzierte vor einiger Zeit genau dort die Anzahl paralleler Leitungen zugunsten von wenigen bis einzelnen Leitungen, wo sehr hoher Durchsatz gefragt war.

So ist es. Ich mochte / muss mit wenigen Leitungen auskommen. In der Tat ist damit die serielle Bandbreite der IOs der Limiter.

#7697637
Lesenswert?

Allenfalls waere die Aufgabe und der Kontext interessant.... ADC's gibt's mit nach oben offener Geschwindigkeit. Da muss das Budget auch nach oben offen sein. Wir kaufen jeweils Digitizer von SP Devices, die machen allenfalls 2.5 GSample. Die bauen etwas Hardware um ADC chips rum, sodass die Einheit kommunizieren und buffern, oder akkumulieren kann. Die gewuenschte Funktionalitaet, zB 100 MSample bestimmt eigentlich die Hardware. Entweder kann'man's selbst oder eben nicht. Eine Aussage wie "Ich moechte keine FPGA .." ist Bullshit.

Gast #7698160
Lesenswert?

Purzel H. schrieb:

ADC's gibt's mit nach oben offener Geschwindigkeit.

Ja, aber nicht die des Mikrocontrollers. Der ist der Limiter, wie ich schon gesagt habe. Also stellt sich die Frage: Was geht denn mit einem uc maximal?

Purzel H. schrieb:

Eine Aussage wie "Ich moechte keine FPGA .." ist Bullshit.

Sag das dem Projektleiter unseres Auftraggebers. Der ist gegen FPGAs. Es dürfen aus Gründen (ich vermute Strahlensicherheit) keine programmierbaren Bausteine benutzt werden.

Frank K. schrieb:

SDR-Lösungen wie Red Pitaya

und mit Roten Papkrika kann man dem gar nicht kommen. Die Lösung ist in einem Gebiet der Flugsicherheits- und Radartechnik, wenn ich es richtig mitbekommen habe. Mehr ist nicht bekannt und darf sicher auch nicht weitergetreten werden.

es ist daher müßig Zyncs und andere FPGA-Bausteine ins Spiel zu bringen. Wir reden ausschließlich von MicroControllern.

#7698182
Lesenswert?

Holger W. schrieb:

Die Lösung ist in einem Gebiet der Flugsicherheits- und Radartechnik, wenn ich es richtig mitbekommen habe. Mehr ist nicht bekannt und darf sicher auch nicht weitergetreten werden.

Aha. Und da fragst du in einem öffentlichen Forum? Was soll der Scheiß? Wenn das so eine hochgeheime und vermutlich gut bezahlte Angelegenheit ist, sollen sie halt jemanden engagieren, der sich mit sowas auskennt. Sprich: nicht dich!

Allein schon die Fragestellung:

Was geht denn mit einem uc maximal?

ist doch Bockmist. Was ist denn für dich "ein µC"? Und wieso muß es "maximal" sein? Normal sind Anforderungen. Ganz konkrete. Und danach sucht man sich eine Lösung aus.

PS: ich spekuliere mal wild drauf los. Du willst die Ukraine im Abwehrkampf gegen Drohnen unterstützen? Dann mach das. Aber spanne nicht andere ungefragt dafür ein.

Gast #7698240
Lesenswert?

Axel S. schrieb:

ich spekuliere mal wild drauf los. Du willst die Ukraine im Abwehrkampf gegen Drohnen unterstützen? Dann mach das. Aber spanne nicht andere ungefragt dafür ein.

Du solltest lieber gar nichts schreiben, statt so einen Schwachsinn. Ich habe die Anwendung deutlich benannt.

Die Frage war:

Was ist die größtmögliche Datenbandbreite von Microcontroller-IOs?

Ist das so schwer?

#7698313
Lesenswert?

Nochma Moin,

Ganz willkuerlich mal ein Zitat aus einem Product brief:

"Marvell’s new OCTEON III SOCs pack up to 35GHz of compute, 100Gbps of L3 processing and 120Gbps of connectivity in a low-power envelope and compact footprint to address these next generation requirements. With 22 10Gbps SerDes, it provides a broad range of connectivity options for 40GbE/10GbE/1GbE along with wide PCI-e v3 interfaces for connectivity to host, ASIC, HBA, Storage controllers and line-cards in a wide range of systems."

Und jetzt? Wer glaubt, du wuerdest die PMPO-Bandbreite von 220Gbps der SerDesse gebaendigt kriegen? Also ich nicht.

Gruss WK

Gast #7698321
Lesenswert?

H. W. schrieb:

Ich habe die Anwendung deutlich benannt.

Wo denn?

H. W. schrieb:

Die Lösung ist in einem Gebiet der Flugsicherheits- und Radartechnik, wenn ich es richtig mitbekommen habe. Mehr ist nicht bekannt

Genau, mehr ist nicht bekannt. Das ist keine deutliche Beschreibung der Anwendung. Es könnte sich um eine Klospülung im Gäste-WC des Flughafens handeln.

Gast #7698417
Lesenswert?

Monk schrieb:

Genau, mehr ist nicht bekannt. Das ist keine deutliche Beschreibung der Anwendung.

DU SOLLST NICHT DIE BESCHREIBUNG DES PROJEKTES WISSEN, ODER HINTERFRAGEN, SONDERN DIE FRAGE BEANTWORTEN.

DIE FRAGE IST! SINNVOLL: ES GEHT DARUM, WAS MIT UCs NOCH MACHBAR IST UND WAS NICHT.!

Es geht NICHT daraum, was man anders besser machen könnte. Lernt einfach mal, eine Frage zu beantworten die konkret gestellt worden ist und nicht selbstherrlich das Projekt neu aufzuziehen! Man kann immer alles irgendwie anders machen. Das war aber nicht die Frage!

Alternativen habe ich selbst gesucht und vorgeschlagen!

Die Vorgabe ist ganz eindeutig: "Mikrocontroller, C-programmierbar, und keine FPGAs!"

Gast #7698426
Lesenswert?

H. W. schrieb:

lautes Geschrei mit vielen Ausrufezeichen

Nun ist klar, dass du diese Aufgabe niemals zu Ende bringen wirst. Wer hier länger dabei ist, dem ist das Verhaltensmuster wohl bekannt.

Für das Zeigen des wahren Gesichtes habe ich dir ein +1 gegeben. Es kam ein bisschen später, aber besser ein Ende mit Schrecken, als ein ein Schrecken ohne Ende.

#7698524
Lesenswert?

"maximal schnelles Daten-Acquise-System"?

Als "single chip" Loesung, wenn Preis keine Rolle spielt:

https://www.amd.com/en/products/adaptive-socs-and-fpgas/soc/zynq-ultrascale-plus-rfsoc.html

oder von Team Blau:

https://www.intel.com/content/www/us/en/products/details/fpga/agilex/9/direct-rf-series.html

kommen beide mit einer Handvoll ARM MicroController. Die I/Os sind auch nicht ohne, machen je nach Auspraegung bis zu 58G.

Cheers, Roger

Persönliche Seite #7698615
Lesenswert?

H. W. schrieb:

Sag das dem Projektleiter unseres Auftraggebers. Der ist gegen FPGAs. Es dürfen aus Gründen (ich vermute Strahlensicherheit) keine programmierbaren Bausteine benutzt werden.

Wenn das wirklich so vom Endkunden kommt, geht es vermutlich darum, auszuloten, was dann überhaupt noch machbar ist. Die Möglichkeiten sind dann stark eingeschränkt und auf ADCs reduziert, die parallel angeschlossen werden können, sage ich mal. Wenn es unbedingt seriell sein muss, ließe sich das mit einem schnellen SPI machen. Gibt es bis wenigstens 50MBit. Konkret war das ein deserialzer für SPDIF mit 16 Bit und 192kHz.

Zum Thema Strahlensicherheit gibt es bei FPGAs eine Reihe von Möglichkeiten, das zu untersuchen, zu testen und abzusichern. Das allein dürfte noch kein Ausschlusskriterium sein.

#7698645
Lesenswert?

Norbert schrieb:

Bis jetzt habe ich noch keinerlei Information gesehen, ob denn Kilo-, Mega-, Giga- oder Tera-Samples pro Sekunde gebraucht werden.

Das wird auch nicht mehr kommen: "User not found"(TO). Das war entweder wieder ein Troll oder irgendein Marketing Heini der "so schnell wie möglich" für gar kein Geld möchte ohne zu wissen was überhaupt notwendig ist.

#7699098
Lesenswert?

Norbert schrieb:

Bis jetzt habe ich noch keinerlei Information gesehen, ob denn Kilo-, Mega-, Giga- oder Tera-Samples pro Sekunde gebraucht werden.

na: "Maximal viel". Egal ob jetzt verfügbar oder erst in 1000 Jahren, egal ob auf der Erde oder bei der Alien-Zivilisation am anderen Ende der Galaxie, egal ob für 1,50€ von der Stange oder ob er erstmal für viele 100 Mrd € eine eigene Chip-Foundary aus dem Boden stampfen muss.

(Firma: Jasinski) #7699422
Lesenswert?

Michael B. schrieb:

Das 'maximale' was du derzeit schaffst, dürften 20ksps sein.

Die 20 Tausend Samples in der Sekunde könnte man vielleicht sogar in Stereo mit einem Arduino (Uno) schaffen, allerdings nicht mit so etwas wie „digitalRead” und „digitalWrite” als Anweisungen, womit die Arduinojünger immer schön gefüttert und indoktriniert werden, da das im Hintergrund i.d.R. einen ganzen Bildschirm mit Assemblerbefehlen füllt, was ich vor ein paar Jahren untersucht habe (die Screenshots finde ich jetzt leider nicht auf Anhieb oder habe sie schon gelöscht) – angesichts des Inhalts der Threadgeschichten à la Käpt’n Blaubär wäre das möglicherweise auch die passende Plattform zum Spielen und Nachforschen. Das vermeintliche oder gar erfundene Problem mit dem FPGA, dem Vorgesetzten und den Strahlen, die ihn umpogrammieren können, was man übrigens einfach auf Wikipedia nachlesen kann ohne sich jemals real mit einem FPGA auseinandergesetzt zu haben, würde dann auch vollständig entfallen. Pitayas und Paprikas darf man dabei sogar auch noch in den Pausen verzehren, wenn einem danach ist und der Projektleiter (z.B. Mami) es nicht untersagt hat.

(Firma: Jasinski) #7699531
Lesenswert?

Harald K. schrieb:

Meinst Du, daß der Typ, der diesen Thread hier aufgemacht hat, der gleiche war wie der vor ein paar Wochen, der ein sich mal eben so ein RTOS aus der Hand geschüttelt hat um später irgendwelchen Unfug über serielle Schnittstellen und Modbus zu verzapfen?

Weiß ich nicht, das müsstest Du den Admin fragen, der auf die IP-Adressen Zugriff hat – wenn sich jemand nicht gerade durch Verschleierungssoftware einloggt oder auf diese Weise als Gast schreibt, kann man manchmal gewisse Rückschlüsse auf die Identität einer Entität machen. Ob Dir ein Admin aber Auskunft erteilt, ist eine ganz andere Sache – normalerweise bekommst Du keine und das ist auch gut so. Übrigens, dadurch dass die Forumsoftware so simpel gehalten wird und es hier keine Avatare gibt, ist es extrem schwer, auf Anhieb zu erkennen, mit wem man redet – mal ist es ein „Hans O.”, dann wieder ein „Hans F.”, was auf den ersten Blick kaum unterscheidbar wird. Es gibt nur wenige Nicknamen oder Benutzer hier, die man sofort wiedererkennen kann.

PS: das Thema ist leider gelaufen, aber es gibt auch Reinkarnationen, insofern würde es mich nicht wundern, wenn hier oder auch woanders in naher Zukunft noch etwas Merkwürdiges passieren würde

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