Hallo, für ein Projekt werde ich ungefähr 10 analoge Signale in einen STM32 Controller einlesen. Was ist der beste Weg Analogsignale ohne viele Bauteile in digitale Signale zu wandeln? Ich bin noch relativ neu auf dem Gebiet der Microcontroller, hatte aber an einen Multiplexer gedacht oder an die Verwendung der internen ADCs. Grüße Malte
> Was ist der beste Weg Analogsignale ohne viele > Bauteile in digitale Signale zu wandeln? Das koennen wir nicht wissen weil wir nicht wissen welche Aufloesung du brauchst und wie oft du das machen willst. > hatte aber an einen Multiplexer gedacht > oder an die Verwendung der internen ADCs. Die meisten Microcontroller haben nur einen ADC, manche zwei, sehr wenige drei. Die haben aber fast alle bereits einen Multiplexer eingebaut um damit acht oder 16Eingaenge der Reihe nach messen zu koennen. Viele koennen das dann sogar automatisch machen. Haengt halt davon ab ob dir die Geschwindigkeit dann reicht. Olaf
Malte M. schrieb: > hatte aber an einen Multiplexer gedacht > oder an die Verwendung der internen ADCs. Die meisten STM32 haben beides und können Signale zwischen GND und AREF in 12-Bit Werte wandeln. Aber das hängt vom spezifischen Controller ab, den du mal näher beschreiben solltest. Ein dicker STM32F429 hat dann bis zu 24 Eingänge mit Multiplexer und 3 unabhängige ADCs, wimre.
Malte M. schrieb: > Was ist der beste Weg Analogsignale ohne viele > Bauteile in digitale Signale zu wandeln? Ich würde dafür den ADC in deinem Mikrocontroller verwenden, der mach genau diese Umwandlung und hat (je nach Modell) genug Eingänge. Das ist zumindest die einfachste Variante. Besondere Anforderungen hast du ja keine genannt. Anregungen: http://stefanfrings.de/stm32/stm32f3.html#stm32f3mini
Malte M. schrieb: > für ein Projekt werde ich ungefähr 10 analoge Signale in einen STM32 > Controller einlesen. Sollen die Signale synchron digitialisiert werden? Dann brauchst du für jedes einen eigenen ADC. Und die müssen sich synchronisieren lassen...
Malte M. schrieb: > ungefähr 10 analoge Signale in einen STM32 Controller einlesen. > Was ist der beste Weg Was sind das für "Signale"? Woher kommen diese "Signale"? Wie schnell ändern sie sich und wie schnell und wie genau müssen die gemessen werden? Was soll mit den Messewrten geschehen?
Lothar M. schrieb: > Was sind das für "Signale"? Woher kommen diese "Signale"? Wie schnell > ändern sie sich und wie schnell und wie genau müssen die gemessen > werden? Was soll mit den Messewrten geschehen? Ergänzung: Welche Spannungen haben sie? Welche Impedanz haben die Quellen? Sind sie galvanisch getrennt oder auf die Masse des STM32 bezogen?
STK500-Besitzer schrieb: > Sollen die Signale synchron digitialisiert werden? > Dann brauchst du für jedes einen eigenen ADC. Und die müssen sich > synchronisieren lassen... Man muß nicht immer gleich übertreiben. Es reicht völlig, wenn die Messungen für die gewünschte Abtastrate hinreichend synchron sind.
Peter D. schrieb: > an muß nicht immer gleich übertreiben. Es reicht völlig, wenn die > Messungen für die gewünschte Abtastrate hinreichend synchron sind. Wenn man bspe. ein Mehrphasenmikrofonarray samplen will, dann ist das wohl nötig, oder? Der TO hat sein Problem ja nur sehr wage beschrieben.
STK500-Besitzer schrieb: > Wenn man bspe. ein Mehrphasenmikrofonarray samplen will, dann ist das > wohl nötig, oder? Aber das ist nicht gerade ein Projekt das man macht wenn man wie der TO schrieb "relativ neu auf dem Gebit der Mikrocontroller" ist ...
Andre G. schrieb: > Aber das ist nicht gerade ein Projekt das man macht wenn man wie der TO > schrieb "relativ neu auf dem Gebiet der Mikrocontroller" ist ... Weiß man's? Wenn der TO keine Details nennt, kann man ihn doch mit Informationen überhäufen.
STK500-Besitzer schrieb: > Wenn man bspe. ein Mehrphasenmikrofonarray samplen will, dann ist das > wohl nötig, oder? Wer so fragt wie der TO will das nicht. Oder er versucht zu rennen bevor er krabbeln kann. STK500-Besitzer schrieb: > kann man ihn doch mit Informationen > überhäufen. Zielgerichteter und sinnvoller wäre ihn mit Fragen zu überhäufen Die Fragen wurden schon gestellt
:
Bearbeitet durch User
STK500-Besitzer schrieb: > Der TO hat sein Problem ja nur sehr wage beschrieben. Das ist aber stark untertrieben. Die einzige Angabe zu dieser Aufgabe ist, "ungefähr 10". Also nichtmal die "10" ist sicher. Auch von Mikrofonen war keine Rede.
Na ja, LTC1090 hatte ich hier mal am Wickel. Ist aber obsolet. Sowas in der Richtung aber moderner? https://www.analog.com/en/products/ltc1090.html ciao gustav
Udo S. schrieb: > Oder er versucht zu rennen bevor er krabbeln kann. Das wäre hier ja nicht das erste Mal. Peter D. schrieb: > Das ist aber stark untertrieben. > Die einzige Angabe zu dieser Aufgabe ist, "ungefähr 10". Also nichtmal > die "10" ist sicher. Auch von Mikrofonen war keine Rede. Ich nehme ihm einfach die Salamitaktik vorweg.
Moin, STK500-Besitzer schrieb: > Wenn man bspe. ein Mehrphasenmikrofonarray samplen will, dann ist das > wohl nötig, oder? Nee, nicht unbedingt; das kann man sich schon wieder schoenfiltern, zumindest, wenn man weiss, wieviel Zeit bzw. Sampleabstandbruchteile dazwischenliegen. Gruss WK
Der TO macht es richtig. Nachdem sich die altbekannten Tagediebe hier ausgekotzt haben, läßt er noch ein wenig Zeit verstreichen, um sich dann mit den fehlenden Parametern wieder zu melden. Dann (und erst dann) kommen die Antworten von vernünftigen Leuten.
Olaf schrieb: > Das koennen wir nicht wissen weil wir nicht wissen welche Aufloesung du > brauchst und wie oft du das machen willst. > Die meisten Microcontroller haben nur einen ADC, manche zwei, sehr > wenige drei. Die haben aber fast alle bereits einen Multiplexer > eingebaut um damit acht oder 16Eingaenge der Reihe nach messen zu > koennen. Viele koennen das dann sogar automatisch machen. Haengt halt > davon ab ob dir die Geschwindigkeit dann reicht. Danke für die zahlreichen Antworten. Als Auflösung sind 8 Bit ausreichend und die Sample Rate soll pro Signal bei etwa 100Msamples/s liegen. (Was schon recht schnell ist.) Dafür werden die eingebauten ADCs wohl zu langsam sein. Gibt es Lösungen das zu realisieren ohne 10 ADCs parallel schalten zu müssen. Grüße Malte
Du willst insgesamt also 1GB/s einlesen? So eine Info gehört in den Eröffnungspost! Und wo willst du das speichern und wie verarbeiten? Besorge dir einen Computer, der so schnelle Schnittstellen hat. STM32 sind dazu wohl kaum geeignet, egal welcher.
Malte M. schrieb: > Olaf schrieb: > >> Das koennen wir nicht wissen weil wir nicht wissen welche Aufloesung du >> brauchst und wie oft du das machen willst. > >> Die meisten Microcontroller haben nur einen ADC, manche zwei, sehr >> wenige drei. Die haben aber fast alle bereits einen Multiplexer >> eingebaut um damit acht oder 16Eingaenge der Reihe nach messen zu >> koennen. Viele koennen das dann sogar automatisch machen. Haengt halt >> davon ab ob dir die Geschwindigkeit dann reicht. > > Danke für die zahlreichen Antworten. > Als Auflösung sind 8 Bit ausreichend und die Sample Rate soll pro Signal > bei etwa 100Msamples/s liegen. (Was schon recht schnell ist.) > Dafür werden die eingebauten ADCs wohl zu langsam sein. Gibt es Lösungen > das zu realisieren ohne 10 ADCs parallel schalten zu müssen. > Grüße > Malte Also alle 10ns 10 Messungen? Sportlich ... LG, Sebastian
Malte M. schrieb: > Gibt es Lösungen > das zu realisieren ohne 10 ADCs parallel schalten zu müssen. Ja, gibt es. Stöber einfach selber mal ... https://www.digikey.com/en/products/filter/data-acquisition-analog-to-digital-converters-adc/700?s=N4IgjCBcpgrAzFUBjKAzAhgGwM4FMAaEAeygG0QAmADjABYwAGEIygTlgWpZADZ421XjwDsdapWFFqjeNUTSZdOjzaVYank3gimIALpEADgBcoIAMomATgEsAdgHMQAXyLxxSEKkiZchEnIQEXhOKWCdMBFVSnZmIm0mSi0wXjhohLp4RjoM8CzGBC0C2BVM7M5itjhuBNhqERoeWDBKHLYtXk5srWo6Rl5khL7KMAgiFrbYePBqPtotaqEFcDY6UqGqehEG5tbC8a3eXNgeUZ2OM9iDs7lGS9Z%2BkQGzhmOOx50%2Bs9gQqJ%2BOJUiOteNUVpI4h8qINqptJHJYHCQhIkSJBCtJoU4Q12GUqGw2KDTu5GIV%2BjxsuodhTZJJDrw5upRK06Js%2BlieNRYO9OdzpqpSWlVGB4PBNmtfismLJGIcmKlRlpCn0pUxeIUUghqilaPA5f03sUWvItKUwDJTaD2Ja2D0EoNaFDzbExL1So1FuwgatfiJiaslLUtmLuVdWrw8pR4BG9bcY%2BCsmBtawNJQ6FDKCIxPQzkJYocaFyLawCXBNvt5Txch48dM2CJwpxzVDfum8ak0bGEnreAytKL1lKPMdy8OsmdZYSpY0OOWZ0UElncVc-S1Xn1EVWGmp-b6k1CsqFSj804SzmsmEHWVO5TKmcDe2wXvaxlmDMYzJBLDYHM43AGOmgbx0GwfAiFISAKGYQwQFMcwrDsJxXCIABaZIgJ8GwAFcAggihTn0Fx-3QigMAAE1QQigA
[OT] Udo S. schrieb: > Oder er versucht zu rennen bevor er krabbeln kann. Malte M. schrieb: > Als Auflösung sind 8 Bit ausreichend und die Sample Rate soll pro Signal > bei etwa 100Msamples/s liegen Was habe ich gesagt? [/OT]
Malte M. schrieb: > Als Auflösung sind 8 Bit ausreichend und die Sample Rate soll pro Signal > bei etwa 100Msamples/s liegen. (Was schon recht schnell ist.) > Dafür werden die eingebauten ADCs wohl zu langsam sein. Gibt es Lösungen > das zu realisieren ohne 10 ADCs parallel schalten zu müssen. Soll er auch noch fliegen können, oder reicht es kürzere Strecken zu gleiten? Also die STM32 können ja eine Menge, aber 1 Milliarde Messwerte pro Sekunde gehören nicht dazu.
Guido K. schrieb: > Also die STM32 können ja eine Menge, aber 1 Milliarde Messwerte pro > Sekunde gehören nicht dazu. Ich würde mal bei CERN nachfragen, am LHC sind solche Sensoren installiert. Übrigens sollten es ja laut TO 10 x 1 Milliarde sein, möglichst mit einem einzigen ADC. Georg
Mal Grundsätzlich: Haben die Signale alle das gleiche Referenzpotential? Alles Gleichspannungen oder auch etwas Später- Wenn alles mit dem Faktor 10 belegt wird, werden der Speicherbedarf und -durchsatz entsprechend groß. Es besteht ein riesiger Unterschied zwischen mit 1 MHz messen und diese auch zu be-/verarbeiten. Ich unterstelle dabei mal, dass Du die Messdaten nicht in Endlosschleifen zyklisch überschreiben tust, wodurch das Messen zum Selbstzweck verkommt.
Sebastian S. schrieb: > Es besteht ein riesiger Unterschied zwischen mit 1 MHz messen und diese > auch zu be-/verarbeiten. Wieso 1 MHz? Der TO will 10 x 100 MHz. Georg
Malte, Du hast noch nicht geaeussert, ob nur ein paar tausen Messwerte gespeichert wwrden sollen um diese von einem Rechner abzuholen oder als Dauerstream uebertragen werden sollen. Die Zeitdauer des Hold-Gliedes des Wandlers ist auch begrenzend. Haette dieses 2ns, dann waere alles ueber 5x100MHz sinnlos.
Georg schrieb: > Übrigens sollten es ja laut TO 10 x 1 Milliarde sein Du täuscht dich - Salamitaktik sei Dank Malte M. schrieb: > ungefähr 10 analoge Signale Malte M. schrieb: > Als Auflösung sind 8 Bit ausreichend und die Sample Rate soll pro Signal > bei etwa 100Msamples/s liegen.
Malte M. schrieb: > Als Auflösung sind 8 Bit ausreichend und die Sample Rate soll pro Signal > bei etwa 100Msamples/s liegen. (Was schon recht schnell ist.) > Dafür werden die eingebauten ADCs wohl zu langsam sein. Gibt es Lösungen > das zu realisieren ohne 10 ADCs parallel schalten zu müssen. Der Aufwand, bei den geforderten Abtastraten(!) einfach zehn separate ADCs zu verwenden, ist deutlich geringer als einen schnellen ADC und entsprechende Multiplexer. Ein Multiplexer schaltet nicht beliebig schnell, und auch nach dem Umschalten muss der Eingang des ADC zunächst einmal auf den neuen Analogwert umgeladen werden, bevor die Wandlung getriggert werden kann. Um das alles zu gewährleisten, muss man schon mit erheblichem Simulationsaufwand und Schaltungsoptimierung, impedanzkontrolliertem Leiterplattenlayout und anschließenden Messungen an die Sache herangehen. Ein ADC mit 1 GS/s ist zudem auch nicht wirklich billig und muss ggf. auch mit einem Kühlkörper usw. entwärmt werden. Mit solch einer Schaltung wäre ein sehr erfahrener Entwickler schon einige Wochen beschäftigt. ADC mit 100 MS/s und 8 Bit sind im Vergleich dazu noch sehr leicht zu handhaben und kostengünstig. Außerdem besteht da nicht die Gefahr, dass es zu einem Übersprechen zwischen den Eingangskanälen kommt. Bei beiden Varianten muss man natürlich überlegen, wie man die Daten überhaupt aufzeichnet. Mit einem normalen Microcontroller geht das nämlich nicht so ohne weiteres. Ich würde hierfür z.B. einen Xilinx Zynq verwenden (vorbehaltlich der derzeitigen Liefersituation...).
Andreas S. schrieb: > Ich würde hierfür z.B. einen Xilinx Zynq verwenden Selbst dann ist noch völlig unklar, wie der STM32 dabei sinnvoll mitspielen kann. Ich fürchte, der TO muss erstmal noch ein paar Hausaufgaben bzgl. Datenrate und Datenflusskonzept erledigen.
Warst du bei allen 4 "bürgerlichen" Grundrechenarten in der Schule entschuldigt krank? 10 x 100 MSamples sind 1 GByte Datendurchsatz auf einem µC mit < 200 MHz. Mit < 1 MB Speichermöglichkeit im Schnellzugriff. Das reicht hinten und vorne nicht. Tabak ist ungesund, aber was du rauchst, macht auch noch unvernünftig...
Malte M. schrieb: > Danke für die zahlreichen Antworten. Nutzlosen, denn deine Frage war unvollständig. > Als Auflösung sind 8 Bit ausreichend und die Sample Rate soll pro Signal > bei etwa 100Msamples/s liegen. (Was schon recht schnell ist.) Das entspricht einem billigen Digitaloszilloskop, wie Hantek DSO5102P oder Rigol DS1102E. > Dafür werden die eingebauten ADCs wohl zu langsam sein. Gibt es Lösungen > das zu realisieren ohne 10 ADCs parallel schalten zu müssen. 10 parallele ADC könnten die einfachste Lösung sein. Ein 1 GHz Multiplexer inklusive 1ns settling time wäre nämlich sehr anspruchsvoll. Schau dir halt mal an, wie solche Oszilloskope aufgebaut werden. Und überlege dir, wie du 8 GByte Daten/Sekunde wegschaufeln willst, dazu reicht weder USB noch eine SSD noch Ethernet oder WLAN, oder direkt vor Ort verarbeiten willst, ein FPGA müsste schon recht schnell sein, parallelisiert programmiert.
Wie einfach sich ein Fuenfzeiler zu einem 8 Kanal Oszilloskop aufblasen kann... Ich nehme jetzt mal an, nach etwas Prozessing muss visualisiert werden, weil auf einen Speicher wegschreiben ja eher sinnlos ist. Allenfalls waere jetzt noch interessant was fuer ein Prozessing dazu kommt.
MaWin schrieb: > Und überlege dir, wie du 8 GByte Daten/Sekunde wegschaufeln willst, dazu > reicht weder USB noch eine SSD noch Ethernet oder WLAN, oder direkt vor > Ort verarbeiten willst, ein FPGA müsste schon recht schnell sein, > parallelisiert programmiert. Es fallen bei 10*8*100 MS/s aber nur 8 GBit/s und nicht 8 GByte/s an Daten an. Als erfahrener Entwickler kann man es durchaus schaffen, mittel FPGA/SoC diese Datenmenge in normales DRAM und/oder sorgsam ausgewählte SSDs zu schaufeln. Trotzdem ist das kein Einstiegsprojekt für Anfänger. Wahrscheinlich wirft der TE aber nur mit irgendwelchen Zahlen um sich, weil er keine Ahnung hat und sich einfach aufplustern will. Vor einiger Zeit fragte mich auch eine Bekannte, welche Komponenten sie für ihre Heimnetz kaufen solle, und zwar für 100 GBit/s. Ich fragte sie mehrmals, ob sie wirklich 100 GBit/s benötige oder doch eher nur 100 MBit/s oder ggf. 1 GBit/s. Sie bestand immer auf den 100 GBit/s. Ich erklärte ihr dann, dass sie für einen Switch mit etlichen 100 GBit/s-Port auf jeden Fall eine Klimatisierung benötige. Und ein Fileserver, der solch einen Durchsatz schafft, fällt ja nun auch nicht in die Rubrik von Heim-NAS. Auf meine Fragen, wofür sie den ganzen Kram brauche, meinte sie nur, dass sie das einfach haben wolle und müsse. Schließlich dürfe ja ihr "teurer" neuer 100 GBit/s-Internetzugang nicht ausgebremst werden. Irgendwann schaute sie dann mal in die Leistungsbeschreibung und las dann durchaus realistische 100 MBit/s. Ihrer Meinung nach wäre das ja aber nur ein Unterschied von einem Buchstaben.
Andreas S. schrieb: > Schließlich dürfe ja ihr > "teurer" neuer 100 GBit/s-Internetzugang nicht ausgebremst werden. > Irgendwann schaute sie dann mal in die Leistungsbeschreibung und las > dann durchaus realistische 100 MBit/s. Ihrer Meinung nach wäre das ja > aber nur ein Unterschied von einem Buchstaben. Genau, und da M ja viel weiter hinten im Alfabet kommt als G: Ist M besser. Herrlich, ich liebe solche Kundengespräche.
Malte M. schrieb: > die Sample Rate soll pro Signal > bei etwa 100Msamples/s liegen. (Was schon recht schnell ist.) "recht schnell" ist stark untertrieben, das kann kaum einer selber bauen, erst recht kein Anfänger. Falls Du wirklich 100Msamples/s brauchen solltest, kaufe ein fertiges 16-Kanal Scope. Ein Selbstbau würde erheblich teurer, wenn er auch noch funktionieren soll.
Andreas S. schrieb: > Schließlich dürfe ja ihr > "teurer" neuer 100 GBit/s-Internetzugang nicht ausgebremst werden. Und wir krebsen noch mit extern 60 MBit bzw. intern 100 MBit UTP herum. Vermutlich sind unsere Augen und Ohren so schlecht, dass wir den Unterschied nicht merken. Oder wird sind so armselig, noch nie wirklich gutes Streaming gesehen zu haben. :-)
Peter D. schrieb: > Malte M. schrieb: > >> die Sample Rate soll pro Signal >> bei etwa 100Msamples/s liegen. (Was schon recht schnell ist.) > > "recht schnell" ist stark untertrieben, das kann kaum einer selber > bauen, erst recht kein Anfänger. > Falls Du wirklich 100Msamples/s brauchen solltest, kaufe ein fertiges > 16-Kanal Scope. Ein Selbstbau würde erheblich teurer, wenn er auch noch > funktionieren soll. Ein Logic Pro z.B. schafft es nicht alle 16 Analogkanäle mit höchster Geschwindigkeit auszulesen; je mehr Analogkanäle man auswählt desto kleiner wird die mögliche Samplingrate. LG, Sebastian
Andrew T. schrieb: > Herrlich, ich liebe solche Kundengespräche. Ist ganz einfach, sind nur 10 Kanäle, auch nicht besonders schnell, nur 100 MHz pro Kanal und kaum weiter was, nur dieses Fast Dingens, Fast Foyer oder so, muss maximal 1 Stunde aufzeichnen, ach ja, wir wollen in 4 Wochen anfangen zu liefern und das darf nicht mehr als 5 € kosten…
Sebastian schrieb: > Ein Logic Pro z.B. schafft es nicht alle 16 Analogkanäle mit höchster > Geschwindigkeit auszulesen; je mehr Analogkanäle man auswählt desto > kleiner wird die mögliche Samplingrate. Die erste Wahl für solche vielkanaligen Anwendungen sind Produkte von Yokogawa, z.B. ein DL590 kann mit bis zu 32 Kanälen a 200 MS/s konfiguriert werden.
Benutzername malte_me Vorname Malte Nachname M. Firma Angemeldet seit 05.05.2022 09:47 Beiträge 2 Zusammen mit seinen zwei Beiträgen gibt das satte 8/10 Trollpunkte. BRAVO!
Falk B. schrieb: > Zusammen mit seinen zwei Beiträgen gibt das satte 8/10 Trollpunkte. Ist aber schlecht getrollt. Noch hat er uns nicht dazu gebracht, und gegenseitig zu beleidigen.
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.