Hallo Zusammen, Ich habe folgende: 30 Digitale Output Signale, die ich gerne abtasten möchte und dann darzstellen bzw. loggen. Diese 30 digitale Signale kommen von 10 Systeme, die parallel eingeschaltet sind. Idee ist die 10 Systeme parallel zu testen. Jede System hat 3 digitale Signale, die wir beobachten möchten. Vorherige Stand: Jede System war an einen Oscilloscope angehängt und dadurch können immer die Signale visualisieret werden. Was wir vorhaben: Das gleiche wollen wir haben, aber halt nicht nur einen System sondern 10 Systeme gleichzeitig zu beobachten und die Signale nachher mit Matlab, Labview oder Visual Studio mit der Plugin Qt visualisieren. Also Idee ist einen oder mehreren STM32Fx einzusetzen und die nötige Signale abzutasten und darzustellen bzw. einzullogen. Mir geht erst mal darum: Ist das machbar? Ursprüngliche Idee war eine NI-USB-XXXX einzusetzen, aber da es die Synchronistaion sehr wichtig bzw. die Abtastrate noch wichtig ist, können wir das nicht mit NI- HW realisieren was noch dazu kommt sind die Kosten (NI- HW ist sehr teuer für diese Anforderungen). Auf einen konstruktive Feadback freue ich mich Danke in voraus
Manuel schrieb: > 30 Digitale Output Signale, die ich gerne abtasten möchte und dann > darzstellen bzw. loggen. Unklare Aufgaben bzw Problemstellung. - maximale Frequenz fehlt bzw Abtastrate. - heisst "digital" jetzt "nur Einsen und Nullen" oder ist das ein komplexes Signal, "pseudo-analog" Manuel schrieb: > und die nötige > Signale abzutasten und darzustellen bzw. einzullogen.
Numal Langsam schrieb: > Manuel schrieb: >> 30 Digitale Output Signale, die ich gerne abtasten möchte und dann >> darzstellen bzw. loggen. > > Unklare Aufgaben bzw Problemstellung. > > - maximale Frequenz fehlt bzw Abtastrate. Die minimale Abtasrate: 70 n/s > - heisst "digital" jetzt "nur Einsen und Nullen" oder > ist das ein komplexes Signal, "pseudo-analog" Es handelt sich um eine digitale Signal 1 oder 0 > > Manuel schrieb: >> und die nötige >> Signale abzutasten und darzustellen bzw. einzullogen. Die 30 digitale Signale müssen abgetastet, dargestellt und eingeloggt werden. Das wäre das Ziel.
Per DMA kann man GPIO Ports lesen und in den RAM schreiben, so lange bis er voll ist. Rechenaufwand fast 0. Aber in der Geschwindigkeit wird man die Daten nicht Endlos zum PC bekommen.
Markus M. schrieb: > Aber in der Geschwindigkeit wird man die Daten nicht Endlos zum PC > bekommen. Ich kann doch dafür sorgen, dass die Daten die schon zu Pc übertragen löschen. Was sagt ihr dazu, wenn ich eine STM32F303VCT6 benutzen werde. Das wird schon ausreichen?
Hast du das selbst mal nachgerechnet mit den 70ns Abtastperiode? Ich vermute mal nicht: 70ns sind ca. 14MHz Abtastrate. Das ganze mal mindestens 4 Byte für 30 Digitalsignale kommst du auf eine Datenrate von knapp 57MByte/s, die du verarbeiten und wegschaufeln musst. Overhead noch nicht eingerichtet. Ein STM32F3 uC mit max. 72MHz wird da wohl eher nicht ausreichen. Das ist schon eher was für ein FPGA.
Sebastian K. schrieb: > Hast du das selbst mal nachgerechnet mit den 70ns Abtastperiode? Ich wunder mich über die freie Interpretation. Mir sagt "70 n/s" garnichts. Wie soll man jemandem helfen, der jegliche Sorgfalt vermissen läßt und nicht einmal diesen wichtigen Punkt auf die Reihe bekommt?
m.n. schrieb: > "70 n/s" 70 Nudeln je Sekunde... die wollen erstmal gekocht werden. :-D Selsbt ein FPGA wird die Datenrate zum PC nicht schaffen, da dort immernoch der USB oder was auch immer, der limitierende Faktor ist (sollten es 70ns sein). Auch wenn die Daten mit DMA eingelesen und als Paket geschickt werden. Irgendwann, und der kommt schnell, stößt der DMA an die Übertragungsgrenze des USB an - und dann kommt es zum Overrun. Das ist ein sehr sportliches Vorhaben. Auf µC / FPGA Seite und auf der PC Seite.
Rene K. schrieb: >> "70 n/s" > > 70 Nudeln je Sekunde... die wollen erstmal gekocht werden. :-D Das kann nicht stimmen, meine brauchen 18 Minuten. Numal Langsam schrieb: > Unklare Aufgaben bzw Problemstellung. So ist es!
Fragt sich noch welche Zeit gebuffert werden muss, und wieviel Reale Daten dabei gecapturet werden.. Sonst könnte man noch 1 Steuer Byte für keine veränderung erkannt anhängen oder bei jeder Sekunde ein paar Daten das ganze Darauf zuschneiden. Quasi Steuerbyte = 10100000 bedeutet das 2 Byte nutzdaten von Porta und portc übertragen werden da auf Portb und Porto keine Veränderungen beim Sample vorhanden waren.
Ich würde versuchen, handelsübliche digital logik analysatoren zu verwenden. Die komprimieren schon bei der kommunikation. Und wenn du amm Ende selbst programmierren willst, kommst du immer teurer als gekauft. Schau mal den von saleae an .... Grüße, Adib.
ich bin da mal optimistischer ... und inerpretiere 70 n/s als 70 Messungen pro sekunde. was ca. 280 Bytes/s sind, das ist ja offentsichtlich kein problem ... bei 70ns => 14,3MHz abtastrate bräuchte man schon USB 3.1
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.