13.02.2007, 12:48
Beitrag #1
|
northcoast
LVF-Neueinsteiger
Beiträge: 4
Registriert seit: Jun 2006
7.00
2000
kA
Deutschland
|
Triggern auf Daten-Byte!
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
|
|
|
13.02.2007, 13:04
Beitrag #2
|
dc6xs
registered alien
Beiträge: 762
Registriert seit: Aug 2006
6.1,7.00
2006
kA
79106
Sonstige
|
Triggern auf Daten-Byte!
' 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
Wie wäre es mit dem Knuth-Morris-Pratt-Algorithmus?
Gruß, Rob
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
|
|
|
15.02.2007, 15:00
Beitrag #3
|
northcoast
LVF-Neueinsteiger
Beiträge: 4
Registriert seit: Jun 2006
7.00
2000
kA
Deutschland
|
Triggern auf Daten-Byte!
' 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.)
Beitrag #4
|
|
|
15.02.2007, 16:53
Beitrag #5
|
IchSelbst
LVF-Guru
Beiträge: 3.692
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Triggern auf Daten-Byte!
' 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.)
Beitrag #6
|
|
|
15.02.2007, 19:41
(Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2007 19:43 von IchSelbst.)
Beitrag #7
|
|
|
15.02.2007, 22:14
Beitrag #8
|
cb
LVF-SeniorMod
Beiträge: 1.731
Registriert seit: Feb 2006
2018SP1
2001
EN
40xxx
Deutschland
|
Triggern auf Daten-Byte!
' schrieb:Warum machst Du es denn nicht so?
[attachment=31640:Triggeren_auf_Byte.png]
also ich finde, das Beispiel mit dem "Rotate left" ist die Musterlösung ...
|
|
|
15.02.2007, 22:54
(Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2007 23:11 von Lucki.)
Beitrag #9
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Triggern auf Daten-Byte!
' 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.
|
|
|
| |