LabVIEWForum.de
Schieberegister adressieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Schieberegister adressieren (/Thread-Schieberegister-adressieren)



Schieberegister adressieren - ekiam - 04.04.2012 16:05

Hallo Zusammen,

ich beschäftige mich momentan zum ersten Mal mit Labview und habe gerade so gar keine Idee, wie ich meine Aufgabenstellung lösen könnte.

Und zwar möchte ich ein Schieberegister über eine NI Karte adressieren. Der Sinn dahinter ist der, dass ich die 59 Elektroden eines Multielektrodenarrays unabhängig voneinander mit einem Analogsignal beaufschlagen möchte, meine Karte aber nur zwei analoge und 24 digitale Ausgänge hat.

Ich habe mir nun damit beholfen, dass ich die analogen Kanäle vervielfältige und über analoge Schalter zu- oder abschalten kann. Die Adressierung dieser Schalter möchte ich über hintereinander geschaltete Schieberegister vornehmen.

Heißt, ich habe unter anderem zwei digitale Ausgänge die abwechselnd zum Tragen kommen. Der Erste legt den Wert (0/1) an, der Zweite lädt den entsprechenden Wert in das Schieberegister.

Vom Programm her habe ich mir das so vorgestellt, dass ich 59 Schalter habe, über die ich festlegen kann, welche Elektroden stimuliert, also welche Adresse auf 1 geschaltet werden soll. Diese Auswahl sollte mit einem weiteren Button gespeichert und mit einem dritten ausgegeben werden können. Die Ausgabe müsste dann so aussehen:
DO1: Elektrode 1: 0V bzw. 5V (Wertvorgabe)
DO2: 5V (in das SR laden)
DO1: Elektrode 2: 0V bzw. 5V
DO2: 5V
DO1: Elektrode 3: 0V bzw. 5V
DO2: 5V
usw...

Mir ist jetzt nicht ganz klar, wie ich den Ausgang dazu bringen kann entsprechend der Elektrodenvorgabe zu blinken. Ich kann ja nicht einfach eine Funktion schreiben oder einen Puls anlegen...

Ist das irgendwie umsetzbar? Vielleicht mit einer Schleife? Hätte vielleicht jemand eine Idee für mich, dass ich nicht ganz so im Dunkeln stochern muss? Das wäre wirklich klasse!

Ekiam


RE: Schieberegister adressieren - GerdW - 04.04.2012 16:11

Hallo ekiam,

Fragen tauchen auf...
- Wie wird dein "Schieberegister" adressiert? Für 59 Schalter brauchst du 6bit breite Adressen, willst aber nur 1Bit darauf verwenden? Kannst du deine Hardware genauer beschreiben? Irgendwelche Kommunikationsprotokolle?
- Bitte mache klar, dass du nicht von Schieberegistern im LabVIEW-Sinne redest, sondern von externer Hardware...


RE: Schieberegister adressieren - ekiam - 04.04.2012 16:26

Sorry, ja, ich meinte ein externes Schieberegister.

Das Schieberegister hat einen "Adressierungseingang", das heißt wenn ich an diesen SER Eingang einen Pegel (0V / 5V) lege und dann den SCK Eingang des Schieberegisters mit 5V beaufschlage, lädt dieser den am SER Eingang anliegenden Pegel in das Register. Betätige ich wieder den SCK Eingang, so werden die Werte des Registers eins weiter geschoben und der neue Pegel an die erste Stelle gesetzt. So kann ich pro Schieberegister sieben Stellen mit meinen Pegeln besetzen.

Schalte ich mehrere Schieberegister hintereinander komme ich auf meine 59 Ausgänge. Diese verbinde ich mit den On/Off Eingängen meiner analogen Schalter. Wenn ich nun meinem Schieberegister die entsprechenden 59 Zustände eingepflegt habe, kann ich diese mit einem weiteren Ausgang nach außen geben.

Das ist vielleicht keine besonders elegante Lösung, aber eine andere Möglichkeit mit 24 DOs die 59 Elektroden so zu adressieren, dass ich bei Bedarf auch alle gleichzeitig stimulieren kann, ist mir nicht eingefallen...

Ekiam


RE: Schieberegister adressieren - GerdW - 04.04.2012 21:17

Hallo ekiam,

um 59 "Adressen" zu adressieren, benötigst du 6 Adressleitungen. Dazu noch ein paar Handshake/Steuerleitungen, sodass du mit <10 DO alle "Adressen" beschreiben könntest. Du musst dann nur andere HW verwenden (MUX/DeMUX-ICs?)...

Deine Lösung mit den Schieberegistern geht natürlich auch. Ich stelle es mir nur etwas zeitaufwendig vor, den 59. Kanal neu zu setzen, wenn ich dafür Werte für alle anderen Kanäle davor auch durch die ganze Kette schieben muss...


RE: Schieberegister adressieren - ekiam - 04.04.2012 21:53

Hallo Gerd,

als Hardware analoge DEMUXe zu nehmen war meine erste Idee. Allerdings habe ich hier das Problem, dass ich nur jeweils einen Ausgang durchschalten kann - nicht alle gleichzeitig und schon gar nicht eine Auswahl an Ausgängen. Das haut ja alleine von der Adressierung nicht hin.

Was meinst Du mit Handshake/Steuerleitungen? Vielleicht ist das eine Möglichkeit auf die ich noch nicht gekommen bin...

Die Lösung mit den Schieberegistern ist wie gesagt nicht sehr elegant. Aber sollte die Schaltzeit zu groß sein -was ich noch nicht getestet habe- werde ich die Schieberegister einzeln adressieren, so dass ich nur jeweils sieben Adressen durchschieben muss.

Aber falls Du eine bessere Idee hast nehme ich die natürlich gerne auf!