Ich möchte gerne mehrere Sensor-Controller-Systeme über eine größere Distanz mit einander verbinden und dazu einen zentralen Prozessor verwenden. Die Sender sind kleine Module eines Drittanbieters, welche eine komplexe Datenerfassung betreiben und ihre fertig prozessierten Daten permanent als pseudoanaloges PDM selbständig absenden, um sie in analogen Erfassungsfeldern nutzen zu können, sie sind aber auch digital auswertbar. Die Module werden hart auf den 10 MHz Labortakt synchronisiert und arbeiten intern mit einer eigenen PLL, d.h. ich könnte die PDM-Rate einstellen. Ich würde gerne abschätzen, wieviele solcher Sensoren ich an einen Controller anschließen kann und wieviele Kanäle ich benötige. Physikalisch sollen bis zu 16 Controller angeschlossen werden. Es ist aber immer nur einer wirklich wichtig, nämlich der, der dem "Meßobjekt" am Nächsten ist und die Daten mit der größten Amplitude liefert. Ich möchte daher die 16 Ausgänge mit einigen Multiplexern auf einen Prozessor schalten und immer nur einige Kanäle gleichzeitig beobachten. Der Prozessor soll immer einen starken auswerten und erkennen, dass ein Sensor immer weniger liefert und dann durch Umschalten in der Nähe des starken Sensors die anderen testen, ob sie noch mehr liefern. Wegen Setup-Zeit ist immer einer tot und 2 werden mindestens zur Verfolgung benötigt. MATLAB-Simulation steht! Ich hätte also einen Prozessor, der 4 PDM-Kanäle erfassen kann. Es dürfen gerne mehr sein. Was wichtig ist: Mit welchen maximalen Raten kann ich da rechnen? Hätte jemand einen Tipp? Vielen Dank!
Nach eines: Die Senderate der PDM soll möglichst hoch sein, denn sie begrenzt bekanntlich Auflösung und Frequenz, mit der der Prozessor den Sensor beobachten kann. Der Prozessor soll die PDM auswerten und später noch filtern, wenn er weis, welches der stärkste Kanal ist. So 10-12 Bit bei 100kHz sollten das am Ende schon sein. Da wäre noch die Frage, wie hoch die PDM mindestens sein muss. Von den Multiplexern her sehe ich kein Problem, weil die statisch umschalten. Der PDM sollte es keinen Abbruch tun, wenn ein paar falsche Takte eingemischt werden. Der Prozessor bräuchte jedenfalls eine Anzahl Zähler zur Auswertung und Mittelwertbildung, damit überhaupt erst einmal klar ist, welcher Kanal dominant ist. Die Daten dieses Kanals müssen dann genau gerechnet werden. Eventuell ist es auch sinnvoll mehrere Kanäle genau zu rechen, um den Entscheid zu verbessern.
Nimm doch einfach ein FPGA, der die Pulse Mikrosekunden-genau misst, und dann dem Prozessor nur die High und Low-Zeiten mitteilt. Ist nicht kompliziert, und auf einem FPGA können dann Dutzende dieser Einheiten synthetisiert werden.
Ulrich G. schrieb: > Ich hätte also einen Prozessor, der 4 PDM-Kanäle erfassen kann Das macht man per Hardware, die Einrichtung heisst oft 'input capture mode'. Für 4 Kanäle gleichzeitig tut es also nicht der kleinste uC. Hier ist erklärt, wie es geht https://www.cae.tntech.edu/~mmahmoud/teaching_files/undergrad/ECE3120SP14/slides/Chapter_5.pdf das ist der Prozessor http://www.mosaic-industries.com/embedded-systems/sbc-single-board-computers/freescale-hcs12-9s12-c-language/instrument-control/pwm-pulse-counter-frequency-meter Natürlich gibt es auch anderen uC die das können. Je nach timer-Takt bestimmt sich die Auflösung (z.B. bei 16MHz sind das 62.5ns) und je nach PDM Grundfrequenz (z.B. 100kHz) damit die Bitanzahl (z.B. bis 160 also 7.5 bit). Wenn du 1MHz PDM Basisfrequenz hast und auf 1ns auflösen willst, brauchst du ein mit 1GHz (PLL) getaktetes FPGA und 10 bit Zähler (na gut, mit Tricks tun es weniger als 1GHz durch Gatterlaufzeiten und clock skewing).
Ulrich G. schrieb: > nämlich der, der dem "Meßobjekt" am Nächsten ist Wie schnell bewegt sich denn das "Messobjekt" zwischen den Sensoren? Muss da das gesamte System tatsächlich mit 10MHz abgetastet werden? > pseudoanaloges PDM Wie sieht da denn so ein "Datenpaket" aus? Wie ist die Information in das Signal eingeprägt?
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Wie sieht da denn so ein "Datenpaket" aus? Wie ist die Information in > das Signal eingeprägt? Eben Pulsdichte. https://en.wikipedia.org/wiki/Pulse-density_modulation Irre ineffizient weil man für 10 Bit Auflösung wirklich 1024 Takte braucht. Aber kann man schon machen ... Die Daten bekommt man zurück indem man in einem Zeitfenster die Anzahl der Pulse zählt. Das kann man auch überlappend machen und man kann auch sehr einfach die Auflösung ändern. Bisher ist mit PDM nur bei MEMS Mikrofonen untergekommen.
:
Bearbeitet durch User
Michael B. schrieb: > Für 4 Kanäle gleichzeitig tut es also nicht der kleinste uC. Das hatte ich mir schon gedacht. Danke für den Link. Michael B. schrieb: > Natürlich gibt es auch anderen uC die das können. Ich schau, ob ich fündig werde. > Je nach timer-Takt bestimmt sich die Auflösung (z.B. bei 16MHz sind das > 62.5ns) und je nach PDM Grundfrequenz (z.B. 100kHz) damit die > Bitanzahl (z.B. bis 160 also 7.5 bit) Die Idee ist eigentlich 1en zählen, den Rest als 0 annehmen und innerhalb einer definierten Zeit auf diese Weise eine Dezimation zu bekommen. > Wenn du 1MHz PDM Basisfrequenz hast und auf 1ns auflösen willst Es soll synchron sein, d.h. wirklich genau 1024 Impulse zählen. Genauer als 1/f brauche ich es also nicht. Wahrscheinlich brauche ich aber eine höhere Frequenz als 1MHz. Lothar M. schrieb: > Ulrich G. schrieb: >> nämlich der, der dem "Meßobjekt" am Nächsten ist > Wie schnell bewegt sich denn das "Messobjekt" zwischen den Sensoren? > Muss da das gesamte System tatsächlich mit 10MHz abgetastet werden? Die 10MHz sind nur für die Daten nötig(?). Es sind ja 1-Bit-Daten. Gustl B. schrieb: > Irre ineffizient weil man für 10 Bit Auflösung wirklich 1024 Takte > braucht. Die Module arbeiten eben so, da sie mit einem einfachen analogen Filter als Analogpositionsgeber arbeiten.
Ulrich G. schrieb: > Die Module werden hart auf den 10 MHz Labortakt > synchronisiert und arbeiten intern mit einer eigenen PLL, d.h. ich > könnte die PDM-Rate einstellen. Auf was maximal? Das ist der eine Punkt. > Der Prozessor soll die PDM auswerten und später noch > filtern, wenn er weis, welches der stärkste Kanal ist. So 10-12 Bit bei > 100kHz sollten das am Ende schon sein Das bedeutet: die PDM-Abtastung (und natürlich auch: -Generierung) müßte mit ca. 100-400MHz Bittakt erfolgen (synchronisierter Aufbau mit Laufzeitkompensation vorausgesetzt). Können das die Sensoren wirklich? Würde mich stark wundern. Falls ja, würde mich schon mal interessieren, was das denn für Feenstaub sein soll und warum deren Ingenieure ein derart ungeeignetes Signal gewählt haben... Wenn sie es aber wirklich können und du das auch wirklich ausnutzen willst/musst, dann wirst du wohl die µC-Idee knicken können. Sowas ist dann ziemlich eindeutig ein FPGA-Job. Der Gesamtaufbau dürfte einigermaßen tricky werden. Bis sowas vollständig korrekt läuft, können u.U. Monate in's Land gehen.
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.