Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Moin, moin zusammen.
folgendes Problem stellt sich mir gerade:
Ich lese über eine DAQ-Card meinen kontinuierlichen Datenstrom (Bitfolge, Rechteckspannung 5V) ein und würde gerne einen Trigger auslösen (zunächst erstmal ne LED) wenn die gesuchte
Bitkombination im Datenstrom auftaucht. Also Trigger (LED an) bei z.B.: 11001010.
Wie kann ich am einfachsten vorgehen??
Müßte doch irgendwie über nen 8-BIT Schieberegister gehen, das ständig mit den aktuellen Daten eingelesen wird und im entscheidenden Augenblick reagiert.
' schrieb:Moin, moin zusammen.
folgendes Problem stellt sich mir gerade:
Ich lese über eine DAQ-Card meinen kontinuierlichen Datenstrom (Bitfolge, Rechteckspannung 5V) ein und würde gerne einen Trigger auslösen (zunächst erstmal ne LED) wenn die gesuchte
Bitkombination im Datenstrom auftaucht. Also Trigger (LED an) bei z.B.: 11001010.
Wie kann ich am einfachsten vorgehen??
Müßte doch irgendwie über nen 8-BIT Schieberegister gehen, das ständig mit den aktuellen Daten eingelesen wird und im entscheidenden Augenblick reagiert.
Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.
N.B.: "Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
' schrieb:Moin, moin zusammen.
folgendes Problem stellt sich mir gerade:
Ich lese über eine DAQ-Card meinen kontinuierlichen Datenstrom (Bitfolge, Rechteckspannung 5V) ein und würde gerne einen Trigger auslösen (zunächst erstmal ne LED) wenn die gesuchte
Bitkombination im Datenstrom auftaucht. Also Trigger (LED an) bei z.B.: 11001010.
Wie kann ich am einfachsten vorgehen??
Müßte doch irgendwie über nen 8-BIT Schieberegister gehen, das ständig mit den aktuellen Daten eingelesen wird und im entscheidenden Augenblick reagiert.
Grüße und hoffentlich Hilfe
Pathfinder
Hallo,
danke für den Tip, aber geht das nich einfacher? Ich wollte die Rechteckfolge mit der DAQ-Card in ein Schiebregister (8Bit) einlesen und wenn die Bitfolge passt, einen Trigger auslösen.
Ich weiss nur nicht, wie ich die Umsetzung des Schieberegisters anstellen soll mit dem Vergleich des Referenzmuster z.B. 10010101
Grüße
pathfinder
15.02.2007, 15:04 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2007 15:08 von Achim.)
an das Schieberegister kannst du doch ein Cluster of Boolean Array mit deinen acht Bit anschließen und dann das vergleichen, oder? Oder gleich das Array vergleichen:
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
' schrieb:wenn die gesuchte Bitkombination im Datenstrom auftaucht. Also Trigger (LED an) bei z.B.: 11001010.
Sehe ich das jetzt richtg: Die Bitfolge ist seriell, also zeitlich hintereinander? Zuerst eine 1 dann noch eine 1 dann eine 0 usw? Oder liegen da 8 Bit parallel an?
Wenn die Bits seriell anliegen, brauchst du aber ein Taktsignal, um feststellen zu können, ob ein Pagel am Eingang nun ein einzels Bit darstellt oder schon vier. (Im Prinzip ist das bei parallel natürlich genauso).
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
15.02.2007, 19:21 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2007 19:30 von Lucki.)
Selbstverständlich geht es genau so wie Du sagst, und zwar sowohl mit dem Shift-Register, wie es in der While-Schleife Anwendung findet, als auch mit den Funktionen zum Rotieren/Schieben. Warum machst Du es denn nicht so?
@IchSelbst: Das "Taktsignal" ist hier im Beispiel jeder neue Schleifendurchlauf.
Anzeige
15.02.2007, 19:41 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2007 19:43 von IchSelbst.)
' schrieb:@IchSelbst: Das "Taktsignal" ist hier im Beispiel jeder neue Schleifendurchlauf.
Prinzipiell ist das natürlich richtig.
Nur: Richtet sich das Raster des externen Signals auch nach der Dauer eines Schleifendurchlaufes? Was tun, wenn der Schleifendurchlauf zeitlich gesehen nicht konstant ist - respektive wie nachweisen, dass er nicht zu sehr wobbelt? Ich glaube, hier muss northcoast noch Information nachliefern.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' schrieb:Nur: Richtet sich das Raster des externen Signals auch nach der Dauer eines Schleifendurchlaufes? Was tun, wenn der Schleifendurchlauf zeitlich gesehen nicht konstant ist - respektive wie nachweisen, dass er nicht zu sehr wobbelt? Ich glaube, hier muss northcoast noch Information nachliefern.
Daß ein serieller Bitstream immer einen Mastertakt erfordert, der entweder auf einer extra Leitung daherkommt, oder der aus dem entsprechend codierten Bitstream selbst rekonstruiert wird, ist doch selbstverständlich. Und genau so selbstverständlich ist, daß die Abfrage der Bitfolge in diesem Takt zu erfolgen hat und nicht im Takte einer damit überhaupt nicht synchronisierten Wait - Schleife. Weiterhin: da "Northcoast". "Pathfinder" (oder wie heißt er sonst noch?) das nicht zum Thema der Frage gemacht hat, gehe ich davon aus, daß er das beherrscht und sehe keinen Anlass, hierüber einfach so aus freien Stücken eine Nebendiskussion loszutreten.
Ich denke, der Frager wird mich verstehen, daß ich mich nur auf die Frage selbst konzentriert habe und die Antwort in einfachstmöglicher, idealisierter Form gegeben habe. Er wird denke ich nicht versucht sein, Zufallsgenerator oder diese Whileschleife mit 10ms-Timer so ins wirkliche Leben zu übernehmen.