mes00
March 4, 2024, 2:14am
1
お世話になります。
XBee3についてご質問があります。
品番は、[XB3-24Z8CM-J]となります。
以下の条件の場合、XBee(親機、子機)のROレジスタは0にする方が良いのか、
他の値にした方が良いのか教えて頂きたいです。
・XBee3を1対1の透過モードで通信する。
・親機は[PC(C#アプリ)⇔XBee]、子機[MCU⇔XBee]。
・親機から1バイトコマンドで子機に対して無線通信し、
子機は、その都度コマンドの内容によって、
(1)32バイトor(2)140バイトor(3)1バイトのデータを無線で
親機に返す。
・親機から子機に対して送信するコマンドの間隔は
100msにしたい。(ポーリングで常時コマンドを時間周期
で子機に対して無線で送信する)。
よろしくお願いします。
1 Like
@mes00 様
毎度お世話になっております。
調査させていただきます。
何卒よろしくお願い申し上げます。
@mes00 様
XBee(親機、子機)のROレジスタは0にする方が良いのか、というご質問です。
ROが0の場合は、データをバッファせずにデータを直ちに送信します。
ROが他の値だとその分の時間だけ、データをバッファしてパケットで送信します。
そのため、複数の端末から1台の端末に同時にデータを送信しても、
データがまじりあうことはありません。
お客様の場合は、1対1で通信されますので、混信の心配はないので、「0」でよいと思いますが、
デフォルトは「3」となっています。数値を大きくして送信をできるだけ短時間にすれば、
トータルの時間も短くなり、雑音の影響も少なくなると思います。
ポーリングの設定は、別のコマンド(PO)で設定しますが、デフォルトで100msec です。
以上、データシートからの情報ですので、お客様の心配されている点をお教えいただければ、
詳細調査いたしますので、ご連絡をお願いします。
mes00
March 5, 2024, 6:05am
4
お世話になります。
ご回答の方、ありがとうございます。
大変分かりやすいご回答でした。
知りたい事は、大方理解でしましたので、一旦フォーラムをクローズします。
よろしくお願いします。
1 Like
@mes00 様
1.ROが0の場合は、データをバッファせずにデータを直ちに送信します。ROが他の値だとその分の時間だけ、データをバッファしてパケットで送信します。
2.ROが「0」以外だとデータがまじりあわない。
とご説明しましたが、説明が誤っていました。
1.ROはタイムアウトの設定なので、設定した時間内につぎのデータが来ないとタイムアウトとなり、その時点でバッファにたまったデータをパケット送信するいうことです。次々とデータが設定時間内に送られてきた場合は、それらのデータでバッファがいっぱいになると、1パケットで送信されます。したがって、必ずしもROの数値が大きいほど、1パケットのデータ数が大きくなるわけではありません。
ROが「0」の場合は、データが来るごと1文字ごとにパケット化して送信します。
ROが「3」の場合は、3文字分データが来なかった場合はタイムアウトとなり、その時点でバッファされているデータを送ります。
ROが大きいと、待ち時間が大きいため、データが入力される時間が多少遅れても、1パケットに入る確率が上がるために、より大きなデータを1パケットで送る可能性が高くなります。一度に大きなデータを送るとオーバーヘッドが少なくなりトータルの通信時間が短くなります。
2.ROが「0」でも1文字をパケット化して送りますので、電波状況が良ければ混信は起こりません。
したがって、データの送信状況や電波状況などからROの値は決めるべきかと考えます。
よろしくお願いいたします。
mes00
March 6, 2024, 11:42pm
6
ご返答、ありがとうございます。
お手数をおかけしますが、追加のご質問があります。
・ご回答の文章で、[一度に大きなデータを送るとオーバーヘッドが少なくなりトータルの通信時間が短くなります。]
とありますが、オーバーヘッドというのは何を意味するのでしょうか?
・ROレジスタの話とは違うご質問ですが、1対1の透過モードで通信する場合、親機、子機とも同じチャネル(CHレジスタ)の値にしないと、通信ができないのでしょうか?
よろしくお願いします。
1 Like
mes00
March 7, 2024, 2:38am
7
お世話になります。
お手数をおかけしますが、更に追加のご質問があります。
XBee3のFunctionが、[Digi XBee3 802.15.4]に設定した時、
CE(Device Role)レジスタの選択肢が、
[End Device[0]]、[Cordinatior[1]]かありません。
他のfunctuionであれば、Routerなどがあると思いますが、
[Digi XBee3 802.15.4]を設定したXBeeでは、1対1の通信の間に、
通信距離を延ばすような役割のRouterのXBeeは置けないのでしょうか?
また、1対1透過モード通信でもRouterの代替の様な通信距離を延ばすような方法は
あるのでしょうか?
ざっくりとしたご質問になり、申し訳ありませんが、
ご返答頂ければ幸いです。
よろしくお願いします。
1 Like
@mes00 様
オーバーヘッドというのは何を意味するのでしょうか?
通信する場合には、データ以外に宛先や誤り符号等の情報も送ります。
それら、データ以外に送る情報をオーバーヘッドといっています。
データ以外の情報は、1バイトでも、50バイトでも同じ状報量が必要です。
したがって多くのデータを一度に送るほうが、相対的にオーバーヘッドが小さくなことになります。
つまり、一度に多くのデータを送るほうが、
同じデータを送るのに通信時間(パケット送信時間)が短くなります。
1対1の透過モードで通信する場合、親機、子機とも同じチャネル(CHレジスタ)の値にしないと、通信ができないのでしょうか?
同じでないと通信できないと思います。
以上でご回答とさせていただきます。よろしくお願いします。
mes00
March 7, 2024, 5:59am
9
お世話になります。
ご回答の方、ありがとうございました。
[同じでないと通信できないと思います。]とありますが、
根拠のある資料などがあれば、お教え頂ければ幸いです。
よろしくお願いします。
1 Like
@mes00 様
ユーザマニュアルの96ページに 90001539.pdf (digi.com)
にいずれか一つのチャンネルを使用するとあります。
Operating channels
Zigbee uses direct-sequence spread spectrum modulation and operates on a fixed channel.
The 802.15.4 PHY defines 16 operating channels (channels 11 to 26) in the 2.4 GHz frequency band.
2.4GHz帯に、16個のチャンネル(周波数:2405MHzから5MHz刻みで全16チャンネル)があり、
そのいずれか一つのチャンネル(周波数)を使用します。
また、Router の件につきましては、ただいまメーカーに問合わせをしています。ただ、ユーザーガイドに以下の様な説明があります。(94ページ)
By default, the device operates as a router. To select coordinator operation, set CE to 1. To select end device operation, set SM to a non-zero value. To select router operation, both CE and SM must be 0.
デフォルトで、このデバイスはルータとして動作します。ルータ動作を選択するには、CE とSMをともに「0」にします。
この操作はされましたか。
取り急ぎ、中間報告をいたします。
mes00
March 7, 2024, 11:43pm
11
お世話になります。
ご回答の方、ありがとうございます。
Routerの件のメーカーへのお問い合わせも、ありがとうございます。
よろしくお願いします。
1 Like
@mes00 様
Routerを使用して距離を伸ばせないかと、メーカーに尋ねましたところ、以下の様な回答が参りました。
The IEEE 802.15.4 protocol is a Point to point, point to multi-point protocol running the MAC layers of the OSI model.
You would need to use the Zigbee or Digi Mesh versions of the firmware to have the ability of a router as these protocols operate in the Networking layers of the OSI model.
IEEE 802.15.4プロトコルは、OSIモデルのMAC層(データリンク)で動作するポイント・トゥ・ポイント、ポイント・トゥ・マルチポイントのプロトコルです。
OSIモデルのネットワーク層で動作するルーターの機能を持つには、ファームウェアのZigbeeまたはDigi Meshバージョンを使用する必要があります。
なお、前回お知らせしたユーザガイドは、XBee3のハードウエアにzigbeeのファームウエアを実装したもののユーザガイドでした。
Digi XBee® 3 802.15.4 RF Moduleのユーザガイドは、以下になります。
XBee3 802.15.4 RF Module User Guide (digi.com)
以上、ご報告します。