Hallo zusammen, ich spiele gerade ein wenig mit folgendem Eval Board von TI: https://www.ti.com/tool/AMC3336EVM Der Delta Sigma gibt ein wunderbares PWM Singal. Dieses Signal würde ich aber gerne extern auswerten. Ob am PC, über ein anderes Eval Board mit passender SW, einen µC/FPGA, LogicAnalyzer (z.B. Saleae) etc. ist mir egal. Hauptsache eine "Plug&Play" Lösung. Ich hätte halt ganz gerne eine fertige Lösung, welche man kaufen oder aufbauen kann um das Signal aus zu werten. Was ich nicht möchte ist, das digitale Signal in ein analog Signal umwandeln und dann auswerten. Leider habe ich per google nichts finden können. Habt ihr eine Lösung? Viele Grüße
Was stellst Du Dir unter "auswerten" vor? Ein PWM-Signal ist ein digitales Signal mit genau zwei unterschiedlichen Pegeln - entscheidend ist hier der zeitliche Verlauf. Wenn Du das mit irgendwas "auswerten" willst, musst Du /ausreichend schnell/ die Signalflanken erfassen. Das ließe sich mit simplen Polling machen (ständig nachsehen, wie der Pegel gerade ist), einfacher aber ist es, auf die Hardwareausstattung Deines ungenannten Microcontrollers zurückzugreifen. Hier bietet sich die Verwendung eines Timers im Zusammenhang mit einem Capture-Eingang an; der Timer läuft frei mit ausreichend hoher Frequenz und bei jeder Signalflanke wird der Zählerstand erfasst. Wenn Du diese Zählerstände betrachtest, hast Du Dein Signal "ausgewertet".
Moin, Christian S. schrieb: > Ich hätte halt ganz gerne eine fertige Lösung, welche man kaufen oder > aufbauen kann um das Signal aus zu werten. Da bezweifle ich, ob's da was fertiges fuer genau diesen, deinen Spezialfall gibt. TI empfehlen in ihrem Datenblatt (8.2.1.2) ihre C2000 oder Sitara Prozessoren, haste da schonmal geguckt, ob bei deren Evalboards evtl. was dabei ist? Gruss WK
Es werden ja aus den 20MHz Takt einzelne Pulse ausgeblendet. Man braucht also nur einen Timer im Waveform-Mode, um die 20MHz zu erzeugen und einen weiteren im Counter-Mode zum Zählen. Der µC sollte daher mit mindestens 40MHz laufen. Also irgendwas schnelleres als 8051 oder AVR.
Du musst den CLK sowieso vorgeben, minimum 9 MHz. Das könnte sogar ein AVR der mit 20MHz läuft. Nyquist sollte also erfüllt sein.
Christian S. schrieb: > Der Delta Sigma gibt ein wunderbares PWM Singal. Nur ist das kein PWM, sondern PDM https://en.wikipedia.org/wiki/Pulse-density_modulation Peter D. schrieb: > Der µC sollte > daher mit mindestens 40MHz laufen. und Alfred P. schrieb: > Du musst den CLK sowieso vorgeben, minimum 9 MHz. Das könnte sogar ein > AVR der mit 20MHz läuft. Nyquist sollte also erfüllt sein. Etwas Luft um den Bitstrom zu filtern usw. braucht man auch noch. Weil es offensichtlich ein Einzelstück oder Prototyp werden soll würde ich mit der Taktfrequenz deutlich höher gehen, um mich nicht mit der MCU-Leistung herumquälen zu müssen.
>Der Delta Sigma gibt ein wunderbares PWM Singal. >Dieses Signal würde ich aber gerne extern auswerten. Im einfachsten Fall mit einem RC-Tiefpass und einem ADC-Eingang.
Christoph M. schrieb: > Im einfachsten Fall mit einem RC-Tiefpass und einem ADC-Eingang. Was er EXPLIZIT NICHT wollte!
>Was er EXPLIZIT NICHT wollte!
Hast Recht. Ich habe den letzten Satz übersehen.
Falk B. schrieb: > Was er EXPLIZIT NICHT wollte! Fragt sich, was der TO an dem Signal auswerten wollte. Soll da ein Zähler lustig hoch und runter zählen, soll die Frequenzstabilität bestimmt werden, soll der Flankenjitter bewertet werden oder was ist das Ziel?
Christian S. schrieb: > Dieses Signal würde ich > aber gerne extern auswerten. Steht im Datenblatt drin. "By using a digital filter (such as a sinc3 filter) to decimate the bitstream, the device can achieve 16 bits of resolution with a dynamic range of 85 dB at a data rate of 78 kSPS" https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://ww1.microchip.com/downloads/aemDocuments/documents/FPGA/ProductDocuments/UserGuides/ip_cores/directcores/sinc3_filter_ug.pdf https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.ti.com/lit/pdf/sbaa230 https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.silabs.com/documents/public/application-notes/an1215-sinc3-filter-for-dsm-apps.pdf https://www.skyworksinc.com/en/Products/Isolation/Evaluation-Kits/isolated-analog-and-adc/si8946-evaluation-kit https://docs.broadcom.com/docs/ACPL-C877-UG
Du willst das Signal aus dem AMC3336 z. B. mit einem µC/FPGA auswerten, ohne noch eine weitere Hardware dazwischen zu haben? Kein Problem, es ist nur etwas mehr Aufwand in Software. Ob ein µC den zusätzlichen Rechenaufwand das schafft, hängt von der Applikation und natürlich vom µC ab. Wie schon mehrfach erwähnt, ist das Ausgangssignal kein PWM-Signal, sondern ein PDM-Signal. Der Mittelwert des PDM-Signals entspricht dem ursprünglichen Analog-Wert, deswegen Cristophs Hinweis auf einen Tiefpass. Der ist prinzipiell richtig, nur bitte nicht als analoger Tiefpass + ADC. Nebenbei: Die Auflösung eines PDM-Signals ist, im Gegensatz zu PWM oder PCM, inhärent unendlich. Ein solcher digitaler Tiefpass ist in einem µC oder FPGA natürlich möglich. Ein einfacher, 1-poliger digitaler Tiefpass besteht ja daraus, einen kleinen Teil des Eingangssignals zu nehmen und zu einem großen Teil des Ausgangssignals zu addieren. (So einfach formuliert würde das gleichzeitig zu einer großen "Verstärkung" führen - egal, das ist hier nicht das Thema.) Digitale Tiefpässe höherer Ordnung sind nicht so trivial. Wie man analoge Filter (Bessel, Butterworth, Chebycheff) höherer Ordnung in digitale Filter umrechnet und wie die aufgebaut sind, ist in https://beis.de/Elektronik/Filter/AnaDigFilt/AnaDigFilt.html beschrieben. Alles das geht prinzipiell in µC und FPGA. Ohne externe Hardware. Sinc-Filter sind wohl einfacher, habe aber andere Nachteile.
Rainer W. schrieb: > Fragt sich, was der TO an dem Signal auswerten wollte. Was will man wohl am Ende aus einem PDM Bitstrom rausbekommen der von einem 1 Bit ADC kommt? Ja, richtig, Abtastwerte mit mehr Bits Auflösung. Uwe B. schrieb: > Digitale Tiefpässe höherer Ordnung sind nicht so trivial. FIR Filter sind bereits erfunden.
Gustl B. schrieb: >> Fragt sich, was der TO an dem Signal auswerten wollte. Ja, das könnte wichtig sein. > Was will man wohl am Ende aus einem PDM Bitstrom rausbekommen der von > einem 1 Bit ADC kommt? Ja, richtig, Abtastwerte mit mehr Bits Auflösung. Na ja, ganz das Ende wird es nicht sein, sondern nur ein Zwischenschritt. Das Ende wäre vielleicht einfach nur Speichern, Auswertung des Signals auf bestimmte Vorkommnisse, Kompression und Speicherung, Anzeige des Signalverlaufs... > FIR Filter sind bereits erfunden. Ich muss gestehen, dass ich den Unterschied bzgl. Rechenaufwand zwischen IIR und FIR nicht abschätzen kann. Der hängt sicherlich auch von der Applikation bzw. dem Ziel ab.
Hallo Christian, das sieht nur so aus wie PWM ist aber üblicherweise ein SPI Daten Stream getaktet durch den Clock Eingang. Es gibt auch welche die Manchester Code ausgeben. Ich würde dir einen STM32H750 vorschlagen den bekommst als Board für ca. 15€. https://de.aliexpress.com/item/1005001567462650.htm. Der H753 kostet etwas mehr und hat dafür mehr Flash Speicher Die haben einen "Digital filter for sigma delta modulators (DFSDM)" damit hast du schonmal die Hardware erschlagen und Code-Beispiele dafür findest du auch im Netz...
Christian S. >Ich hätte halt ganz gerne eine fertige Lösung, welche man kaufen oder >aufbauen kann um das Signal aus zu werten. Du könntest einen PiPico und die PDM-Library verwenden, dort ist wohl ein Sinc3 Filter eingebaut: https://github.com/earlephilhower/arduino-pico/tree/master/libraries/PDM
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.