Hallo! Ich bin neu hier und möchte zunächst erst einmal ein großes Lob aussprechen, dieses Forum hat mir schon in vielen Fragen gute Antworten geliefert. Zu meinem Problem: Ich habe eine sehr zeitkritische Anwendung: Ein Sender sendet regelmäßig (alle paar Millisekunden) per Funk ein Synchronisationssignal an alle drei, oder vier Empfänger. Es müssen dabei keinerlei Daten übertragen werden, stattdessen sollen bei diesem Signal alle Signalpins der Empfänger den Pegel wechseln. (ob high->low oder low->high ist egal) Diese werden dann an den Mikrocontroller geleitet und dort weiter verarbeitet. Aber das spielt hier keine primäre Rolle. Zwischen den Empfängern darf es nur Abweichungen von maximal bis zu 5µs geben, also die Empfänger müssen fast zeitgleich schalten, und das immer. Auch im bezug auf das Sendesignal. (Dort natürlich mit reproduzierbarer Verzögerung, also abhängig von Entfernung usw.) Die Entfernung der Empfänger zum Sender beträgt maximal einen Meter, Frequenz und Modulation stelle ich mal frei. Über Kabel wäre das relativ einfach zu realisieren, auch über IR wäre das sicherlich machbar, nur über Funk? Hat einer von euch möglicherweise schon Erfahrung mit solch zeitkritischen Anwendungen, oder kann mir vllt. jemand geeignete Empfänger nennen oder möglicherweise eine Firma, die so etwas Anbietet? So wie ich gelesen habe ist selbstbau ja nicht zulässig und in Datenblätter wird so eine Information nicht geführt. Danke im Vorraus. Gruß
Schau doch mal bei www.telecontrolli.com, die haben eine Menge verschiedenster Module. Du kannst dort auch sicher eine solche Anfrage starten. Ich denke, dir werden dir gerne antworten. Vertrieb von Telecontrolli z.B. über www.rfsolutions.co.uk oder www.hyline.de
Danke für die schnelle Antwort. Werde mich an die Firma richten.
Sowas lässt sich beispielsweise mit dem CC2420 von TI machen. Der kann IEEE 802.15.4 und hat einen Start Frame Delimiter Ausgang. Der wechselt bei Sender und Empfänger nahezu gleichzeitig den Pegel, wenn ein Paket gesendet/empfangen wird. Damit lassen sich viele Empfänger gut synchronisieren. Kann man ja über Brodcast machen, dann sprechen alle gleichzeitig an. Ich nutze das, um ein Sensornetzwerk zu synchronisieren.
Danke, der CC2420 ist ja schon sehr mächtig... Ich werde ihn in meine Liste mit den möglichen Lösungen aufnehmen und dann nächste Woche genauer anschauen. Wie genau bekommst du die Synchrosisierung damit hin? Ich hatte als ersten Versuch einen XBee von digi und hatte da leider Unterschiede von bis zu 200µs. Deswegen wollte ich das ganze eher etwas Hardwarenäher entwickeln. Du hast doch sicher Versucht, zwei Module als Empfänger über Broadcast anzusprechen und hast dabei mit dem Oszi an den I/O-Signalpins gemessen, ob eine Verzögerung untereinander auftritt? Das wäre die große Frage, wie groß diese Verzögerung maximal ist. gruß EDIT: oder die Unterschiede an den Start-Frame-Delimiter Ausgängen
Nein, ich synchronisiere jeden Empfänger einzeln, und zwar lasse ich auf dem Master und den Slaves einen Timer mit einem 32kHz TCXO laufen. Der SFD hängt an einem Capture Interrupt. Die Synchronisierung besteht aus 2 Paketen, das erste ermittelt per Capture den Zählerstand von Sender und Empfänger, das 2. übermittelt diesen an den Slave, woraufhin der Slave seinen Timer korrigiert. Somit hab ich die Timer synchron laufen. Der SFD kommt auf max. 6µs Abweichung zwischen Sender und Empfänger. Durch den 32kHz Takt an den Timern kann ich nur auf 30µs synchronisieren, reicht aber in meiner Anwendung aus. Wenn´s noch genauer sein soll: NanoNET, mit bissl Protokoll schaffen die angeblich etwa 200ns Gleichlauf zwischen den Einheiten.
ok, das ist ein netter Ansatz, werde ich auch mal in Betracht ziehen. Allerdings sind die 30µs für meine Anwendung noch zu viel, wie im ersten Beitrag beschrieben benötige ich eine maximale Abweichung von allerhöchstens 5µs zwischen allen Empfänger.. Um so weniger, desto besser, da ich mit dem System die Laufzeit einer Ultraschallwelle von einem Punkt zu den jeweiligen umliegenden Sensoren und deren Controller bestimmen will. Und dabei zählt jede µSekunde. Ich weiß nicht, ob das so präzise über Funk überhaupt möglich ist, das werde ich nur durch Testen von verschiedener Hardware und Ideen herausfinden können. Schön wärs natürlich ;) Gruß
Die EnOcean Funktechnik war glaub ich noch schneller als IEEE 802.15.4 www.enocean.de
Du willst doch nicht etwa unserem Institut Konkurrenz machen? Sowas aber auch...tztz.
Können sich die Empfänger sehen? Wenn ja, könnte ein Blitzgerät die Lösung sein. Der Impuls ist kräftig und sehr steilflankig. Und die Gleichheit ist auch gegeben, Stichwort Lichtgeschwindigkeit. Da ist 300m = 1µs. Statt Blitzröhre wären auch IR-Leds eine Idee, die können mit MHz blinken. Einige IR-Kopfhörer arbeiten mit Trägerfrequenzen im 2.5MHz-Bereich. Gruß Jadeclaw
@supachris: nein, das würd ich doch nie tun wollen ;) @jadeclaw: die Empfänger haben zwar Sichtkontakt, aber mein großes Ziel ist es, genau so eine Abhängigkeit zu vermeiden. Mit IR hatte ich das auch schon getestet und es wäre auch realisierbar, aber wie gesagt, das ganze soll auch ohne Sichtkontakt und ohne bestimmte Ausrichtung untereinander funktionieren können. gruß
Na guuuut. :) Wir wollen das demnächst mit NanoNET probieren, mal sehen, ob die < 1µs schaffen. Dann kann man wirklich orten.
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.