Forum: Mikrocontroller und Digitale Elektronik Zigbee Chip CC2420 - Hohe Datenrate


von Hans (Gast)


Lesenswert?

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?

von Jörg S. (Gast)


Lesenswert?

> 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.

von Hans (Gast)


Lesenswert?

Weiss jemand was die maximale Packetlänge von 802.15.4 ist?

von Jörg S. (Gast)


Lesenswert?

Ich glaube dieses Dokument beantwortet alle deine Fragen:
http://www.academypublisher.com/jnw/vol01/no01/jnw01012028.pdf

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Christian R. (supachris)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Hans (Gast)


Lesenswert?

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?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Christian R. (supachris)


Lesenswert?

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.

von Helmut (Gast)


Lesenswert?

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

von Michael (Gast)


Lesenswert?

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.

von Rolf (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.