PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aufklärung in "Datenübertragung"



WhiteWidow
05.06.2005, 13:10
Hallo!

Ich möchte gerne aufgeklärt werden.
Hoffentlich kann mir hier jemand helfen / Tips geben:

Denke ich so richtig?

Nehmen wir ein Funkmodul mit beispielsweise 10 Kanälen (bidirektional).
Nennen wir nun das eine Modul den Sender, und das andere Modul den Empfänger (ich weiß, beide können senden/empfangen).

Nun möchte ich einen bestimmten Status (0/1) jede Sekunde übertragen (Batterie nicht leer/Batterie leer).

Gleichzeitig möchte ich Koordinationsbefehle übermitteln (VOR/RÜCK).

Muss ich jetzt für den Status einen Kanal, und für die anderen Befehle einen 2. Kanal verwenden?

Weil wenn in Kanal-1 jede Sekunde mehrere Daten (unter Anderem Batterie leer/nicht leer) übertragen werden, kommt es zusammen mit den Koordinationsbefehlen zu einem "Datenstau" :O ?

Stimmt das so?

Also muss ich nach dem Prinzip arbeiten, oder?:

Kanal-1: Datenkanal für Statusbefehle
Hier werden mehrere Bytes übertragen, jeder Byte hat Informationen über einen bestimmten Status

Kanal-2: Datenkanal für Koordinationsbefehle
Hier werden einige Bytes übertragen, die Bytes haben Informationen über die Richtungen VOR/RÜCK

Kanal-3: Datenkanal für Koordinationsbefehle
Hier werden die Bytes für die Richtungen LINKS/RECHTS übertragen

Warum 2 Kanäle für die Koord.-Befehle?
Wenn ich "VOR" + "LINKS" -gleichzeitig- drücke, dann kommen die Daten ungeordnet / zu schnell / gleichzeitig.


Denke ich so richtig?

Vitis
06.06.2005, 13:43
Naja, ich würds nicht ganz so machen.

Ich würd einen Kanal belegen und ne Art Ping - Pong System verwenden.

Sender 1 sendet Füllstand, Empfänger 2 empfängt, verarbeitet,

Sender 2 gibt Richtungsanweisung, Empfänger 1 verarbeitet.

Simultan wird das glaub ich nicht besonders effektiv sein.

Wenn der Tankstatus nur alle Sekunde übermittelt werden soll

kannste ja dazwischen Dummys senden

WhiteWidow
06.06.2005, 16:05
Aber was ist, wenn Sender1 gerade den Füllstand sendet, und ich gleichzeitig mit Sender2 einen Richtungsbefehl sende?

Dann wird der Richtungsbefehl nicht verarbeitet.

Kann ich es so mit Kanälen machen? Würde das funktionieren?

Anduze
06.06.2005, 17:07
Also ich würd das senden/empfangen auch zeitlich trennen. Also so, dass immer nur einer sendet und der andere empfängt. ABer natürlich ist das ganz davon abhängig, welche Hardware du benutzt und inwieweit die damit klar kommt. Wenn beide gleichzeitig können, ist das natürlich geil.
Aber ich denk mal die Funkmodule können jeweils immer nur eines von beiden, oder? Dann mach einen zum Master und lass den das managen. Also der soll sagen: jetzt sende ich und du bleibst ruhig, bzw. jetzt warte ich auf deine Infos. Das sollte natürlich so schnell ablaufen, dass das die Lenkbarkeit nicht wesentlich beeinflusst.

Vitis
06.06.2005, 17:20
Auch der Controller kann ja nicht beides gleichzeitig, n kleinen zeitlichen
Versatz bekommtse eh rein. Ich würds so machen, dass das Modell
als Slave arbeitet, das im Prinzip nur auf empfangen ist, es sei denn das
z.B. 30ms kein Befehl kommt, dann kanns seinen Füllstand senden, der
Master gibt dafür vorab ne Aufforderungssequenz.

u.U. ist dann halt das Modell 20 ms führerlos, klar