今回はBLEのチャンネル構造について。
そもそも電波での無線通信を成り立たせるためには、
・送信デバイスと受信デバイスがあること
・同じタイミングで同じ周波数を使用している
上記2点で通信が成り立ちます。
昨今においてはスマートフォンや携帯の所持率は高く、
また無線LANも張り巡らされているため、
特に公共の場所などでは数百~数千のデバイスが同時に通信を行っている場面は普通ですが、
どの様に混線せずに通信を確立しているのでしょうか?
Bluetooth Low Energyは2.400GHz~2.480GHzまでの帯域を2MHz幅で分割して
40のチャンネルを持っています。
送信側と受信側が同じチャンネルを使用していれば、同じ周波数を使う事になるので
そこで通信が確立され、別のチャンネルの機器とは混信が生じないことになります。
BLEのチャンネル数は40で、番号は0~39が割り振られてますが
そこには2種類のチャンネルが存在します。
37Chから39Chまでの3チャンネルはアドバタイジングチャンネルと呼び、
0chから36chまでの37チャンネルはデータチャンネルと呼ばれます。
アドバタイジングチャンネルはデバイスの発見と接続用で
データチャンネルは接続したデバイス同士の通信に使用されます。
アドバタイジングチャンネルは3つのうちどれか1つでも通信が出来れば機能しますが、
Bluetoothは周波数ホッピング方式であるため、
データチャンネルは使用するチャンネルを次々に切り替えて通信を行うようになり、
混信しても通信が途絶えないような構造になっています。
また特に無線LANと混信しないように
Bluetoothのアドバタイジングチャンネルは割り当てられています。
無線LANは1ch辺りの帯域幅が20MHzで14のチャンネルを5MHzづつずらして、
隣接するチャンネルと重ねて配置されている構造で、
良く使用される中心周波数が2.412GHz、2.437GHz、2.462GHzとなり、
Bluetoothのアドバタイジングチャンネルはこれに重ならない様に配置されています。
(下記図参照)
そもそもデバイスが発見されなければ通信が確立されないので、
本来であればアドバタイジングチャンネルの数を増やしたいところですが、
それぞれのチャンネルは非接続時に一定の周期でパケットを送信して
周りにアピールしていますので、
チャンネルが増える分、非接続時の消費電量が増えるという事になります。
この様な考えのもとで、チャンネル数と配置が決まっているのですね。