Hallo, wie ich in einem anderen Thread schon geschrieben habe, muss ich mit einem CC1110 zwei verschiedene Frequenzen überwachen und die gesendeten Pakete weiter verarbeiten können. Jetzt stellt sich mir die Frage, wie ich das am besten mache. Auf der 1. Frequenz werden Pakete mit relativ langer Präamble gesendet. Bei der eingestellten Datenübertragungsrate würde das Senden der Präamble mindestens 17,578 ms dauern. Die minimale Präamble der Pakete auf der 2. Frequenz ist um einiges kürzer und das senden dauert bei minimaler Präamble ca. 0,48 ms. Die Sendezeit eines Pakets auf der 1. Frequenz mit maximal Paketlänge und minmaler Prä- und Postamble dauert 154 ms, die Sendezeit auf der 2. Frequnz ist 34,1 ms. Im Moment habe ich einen Timer und wechsle alle 15 ms die Frequenz, wenn auf der momentanen Frequenz gerade nicht gesendet wird. Damit bekomme ich auch einen Großteil der Pakete mit der langen Präamle, aber die mit kurzer Präamble gehen zum großen Teil verloren. Hat vielleicht jemand eine Idee, wie ich das optimieren könnte? Bei bedarf kann ich auch einen Teil meines Codes hochladen.
Daurnd auf der Frequenz mit den kurzen übertragungen lauschen und per Timer immer kurz auf die andere Frequenz wechseln, wenn du vermutest (also ausrechnen in welchen intervallen abgefragt werden muss um möglichst alles mitzubekommen) dass dort etwas zu empfangen ist. Wichtig ist: du hat nix über duty cycle gesagt, also wie oft gesendet wird auf den einzelnen Kanälen?
Also im Moment wird wird jeweils etwa einmal pro sekunde gesendet, aber das kann auch anders sein. Im Moment wechsle ich alle 15 Millisekunden auf die andere Frequenz und wenn da nichts gesendet wird, wechsle ich sofort auf die Frequenz mit der kürzeren Übertragungszeit zurück. Irgendwas scheint aber Probleme zu machen, weil mir die Pakete mit kürzerer Übertragungszeit sogar verloren gehen, wenn ich nur auf dieser Frequenz sende.
Gehen verloren... was soll das ? Du wirst natuerlich auf beiden Frequenzen gleichzeitig empfangen. Dann solltest du mal mit dem Scope nachschauen was denn dort aus dem Empfaenger rauskommt. Wie kommt das Signal denn aus'm Empfaenger raus ? Analog ?
Ich versteh gerade ehrlich gesagt nicht was du meinst. Ich muss ja zwischen den beiden Frequenzen umschalten und empfange immer nur Pakete von der Frequenz die gerade eingestellt ist.
Es gibt neue Erkenntnisse zu meinem Problem und dazu auch gleich wieder Fragen. ;) Zuerst hatte ich den Timer falsch konfiguriert, jetzt wo er stimmt und wirklich nur alle 15 ms die Frequenz gewechselt wird funktioniert es schon besser. Jetzt ist mir aufgefallen, dass die kürzere Präamble ja nur 0,48 ms lang ist. Wenn ich jetzt auf die andere Frequenz wechsle und feststelle, dass nichts empfangen wird und dann wieder zurück wechseln muss kann es gut sein, dass ich die kurze Präamble und dann auch das Sync Wort verpasst habe. Wenn das so ist, wird das Packet von mir nicht weiter beachtet und geht damit quasi verloren. Jetzt stellt sich mir die Frage, ob sich die Sache vielleicht doch noch optimieren lässt, weil ich so wie es im Moment ist mehr als die hälfte der Packete "verliere". Außerdem möchte ich gerne noch eine "Vorhersage Treffen", wie viele Packete vorraussichtlich verloren gehen. Hat da vielleicht jemand einen Ansatz für mich, wie man das macht?
>Ich muss ja zwischen den beiden Frequenzen umschalten und empfange immer >nur
Pakete von der Frequenz die gerade eingestellt ist.
Ja wenn der Empfaenger auf der falschen Frequenz ist, kommt dort nichts.
Wie merkt der empfaenger, dass er auf der falschen Frequenz ist ?
Eben. Nur soch aus Gruenden dder synchronisation muss der Empfaenger auf
beiden frequenzen gleichzeitig empfangen.
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.