Forum: HF, Funk und Felder ZigBee Empfang/Problem


von Tim R. (roddi)


Lesenswert?

Hallo,

ich hab die Frage zwar schon mal als Antwort auf einen anderen Thread im 
Hausbus-Forum gestellt, aber ich denke einfach das es hier eher 
hingehört und ich vllt auf eine Antwort hoffen kann.
Tut mir leid,wenn ich durch den "Doppelpost" irgendwelche Forumsregeln 
missachten sollte...dann lösch ich den andern Beitrag.

Ich kopier meine Frage einfach mal hier rein:

"Hi,

also ich wollte das ganze auch noch mal aufwärmen.
Und zwar hab ich eine ähnliche Situation,aber ich muss zugeben dass ich
in Sachen ZigBee-Module doch noch recht grün bin ;-)

Ich habe zwei AVR's mit jeweils einem ZigBee-Modul von Amber Wireless.
Nun wollte ich Messdaten von a nach b übertragen,unidirektional,also
nichts großartiges.
Nach längerem hin und her steht die Strecke auch und er schickt eifrig
Werte, nur gibt es manchmal so Aussetzer von 1-2 secs wo nichts kommt
und dann gehts wieder weiter.
Hat da jmd ne Idee woran das liegt? Ist das einfach nur weil er mit dem
Senden bzw. Empfangen nicht hinterherkommt oder etwas ganz anderes?
Meine reinen Messdaten sind pro Paket 6 Byte, wieviel Pakete sind
realistisch pro Sekunde?

Wär klasse wenn mir da einer weiterhelfen könnte!

Gruß"

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


Lesenswert?

Tim R. schrieb:

> Tut mir leid,wenn ich durch den "Doppelpost" irgendwelche Forumsregeln
> missachten sollte...dann lösch ich den andern Beitrag.

Da du damit außerdem einen uralten Thread aufgewärmt hast, ohne
dort etwas zum originalen Thema beizutragen, habe ich das mal
gelöscht.

> Werte, nur gibt es manchmal so Aussetzer von 1-2 secs wo nichts kommt
> und dann gehts wieder weiter.
> Hat da jmd ne Idee woran das liegt?

Da wirst du wohl Ember mal fragen müssen...  Vielleicht ist einfach
auch nur der "Kanal voll" (also nicht durch dich, sondern durch
anderweitige Aussendungen)?

> Meine reinen Messdaten sind pro Paket 6 Byte, wieviel Pakete sind
> realistisch pro Sekunde?

Dazu kommen noch (vermutlich) 9 Octets für den MAC header, 2 Octets
für den MAC footer (aka. CRC-16) sowie 5 Octets für Präambel und
PHY header, macht 22 Octets oder 44 Symbole je 16 µs.  Das sind 0,7
ms reine Übertragungszeit.  Das vorangesetzte "clear channel
assesment" (CCA) benötigt 128 µs zum Messen des (hoffentlich freien ;)
Kanals sowie ein random backoff von im Mittel ca. 1 ms.  Macht summa
summarum etwa 2 ms für eine Übertragung, du könntest davon also so
um die 50 Stück pro Sekunde unterbringen.

Effektiver wärest du, wenn du deine Nutzlast vergrößerst, also ein
paar Messungen ansammelst und dann absetzt.

von Tim R. (roddi)


Lesenswert?

Erst einmal vielen Dank Jörg!

Jörg Wunsch schrieb:

> Da du damit außerdem einen uralten Thread aufgewärmt hast, ohne
> dort etwas zum originalen Thema beizutragen, habe ich das mal
> gelöscht.
Ja,mir ist leider erst danach aufgefallen,dass da ja das Jahr 2008 
angegeben war. Ich hatte nur 13.08 gelesen ;-)
Ich gelobe Besserung.

> Da wirst du wohl Ember mal fragen müssen...  Vielleicht ist einfach
> auch nur der "Kanal voll" (also nicht durch dich, sondern durch
> anderweitige Aussendungen)?
Ok,erst probier ich mal den Kanal zu wechseln und dann, falls das wenig 
erfolgreich ist, kontaktier ich mal Amber.
Gibts einen bestimmten Kanal der von z.B. WLan eher gemieden wird?

> Dazu kommen noch (vermutlich) 9 Octets für den MAC header, 2 Octets
> für den MAC footer (aka. CRC-16) sowie 5 Octets für Präambel und
> PHY header, macht 22 Octets oder 44 Symbole je 16 µs.  Das sind 0,7
> ms reine Übertragungszeit.  Das vorangesetzte "clear channel
> assesment" (CCA) benötigt 128 µs zum Messen des (hoffentlich freien ;)
> Kanals sowie ein random backoff von im Mittel ca. 1 ms.  Macht summa
> summarum etwa 2 ms für eine Übertragung, du könntest davon also so
> um die 50 Stück pro Sekunde unterbringen.
Ehm, da muss ich nochmal nachfragen...gibts da noch einen Overhead den 
du grad nicht erwähnt hast oder meintest du um die 500 Stck/sec ?

> Effektiver wärest du, wenn du deine Nutzlast vergrößerst, also ein
> paar Messungen ansammelst und dann absetzt.
Ja genau, ich hatte vor die 84 Byte die mir laut API als Nutzdaten zur 
Verfügung stehen mit 14 "Nachrichten" komplett auszunutzen.

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


Lesenswert?

Tim R. schrieb:

> Gibts einen bestimmten Kanal der von z.B. WLan eher gemieden wird?

Gugel mal nach »rf4ce channels«.  Ich weiß nicht, ob das in Europa
auch zutrifft, aber RF4CE benutzt die Kanäle 15, 20 und 25.

> Ehm, da muss ich nochmal nachfragen...gibts da noch einen Overhead den
> du grad nicht erwähnt hast oder meintest du um die 500 Stck/sec ?

So direkt nach der Mittagspause war Kopfrechnen noch nie meine
Stärke. ;-)

>> Effektiver wärest du, wenn du deine Nutzlast vergrößerst, also ein
>> paar Messungen ansammelst und dann absetzt.

> Ja genau, ich hatte vor die 84 Byte die mir laut API als Nutzdaten zur
> Verfügung stehen mit 14 "Nachrichten" komplett auszunutzen.

84 Byte nur?  Dann scheint deren Overhead noch höher zu sein.  Der
gesamte Rahmen kann ja maximal 127 Octets lang werden, du darfst also
von 43 Octets Overhead (+ Präambel und PHY header) ausgehen statt
meiner angenommenen 11.  Möglicherweise ist da ja noch ein kompletter
Zigbee-Stack drüber (also NWK und APP brauchen auch noch Platz).  Das
wären dann 1,6 ms (statt 0,7), oder maximal so 300...400 davon pro
Sekunde.

von Tim R. (roddi)


Lesenswert?

Jörg Wunsch schrieb:

> Gugel mal nach »rf4ce channels«.  Ich weiß nicht, ob das in Europa
> auch zutrifft, aber RF4CE benutzt die Kanäle 15, 20 und 25.
Ok,werd ich gleich mal machen. Ich hab grad mal in der Doku nachgeschaut 
und ich kann auch nur für die Kanäle eine 4 Byte-Bitmaske setzen aus 
denen er den für sich günstigsten Kanal raussucht. Ist da ein Haken an 
der Sache wenn ich mal die Maske komplett mit 1en fülle?Dann müsste er 
sich doch immer den besten aussuchen,oder?

> So direkt nach der Mittagspause war Kopfrechnen noch nie meine
> Stärke. ;-)
Ach ,das macht garnichts...Ich hab nur grad an mir selbst gezweifelt ;-)

> 84 Byte nur?  Dann scheint deren Overhead noch höher zu sein.  Der
> gesamte Rahmen kann ja maximal 127 Octets lang werden, du darfst also
> von 43 Octets Overhead (+ Präambel und PHY header) ausgehen statt
> meiner angenommenen 11.  Möglicherweise ist da ja noch ein kompletter
> Zigbee-Stack drüber (also NWK und APP brauchen auch noch Platz).  Das
> wären dann 1,6 ms (statt 0,7), oder maximal so 300...400 davon pro
> Sekunde.
Ja,das mit den 84 Byte kommt drauf an welche API man benutzt(also auf 
dem Modul wird ein TI CC2480 benutzt). Bei der SimpleApi sind es eben 
diese 84 Byte. Bei der anderen die laut Datenblatt die komplette 
Funktionalität des ZigBee-Stack bietet sind es 128 Byte reine Nutzdaten. 
Wobei ich das nicht ganz versteh wenn du ja sagst,dass der komplette 
Frame nur 127 lang ist?!
Ich dachte bisher das ZigBee das nicht splitten kann?!

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


Lesenswert?

Tim R. schrieb:
> Ist da ein Haken an
> der Sache wenn ich mal die Maske komplett mit 1en fülle? Dann müsste er
> sich doch immer den besten aussuchen,oder?

Vorausgesetzt, dass die Kanalbelegung über die Zeit gleichmäßig ist.

> Wobei ich das nicht ganz versteh wenn du ja sagst,dass der komplette
> Frame nur 127 lang ist?!
> Ich dachte bisher das ZigBee das nicht splitten kann?!

Da bin ich mir nicht sicher, so sattelfest bin ich mit Zigbee selbst
nicht, ich kenne die PHY- und MAC-Schicht besser.

von Tim R. (roddi)


Lesenswert?

> Vorausgesetzt, dass die Kanalbelegung über die Zeit gleichmäßig ist.
Ok klar,zumindest mal zu dem Zeitpunkt in dem die Kanäle gescannt 
werden.

> Da bin ich mir nicht sicher, so sattelfest bin ich mit Zigbee selbst
> nicht, ich kenne die PHY- und MAC-Schicht besser.
Das ist das Problem,ich komm eigentlich auch aus einer ganz anderen Ecke 
und benutz die Module auch nur als Mittel zum Zweck...und die sind 
irgendwie vom Himmel gefallen, keine Ahnung wo die herkamen. ;-)

Aber schon mal Danke für deine Hilfe...wenn du noch weitere Ideen 
hast,immer her damit :-)
Ansonsten hab ich die Leute von AmberWireless mal eben per Email 
kontaktiert und bin mal gespannt ob sich da was tut.

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.