Forum: Mikrocontroller und Digitale Elektronik 16-kanal Mhz logikausgang per USB


von tobalt (Gast)


Lesenswert?

Hallo,

vorweg ich bin absolut neu auf dem Gebiet der digitalen schaltungen, 
somit kann es durchaus sein, dass meine Fragestellungen gart nicht 
zielführend sind. Mir würden auch antworten helfen, die meine Frage also 
nicht direkt beantworten. Auch konnte ich durch eigene internetrecherche 
nicht viel brauchbares hervorbringen, weil mir suchbegriffe fehlen.

Ich habe 16 Logikeingänge (Schalter), die ich mit 100kHz bis 1Mhz 
ansprechen will. Eingepflegt werden soll das ganze in ein vorhandenes 
LabVIEW projekt unter Windows. Als Interface habe ich mir derzeit USB in 
den kopf gesetzt. Aber auch PCI oder virtual-com sachen wären ok.

Es gibt ja zahlreiche und auch sehr billige USB-TTL Wandler mit 
ausreichend kanälen. Zb Deditec USB-TTL 32, oder auch kleine boards von 
pololu oder phidgets

1) Schaffen diese Teile, die angestrebten Frequenzen und kohärenz 
zwischen den Kanälen. Mit Software timing ist das nicht möglich, schätze 
ich. Also muss das Modul die gesamte 16-32 clocks dauernde Schaltsequenz 
zwischenspeichern und aus onboard-RAM heraus laden können, oder?

2) Falls dies mit den teilen wie og. nicht möglich ist, dürften ja 
einfachste mikrocontroller dafür in Frage kommen. Hier gibt es das 
problem meiner absolut fehlenden Erfahrungen. Gibt es da vorhandene 
"projekte" mit vorhandenen USb Treibern, die man benutzen kann, um über 
LabVIEW die informationen zur Schaltsequenz einspeichern kann?

Danke schonmal für die mühe!

von Peter (Gast)


Lesenswert?

16 MBit geht mit dem FX2 von Cypress. Du brauchst dann noch einen CPLD 
z.B. von Xilinx, irgendwas Kleines reicht. Es geht vermutlich auch ohne 
CPLD, aber mit habe ich sowas schonmal gebaut.

Die Software am PC ist dann ebenfalls noch zu erstellen und etwas 
aufwendig.

Aber evtl. gibt es ja fertige Karten mit diesem IC für LabVIEW.

Gruß Peter

von tobalt (Gast)


Lesenswert?

Danke für die antwort. Ich werde ein bischen zum cypress fx2 lesen.

Wegen 16Mbit: ich hatte gerade gehofft, dass das eben nicht nötig ist. 
Da eine gut ausgelastete umd zeitlich kohärente anbindung über labview 
über tage hinweg nicht geht, nach meinen bisherigen erfahrungen. Ich 
möchte im prinzip nur eine 16-32 clocks dauernde und 16-kanäle breite 
sequenz übertragen die dann kontinuierlich und selbständig ausgeführt 
wird, bis eben eine neue aufgabe übertragen wird, was tagelang dauern 
kann.

geht so was prinzipiell?

Oder bezog sich deine 16mbit angabe auf was anderes als das usb 
transferlimit.

Grüße, tobalt

von ./. (Gast)


Lesenswert?

> Ich
> möchte im prinzip nur eine 16-32 clocks dauernde und 16-kanäle breite
> sequenz übertragen die dann kontinuierlich und selbständig ausgeführt
> wird...

Das wuerde mit dem FX2 wohl auch gehen, aber vom Timing u.U. schon knapp 
werden. Die Ausgabe der Sequenz muesste der FX2 dann naemlich selber 
machen.
Aber keine Angst, dank 48 MHz Takt ist er schon recht fix.
Problem waere, das es prinzipbedingt mit dem FX2 alleine nicht moeglich 
ist,
auf "einer" Flanke 16 bit auszugeben.
Er ist halt nur ein 8 bit Prozessor. Wenn der Versatz von einigen 
Taktzyklen stoert, muesste man noch einen Latch vorsehen.

von Peter (Gast)


Lesenswert?

tobalt schrieb:
> Wegen 16Mbit: ich hatte gerade gehofft, dass das eben nicht nötig ist.

Was meinst Du damit?

tobalt schrieb:
> zeitlich kohärente anbindung

Und was heisst das?

tobalt schrieb:
> 16-32 clocks dauernde und 16-kanäle breite
> sequenz übertragen die dann kontinuierlich und selbständig ausgeführt
> wird

Bei welcher Frequenz? Bis zu 1 MHz? Dann musst Du kontinuierlich mit 
einem MHz abtasten.

tobalt schrieb:
> geht so was prinzipiell?

Prinzipiell stellst Du den CPLD/FX2 so ein, dass immer mit der gleichen 
Frequenz abgetastet wird, z.B. 1 MHz. Was das dann für Daten sind und 
wie die zu interpretieren sind, ist den beiden egal und muss dann in der 
PC Software entsprechend ausgewertet werden.

Wenn die Aufgabe dann nur 100 kHz Signale beinhaltet, schickst Du einen 
Befehl an den FX2/CPLD und die Beiden schalten dann auf 100 kHz 
Abtastung um. Das führt dann zu einer geringeren Datenrate, was dem FX2 
aber ziemlich egal ist, da er bis zu 24 MBit/s kontinuierlich schafft.

von Mike (Gast)


Lesenswert?

tobalt schrieb:
> Ich habe 16 Logikeingänge (Schalter), die ich mit 100kHz bis 1Mhz
> ansprechen will.

Den Zustand von Logikeingänge kannst du einlesen, aber was willst du mit 
denen sprechen?
Für LabView kannst du dir eine NI PCIe-6363 in den Rechner stecken. Die 
schafft 32 Kanäle mit 10MHz.

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
Noch kein Account? Hier anmelden.