Wie lange sollte ein Packet sein (ohne Overhead, nur Daten) um eine möglichst hohe Datenrate zu erreichen? Wie schnell bin ich maximal wenn ich immer 1 Byte aufs mal sende?
> Wie lange sollte ein Packet sein (ohne Overhead, nur Daten) um eine > möglichst hohe Datenrate zu erreichen? Na am besten so lang wie es geht. > Wie schnell bin ich maximal wenn ich immer 1 Byte aufs mal sende? EXTREM langsam. Der Overhead für 1 Byte senden dürfte wohl gigantisch sein. Wenn man überhaupt nur 1Byte senden darf. Evt. gibt es ein minimum.
Ich glaube dieses Dokument beantwortet alle deine Fragen: http://www.academypublisher.com/jnw/vol01/no01/jnw01012028.pdf
Hans wrote:
> Weiss jemand was die maximale Packetlänge von 802.15.4 ist?
127 Octets. Das schließt aber den MAC-Header mit ein. Ein
gewöhnlicher (*) Datenrahmen hat folgenden Overhead:
2 octets FCF
1 octet sequence number
4 octets destination address
2 octets source address
2 octets FCS (CRC-16)
--------
11 octets
Damit blieben maximal 116 Octets für die Payload (falls kein
Netzwerkprotokoll weiteren Overhead erzeugt)
(*) 16-Bit-Adressierung für Quelle und Ziel, Quelle und Ziel haben
gleiche PanID, sodass das PanID compression-Bit (früher IntraPAN-Bit
genannt) gesetzt werden kann und die source PanID weggelassen wird.
So ist es. Maximal 116 Bytes Nutzdaten pro Frame. Dann musst du das ACK abwarten, erst dann kannst du einen neuen Frame senden. 1 Byte zu transportieren ist sinnlos. Da kommst du auf vielleicht 100 Byte/s Nutzdatenrate. Ich habe eine Applikation, da fülle ich die Frames mit sovielen Bytes wie möglich, verschicke die, warte auf Ack, dann schickt der Master die Anforderung für das nächste Messdatenpaket usw. Das ganze mit MSP430 auf beiden Seiten, am Master hängt ein FTDI 232R, der die Sachen in den PC an eine MFC-Anwendung schickt. Diese Kommunikation läuft mit 460.800 Baud. Das Anfordern des nächsten Datensatzes macht der MSP430 auf dem Master. Die beschriebene Konstellation schafft je nach nötigen Retransmits im Optimalfall etwa 12 kByte/s Datendurchsatz. Viel mehr ist bei ordentlicher Fehlerbehandlung nicht rauszuholen.
Wenn man eine Netzwerkschicht hat und routen muss, sinkt die Datenrate eher noch auf 3...4 KiB/s. Wenn man Störer hat, sodass der Kanal laufend belegt ist (je nach CCA-Methode) kann das noch weiter auf die Datenrate gehen. 802.15.4 ist wirklich nicht für hohe Datenraten getrimmt worden, sondern eher für geringen Energieverbrauch.
Bezieht sich die maximale Datenrate im Datenblatt des CC2420 (250kbit/s) denn auf hin und rückkanal? Also Brutto 125kbit/s hin und nochmals für zurück? Welches Multi-Zugriffverfahren verwendet eigentlich 802.15.4? Und welche Modulation?
Hans wrote: > Bezieht sich die maximale Datenrate im Datenblatt des CC2420 (250kbit/s) > denn auf hin und rückkanal? Hin- und Rückkanal? Das ist alles einkanalig. Die 250 kbit/s sind die reine Bruttodatenrate, also die Bitrate, während ein Rahmen übertragen wird. > Welches Multi-Zugriffverfahren verwendet eigentlich 802.15.4? CSMA-CA (... collision avoidance), wobei der carrier sense über ein sogenanntes CCA (clear channel assessment) erfolgt, bei dem man zwischen Auswertung der Energie auf dem Kanal, Auswertung der Modulation auf dem Kanal, oder einer Kombination aus beiden arbeiten kann. > Und welche > Modulation? Auf 2,4 GHz O-QPSK. Kannste alles im Standard bei der IEEE nachlesen.
Hin- und Rückkanal....? Der sendet immer mit 250kBit/s brutto und empfängt mit 250kBit/s Brutto. Aber nur halb-duplex, wenn man so will. Der TX/RX Switch kann nur in einer Stellung gleichzeitig stehn. Du solltest dich schon mal noch bissl mit den Grundlagen beschäftigten. Was genau willst du denn machen? Eine simple UART-Brücke? Da tun´s einfache Module für 433 oder 868 Mhz. Jedes sinnvolle RF-Übertragungsprotokoll ist paketorientiert, da macht es keinen Sinn, immer nur 1 Byte zu übertragen.
Es kommt darauf an was machen möchte. Wir übertragen 3 Byte Nutzdaten und haben diese innerhalb von 5 ms auf der anderen Seite. Das reicht uns für die Applikation. Basis ist der CC2420 und der MAC-Layer
Wie wärs mit einem "Go Back N" oder "Selective Repeat" Protokoll...im Gegensatz zu Stop-and-Wait wird ein deutlich größerer Durchsatz ermöglicht. Oder Pickybacking bei bidirektionaler Kommunikation Wird aber wohl komplexer bei der Implementierung... Gruß Michi.
Jörg Wunsch wrote: > Weiss jemand was die maximale Packetlänge von 802.15.4 ist? >127 Octets. Das schließt aber den MAC-Header mit ein. Ein >gewöhnlicher (*) Datenrahmen hat folgenden Overhead: >2 octets FCF >1 octet sequence number >4 octets destination address >2 octets source address >2 octets FCS (CRC-16) >-------- >11 octets >Damit blieben maximal 116 Octets für die Payload (falls kein >Netzwerkprotokoll weiteren Overhead erzeugt) Wieso hast du 4 Byte für die Zeiladresse und nur 2 Byte Quelladresse genommen? Du hast doch auch vermerkt,dass 16-Bit Quell-und Zieladressierung verwendet wird,also 2*2Byte oder?
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.