ページへ戻る

− Links

 印刷 

BTX025 ZIG-100B のバックアップソース(No.12) :: Besttechnology

knowledge:BTX025 ZIG-100B のバックアップソース(No.12)

« Prev[4]  Next »[5]
TITLE:BTX025 ZIG-100Bマニュアル
#norelated
#contents
[[ショップページへ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=30]]

**概要 [#za9574c5]
本製品は2.4GHz帯の周波数を利用した無線モジュールです。接続時の相手の識別にはモジュールに予め備わっているユニークなアドレスを使用し、接続するモードは3種(Peer-to-Peer・Waiting・Broadcast)類持っていますので装置の目的に応じて選択ができます。~
~
ZIG-100Bは次図のように既存のTTLレベルの有線シリアル通信を無線化することが可能です。
#ref(ZIG-100B.png,100%)
本モジュールに関しては高速で遅滞のない通信を実現できる事を前提としているため、省電力を前提とした動作は行っていません。よってバッテリ駆動で数ヶ月といったアプリケーションには向きませんのでご注意下さい。

**基本仕様 [#i0347109]
|商品番号 |BTX025 |
|最大スループット |250kbps(理論値) |
|印加電圧範囲 |DC3.3V±10% (リプル及びノイズ無きこと) |
|最大消費電流 |32mA |
|ホスト間I/F |TTLレベルUART (8bit data, Non Parity, 1 stop bit) |
|ホスト間ボーレート |3600~921600bps |
|周波数 |2.4GHz帯 (2405-2480MHz 5MHz間隔16波) |
|空中線利得 |2.2dBi |
|空中線電力 |0.05mW/MHz |
|変調方式 |O-QPSK(Offset-Quadrature Phase Shift Keying) |
|拡散方式 |DSSS(Direct Sequence Spread Spectrum) |
|占有周波数帯域幅 |2.906MHz |
|拡散帯域幅 |1.703MHz |
|スペクトラム拡散率 |27.254 |
|外形寸法 |L26.5×W19×H6(ピンヘッダ部を除く)mm |
|本体重量 |約3g |
|付属品 |ZIG-100B本体 x1&br;4ピン1列メスヘッダ([[CB39042V100>http://www.cvilux.com/upload/product/cb3901s.pdf]]) x2 |
|環境配慮 |鉛フリー半田 |

**外観 [#dd1f2542]
|  top                         | bottom                       |
| #ref(ZIG-100B_TOP.png,80%) | #ref(ZIG-100B_BOTTOM.png,80%) |

**端子配置・外形 [#j4453316]
#ref(ZIG-100B_gaikei.png,100%)

|端子 |名称 |備考 |I/O |
|1 |GND |電源及びシグナルGND |- |
|2 |VCC |DC3.3Vを接続 |- |
|3 |STATUS |接続状態 |O |
|4 |RESET# |ZIG-100Bをリブートまたは設定モードに移行する際に使用 |I |
|5 |CHANNEL_SEL1 |Broadcastingモードで使用 |I |
|6 |CHANNEL_SEL2 |Broadcastingモードで使用 |I |
|7 |TxD |送信データ |O |
|8 |RxD |受信データ |I |
※端子間ピッチは2.5mm~
※4,5,6番端子は20~50kΩ程度でプルアップ済~
※3,7番端子はプッシュプル出力

**取り扱い方法 [#meed61d7]
***PCとの接続回路[#qfe35760]
[[BTX026 ZIG-100B用RS232C変換器]]でPCのシリアルポートと接続できます。~
また[[BTX026 ZIG-100B用RS232C変換器]]と[[BTE061D USBシリアル変換ケーブル]]でPCのUSBポートと接続できます。

***ZIG-100Bとマイコン等への接続 [#s7221b0c]
最低限ZIG-100Bの電源及びTXD・RXD端子をホストの回路へ接続します。なお3~8ピンは全て3.3Vレベルのロジックとなりますので、動作電圧が異なるホストへの接続時はレベル変換措置等が必要となります。

また、ZIG-100Bは動作中の消費電流の変動が大きいため、状況に応じて適切なデカップリングコンデンサを電源端子近傍に装備する事を推奨します。電源電圧が安定していないと接続性に影響します。

***ZIG-100Bの内部設定 [#kede9be3]
以下の設定モードで変更された情報は以後の動作モードに即時反映されます。また変更と同時にZIG-100B内の不揮発メモリに保持され、パワーサイクル時には毎回保持された情報で起動します。

****設定モード [#af8fda62]
先程の回路を介してZIG-100BをPCの任意のCOMポートに接続します。シリアルターミナルプログラム(WindowsのハイパーターミナルやTera Term、GCC Developer Liteに付属のSIMPLE TERM等)において使用するCOMポートのプロパティを57600bps・パリティなし・1ストップビット・フロー制御なしに設定し、COMポートを開きます。~
ZIG-100Bのリセット後60ms以内に「''!''」の文字をZIG-100Bへ送信すると(シリアルターミナル上で「!」を押しながらリセットボタンを操作すると切り替わりやすいです)次のように設定値が表示されZIG-100Bが設定モードに入ります。
 [Robotis Zigbee Monitor]
  Baudrate :0F -> 57600
   My  ID. :1234
  Dest.Addr:FFFF
  Command- (I)nfo, (D)est, Addr/(B)aud, (W)ait mode, (E)xit
設定モードで「i」を入力すると現在のZIG-100Bの設定を確認することができます。~
-''Baudrate''~
ボーレートジェネレータの分周値とボーレート~
出荷時デフォルトは'''0F'''(57600bps)
-''My ID.''~
自身のアドレス(出荷時設定済、変更不可)
-''Dest.Addr''~
接続する相手もしくは接続される相手のアドレス~
出荷時デフォルトは出荷調整時に使用した相手先のアドレス
-''Wait Mode''~
Waitingモードの可否(モードによって表示されない場合がある)~
出荷時デフォルトはPeer to Peerモードのため非表示

なお設定値の入力には値は半角英数字のみを扱い、全て16進数で入力します。~
~
※以後の説明文中の'''イタリック文字'''は16進数を意味します。
#html(<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/Z3kiSSF_fkY&hl=ja&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Z3kiSSF_fkY&hl=ja&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>)

****Baudrateの設定 [#qf9f296c]
ZIG-100Bとホスト間の通信速度を設定するには設定モードで「''b''」を入力します。Baudrateの計算式は~
''Baudrate = 921600 / ( value + 1 )''~
''value: Divider factor''~
となりますが、ZIG-100Bにおいてはvalue(分周値)を設定しますのでBaudrateからvalueを逆算してください。~
''value = ( 921600 / Baudrate ) – 1''~
で求まります。valueは必ず2桁の16進数で入力してください。参考までに主要Baudrateに対するvalueを次表に示します。
| Baudrate[bps] | value |
| 9600 | '''5F''' |
| 14400 | '''3F''' |
| 19200 | '''2F''' |
| 28800 | '''1F''' |
| 38400 | '''17''' |
| 57600 | '''0F''' |
| 115200 | '''07''' |
| 230400 | '''03''' |
これ以外のBaudrateにおいては誤差が生じます。またBaudrateはZIG-100Bと接続されるホスト間との通信速度のみを設定するものであり、無線化される機器同士の通信速度を一致させなくても通信が可能になります。
 [Robotis Zigbee Monitor]
  Baudrate :0F -> 57600
   My  ID. :1234
  Dest.Addr:FFFF
  Command- (I)nfo, (D)est, Addr/(B)aud, (W)ait mode, (E)xit
  !b
 Change Baud Rate.(921600/x)-1 (x:target baud)
 Ex) 9600-0x5F, 57600-0x0F, 115200-0x07:07
  !i
 [Robotis Zigbee Monitor]
  Baudrate :07 -> 115200
   My  ID. :1234
  Dest.Addr:FFFF

***ZIG-100Bの動作モード [#db92bdfc]
ZIG-100Bは3つの動作モードにて様々な用途に適用させることが可能です。

****Peer-to-Peerモード [#f5028b35]
ZIG-100Bの最も基本となる動作モードで、他のZIG-100Bと1対1で通信を行います。予め決められたZIG-100B同士でのみ接続が行われるため、意図しない相手に接続するといったことはありません。~
ターミナルプログラムでZIG-100Bを設定モードにした状態で「''d''」を押すと接続先アドレス(Dest.Addr)を変更することができます。ここにPeer-to-Peerで通信する相手のアドレスを、必ず4桁の16進数で入力します。またもう一方のZIG-100Bの接続先アドレスにも他方のZIG-100Bのアドレスを入力します。なおいずれのZIG-100Bも後述のWaitingモードがNOに設定されていなくてはなりません。~
例えばアドレス'''000A'''とアドレス'''000F'''のZIG-100BをPeer-to-Peerモードで通信させる場合は、アドレス'''000A'''の接続先アドレスに'''000F'''を入力し、アドレス'''000F'''の接続先アドレスに'''000A'''を入力します。~
設定が終わったら両ZIG-100Bをリセットし、接続が行われるか確認します。接続試行中はLEDが素早く点滅し、接続が完了すると点灯に変化します。~
 [Robotis Zigbee Monitor]
  Baudrate :07 -> 115200
   My  ID. :1234
  Dest.Addr:FFFF
  Command- (I)nfo, (D)est, Addr/(B)aud, (W)ait mode, (E)xit
  !d
 Change Destination Address to:5678
  !i
 [Robotis Zigbee Monitor]
  Baudrate :07 -> 115200
   My  ID. :1234
  Dest.Addr:5678
  Wait Mode:NO
#html(<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/qFyonLU36og&hl=ja&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/qFyonLU36og&hl=ja&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>)
~

****Waitingモード [#h7d0dc28]
Waitingモードは待ち受け専用モードで、接続を要求してくるZIG-100B(Peer-to-Peerモード)の接続先アドレスを特定しません。一つの装置が排他的に複数の装置から接続される場合に有用です。~
ターミナルプログラムでZIG-100Bを設定モードにした状態で「''w''」を押すことで、Waitingモード(設定画面上ではWait Mode)の可(YES)否(NO)がトグルで切り替わります。Waitingモードに設定するには接続先アドレスが'''FFFF'''以外('''FFFF'''以外であれば何でも構いません)に設定されている必要があります。接続先アドレスが'''FFFF'''になっている(後述のBoradcastingモード)とWaitingモードの設定ができず、設定画面上にも「Wait Mode」の表示が消えます。~
接続を要求するZIG-100Bは1:1モード(WaitingモードをNO)にし、Waitingモードに設定されたZIG-100Bのアドレスを接続先アドレスに設定します。Waitingモードに設定されたZIG-100BのLEDはゆっくり点滅し、接続が完了すると点灯に変化します。~
なお接続を要求するZIG-100Bが複数台存在していても構いませんが、既に接続が完了している状態では割り込んで接続する事はできません。~
 [Robotis Zigbee Monitor]
  Baudrate :07 -> 115200
   My  ID. :1234
  Dest.Addr:5678
  Wait Mode:NO
  Command- (I)nfo, (D)est, Addr/(B)aud, (W)ait mode, (E)xit
  !w
  Baudrate :07 -> 115200
   My  ID. :1234
  Dest.Addr:5678
  Wait Mode:YES

#html(<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/akDDx3jE9Os&hl=ja&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/akDDx3jE9Os&hl=ja&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>)~
~

****Broadcastingモード [#i6a08c1e]
Broadcastingモードは多数のZIG-100Bを同時に接続(N:N)して通信するモードです。接続時のネゴシエーションがないため起動から実際に通信できるまでの時間が短く、一度に複数の相手に同じ情報を送ることができます。~
ターミナルプログラムでZIG-100Bを設定モードにした状態で「''d''」を押し、接続先アドレスを'''FFFF'''に設定することでBroadcastingモードに設定されます。Broadcastingモードに設定されたZIG-100Bは他のZIG-100Bが送信する全てのパケットを受信します。~
Broadcastingモードでは通信の干渉を避けるため5pin(CHANNEL_SEL1)・6pin(CHANNEL_SEL2)の論理の組み合わせでにハードウェア的に4つのチャネル設定が可能です。これらの端子がオープンの場合は内部プルアップ抵抗にてHIGHに固定されます。~
Broadcastingモード中はステータスLEDが点灯するため、接続の完了は実際に通信を行って判断する他ありません。また送信元やリソースの他的利用はホスト側のアプリケーションにて実現してください。~
 [Robotis Zigbee Monitor]
  Baudrate :07 -> 115200
   My  ID. :1234
  Dest.Addr:5678
  Wait Mode:YES
 Command- (I)nfo, (D)est, Addr/(B)aud, (W)ait mode, (E)xit
  !d
 Change Destination Address to:FFFF
  !i
 [Robotis Zigbee Monitor]
  Baudrate :07 -> 115200
   My  ID. :1234
  Dest.Addr:FFFF

#html(<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/bE5K7N5pPuM&hl=ja&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bE5K7N5pPuM&hl=ja&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>)
~

***チャンネルマスク [#h5f0c552]
ZIG-100Bは16のチャネル(ch11(2405MHz)~ch26(2480MHz))を使用します。各チャネルは以下の機能に予め割り当てられています。~
-ch11~
ベースチャネル(接続を構築するためのチャネル)
-ch12~22~
Peer-to-Peer接続用チャネル
-ch23~26~
Broadcasting 接続用チャネル

****Peer-to-Peer接続時のチャネルスキャン [#ka4ee7b1]
Peer-to-Peerモードでは無線の干渉を軽減するために、まずチャネルスキャンを行い空いている又は最も混雑度が低いチャネルで接続を行います。次図にPeer-to-Peerモードの手順を示します。~
#ref(ZIG-100B_6.png,100%)
****チャンネルマスクの設定 [#fa36ed55]
Peer-to-Peerモードでは混信防止のためにチャネルマスクを設定することができます。チャネルマスクは先のチャネルスキャン時に指定以外のチャネルをスキャンしません。チャネルマスクレジスタとチャネルのアサインは次表の通りです。
|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|CENTER::|c
|Bit|15~11|11|10|9|8|7|6|5|4|3|2|1|0|
|チャネル|-|22|21|20|19|19|17|16|15|14|13|12|11|
ターミナルプログラムでZIG-100Bを設定モードにした状態で「r」を押すことで、現在のチャネルマスクレジスタが確認できます。初期値は'''FFFF'''(全チャネルスキャン対象)に設定されています。更に「''c''」を押すことで値を変更できます。例えばch15/ch20(2425/2450MHz)のみで接続を行いたい場合は0210 (Bit4/Bit9のみ1)に設定します。この場合ch15→ch20の順にスキャンされます。
チャネルマスクレジスタを'''0000'''に設定すると、ch11(2405MHz)でのみ接続を行います。なおBroadcastingモードにはチャネルマスクは適用されません。

**注意事項 [#o4f31678]
2.4GHz帯の無線機器を使用する別のアプリケーションがある場合は電波干渉の恐れがあります。本モジュールにおいてはリトライシーケンスを備えていないため、干渉した場合にデータがドロップする事があります。また家庭用の電子レンジの電磁波とも干渉します。

« Prev[4]  Next »[5]