Hallo alle zusammen, ich habe leider mal wieder eine Frage ;-) Da ich nicht weiß wonach ich da suchen soll!! Also ich Sende über eine IR-Diode ein gepulstes signal zum Beispiel "Lang Lang Kurz" dieses Signal wird dann über eine Fotodiode wirder aufgenommen. Nun würde ich gerne die beiden Signale Vergleichen um Festzustellen, ob auch alles angekommen ist. Wenn dieses der Fall ist möchte ich ein Positives Signal ausgeben. Um dann die Richtigen übertrasgungen zählen zu können. Natürlich könnte ich das ganze auch über den uC machen. Da die Signal in einer sehr schnellen abfolge kommen wurd emir dazu geraten das ganze Analog aufzubauen. Natürlich möxchte ich den uC nicht damit auch noch belasten ;-) Also über eine kurze Anregung wie ich das machen muss oder wonach ich suchen muss wäre bestens. Gruß Quark
Stefan S. schrieb: > sehr schnellen abfolge Wie schnell? Poste mal gewünschte Datenrate und Menge der Daten.
Stefan S. schrieb: > ein gepulstes signal zum Beispiel "Lang Lang Kurz" Das hat doch nichts mit einer PWM zu tun.... :-/ > Also ich Sende über eine IR-Diode ein gepulstes signal zum Beispiel > "Lang Lang Kurz" dieses Signal wird dann über eine Fotodiode wirder > aufgenommen. Ein (1) Signal also. > Nun würde ich gerne die beiden Signale Vergleichen um Festzustellen, ob > auch alles angekommen ist. Woher kommt jetzt das zweite? Von der Fotodiode? Warum willst du es dann vergleichen, wenn du sowieso schon das "Original" hast?
Hi, also die Daten Menge wird nicht ganz so viel sein ich will ja nur wissen ob das Signal ankommt oder nicht. Geplant sind immer 5er Pakete um sicher zu stellen das ich auch mein Signal aufnehme und nicht zufällig irgend welche anderen Signale. Ich will nur die Zeit zwischen den Impilens messen. Also es ist geplant einen Drehzahlmesser zu bauen. Meine Photo Diode hat Rise/Fall Time von jeweils 100ns Wie schnell ich dann genau messen muss wäre dann die Frage langsammer kann ich am ende immer noch werden aber erstmal das beste raus holen. Wenn ich mich nicht Irre wäre meine Foto Diode alle 200ns wieder bereit ein neue Signal aufzunehmen. Gruß Quark
@ lkmiller Hi, du hast recht das es nichts mit einer PWM zu tun hat. Also ich habe ja nur ein gepulstes Signal und nicht ein Moduliertes. Ich Sende mit meiner IR Diode Pakete und Schicke diese auf einen Reflektor von dort wird das Signal abgelenkt und kommt wieder zurück und wird von der Foto Diode wieder aufgenommen. Ich würde gerne nur dann ein OK Singnal ausgeben wenn das gesamte Paket angekommen ist. Daher möchte ich die Signale vorher vergleichen. Hoffe ich habe mich nun etwas verständlicher ausgedrückt ;-) Gruß Quark
Stefan S. schrieb: > Ich Sende mit meiner IR Diode Pakete und Schicke diese auf einen > Reflektor von dort wird das Signal abgelenkt und kommt wieder zurück und > wird von der Foto Diode wieder aufgenommen. Du hast also "nur" die Lichtlaufzeit (+irgendwelche Schltzeiten)? Dann kannst du das jeweilige Bit ja sofort nach der Ausgabe wieder einlesen und vergleichen...
Ob ich am Ende wirklich so schnell schalten kann das ist noch die Frage ;-) ABer an sich habe ich erstmal nur die Lichtlaufzeit. Ja natürlich könnte ich jedes Bit nach dem auslesen auch wieder vergleichen mein Plan ist es ja immer 5er Paket zu vergleichen um sicher zu gehen das es auch mein Signal ist das ich bekomme. Daher suche ich ja eine Möglichkeit die Paket zu vergleichen und wenn dann ein Paket richtig übergenben wurde möchte ich ein Impul an den uC übergeben. Dieser soll dann die Zeit zwischen den beiden Richtig impulens messen. Aus diesem Grund möchte ich ja das ganze so schnell wie möglich vergleichen damit so wenig Zeit bei den Paket verloren geht das man es vernachlässigen kann!!!
Stefan S. schrieb: > mein Plan ist es Ja, der fehlt hier noch... > ja immer 5er Paket zu vergleichen um sicher zu gehen > das es auch mein Signal ist das ich bekomme. 5er-Pakete sind im binären Umfeld unbeliebt... > Daher suche ich ja eine Möglichkeit die Paket zu vergleichen und wenn > dann ein Paket richtig übergenben wurde möchte ich ein Impul an den uC > übergeben. Wieso immer Pakete? Da mußt du ja immer zwischenspeichern. Und wenn du ein fehlerhaftes Bit erkennst, dann wird es nicht besser, wenn du danach noch weiter Bits übertragen willst. Wer gibt im uC die Pulse aus? Software oder Hardware (UART)? Wenn es Software ist, dann wäre das bei mir nur 1 Zeile mehr Code für den Test. Die Lichtlaufzeit wäre durch die Programmlaufzeit sicher kompensiert. Stefan S. schrieb: > Natürlich könnte ich das ganze auch über den uC machen. Da die Signal in > einer sehr schnellen abfolge kommen Zahlen, bitte. Was ist "sehr schnell"? > wurd emir dazu geraten das ganze Analog aufzubauen. Vom Emir? Wer kommt auf die Idee, ein digitales signal analog auszuwerten? Oder meinstest du diskret, also mit Logik-ICs...
Hi, leider bin ich noch nicht so firm in dem Thema wie ich gerne sein würde. Wie viele Bits mein Daten Paket am ende bekommt ist noch offen es sollte nur eins sein. Meine momentan eingeplante Fotodiode schaft es alle 200ns einen Wert aufzunehmen. Daher würd eich erstmal versuchen das signal so schnell wie möglich aufzunehmen. Langsamer kann ich am ende immer noch werden. Wie genau ich die Pusle erzeuge weiß ich noch nicht. Ich nutze das was am einfachsten ist. jetzt wo du es sagast meine ich natürlich Logik-ICs. Hätte ich unter dem begriff gesucht wäre meine suche wohl auch erfolgreicher verlaufen ;-) Sorry
Moin, mir scheint der einfachste Weg wäre es, den Pegel des Ausgehenden und des reflektierten Signals über eine XOR-Verknüpfung zu vergleichen (geht alles analog). Wenn du dann ein Signal sendest und es wird nichts reflektiert, dann erhältst Du ein Signal, welches Du mit dem Controller auswerten kannst. Du musst nur ein wenig auf die Signallaufzeiten aufpassen. Grüße Muetze
Stefan S. schrieb: > Meine momentan eingeplante Fotodiode schaft es alle 200ns einen Wert > aufzunehmen. Daher würd eich erstmal versuchen das signal so schnell wie > möglich aufzunehmen. Der Ansatz ist falsch. Richtig ist: so schnell wie nötig und so langsam wie möglich. Denn was machst du mit einem schnell erfassten Signal, wenn du es nicht genauso schnell weitergeben/verarbeiten kannst? > Langsamer kann ich am ende immer noch werden. Wenn alles läuft: schneller kannst du immer noch werden...
Muetze schrieb: > mir scheint der einfachste Weg wäre es, den Pegel des Ausgehenden und > des reflektierten Signals über eine XOR-Verknüpfung zu vergleichen (geht > alles analog). Stimmt, das empfangene Signal muss immer den gleichen Zustand haben, wie das Gesendete. Lediglich in der Schalt- und Laufzeit sind Unterschiede zu tolerieren. Das ueber XOR erzeugte Signal "UNGLEICH" sollte also mit einer Verzoegerung ausgewertet werden. citb
Natürlich hast du Recht das nicht immer der schnellste Weg der beste ist. Also wenn ich von 20000 impulsen max ausgehe, dann ware das alle 50us ein Impuls. Dann würd eich gerne damit ich nichts verpasse 100mal schneller sein also macht das dann alle 0,5us eine Messung. Hoffe das reicht dir nun als feste Zahl ;-) Wie würde ich denn dann ein ganzes Packet abfragen?? Kann ich die bausteine irgednwie verknüpfen?
Stefan S. schrieb: > Wie würde ich denn dann ein ganzes Packet abfragen?? Warum? Wenn ein einzelnes Bit kaputt ist, dann ist doch dein ganzes Paket kaputt, oder? Es wird nicht einfach sein, diskret ein ganzes (wie auch immer geartetes) Paket abzufragen, weil ja die Bitdauer unterschiedlich ist. Das macht deutlich mehr Aufwand als das simple diskrete bitweise XOR. > Kann ich die bausteine irgednwie verknüpfen? Dazu bräuchte man erst mal einen Schaltplan, von dem, was du jetzt schon hast. Dann könnte man was dazuzeichnen...
Moin, Wenn Du wie oben beschrieben das Ausgangs- und das reflektierte Signal miteinander vergleichst (Laufzeiten beachten), dann musst Du gar nicht messen. Verknüpfe den Ausgang der XOR-Verknüpfung mit einem Interrupt-Eingang. Wenn nun ein Unterschied zwischen dem Ausgangs- und reflektierten Signal entsteht, dann wird ein Interrupt ausgelöst und du kannst auf die Situation reagieren. So musst Du auch nicht ganze Pakete miteinander vergleichen. So lange alles korrekt läuft, wird kein Interrupt ausgelöst. Kommt ein Interrupt, dann kannst Du schauen, in welcher Datensequenz dies passiert und Du kannst Die Daten erneut senden. Grüße Muetze
Also wenn ich alles so richtig verstanden habe ist es am einfachsten die Signale einzeln zu überprüfen und nicht als ganzes Paket. Ich werde mir das nochmal überlegen und schauen, ob ich mich mit der Lösung zu frieden geben kann. Besten Dank schonmal!!!
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.