#author("2024-03-03T11:15:19+09:00","default:editor","editor") #author("2024-09-10T11:56:13+09:00","default:editor","editor") #contents *DECENTRAとは [#d942b97f] DECENTRAは、組み込み機器向けの、小型軽量なマルチホップ対応無線プロトコルスタックです。 従来、メッシュネットワークやアドホック通信にはWindowsやLinuxといった贅沢なハードウェア環境が必要でした。DECENTRAはたった数キロバイトのRAMと、8bit、16bitクラスのマイコンで動作し、OSも必要ありません。 数台での基本的な通信から、大規模なマルチホップ通信、モバイル・メッシュネットワークまで、多くの通信用途に対応できる汎用的なプロトコル・スタックとなっています。 ワイヤレス製品の付加価値をさらに高める通信ソフトウェアとしてお使い頂けます。 * 「DECENTRA」の由来[#d942b97f] DECENTRAという製品名は、英単語"de-centralized"(=中心がない、非中央集権的な)から取られました。 一般にマルチホップ通信では、コーディネータ/コンセントレータと呼ばれる親デバイスが存在し、親デバイスを起点にネットワーク形成を行います。しかしこのタイプのネットワークには、コーディネータが停止するとすべてが機能不全に陥るという、深刻な単一障害点が存在します。 一方でDECENTRAが形成するワイヤレスネットワークには、その製品名の通り中心がなく、すべてが対等なルータとしてアドホックに振舞います。どのデバイスが停止しても全体が不通になることはありません。 DECENTRAでは、必要であればコーディネータを頂点とした大規模なツリー型ネットワークを構築することもできます。その場合でも、コンセントレータが停止してもデバイスは動的経路探索で互いに通信するため、ネットワークが通信不能に陥ることがありません。 * なぜ「DECENTRA」なのか[#d942b97f] 一例をご紹介します。あるプロジェクトで、都市部で広範囲にマルチホップ通信を利用するサービスの構想がありました。顧客はそれまでに、Wi-SUN FANなど市販品を多く試しましたが、到達距離が足らず、モジュールコストも高く、システム要件を満たす製品が見つかりませんでした。その顧客が偶然、DECENTRAを見つけ試したところ、うまくいかなかったPoCがあっさり成功。きわめて短期間で子機と親機を組み上げることができました。 その後プロジェクトは無事、サービスインし、数万台の製品が出荷されることになります。 -下位無線規格を必要に応じて自由に交換できる(この場合はLoRaを採用) -必要最低限のマイコンを選択することでモジュールコストを安価に抑えられる -カスタム機能の検討に専念できる(プロトコルをゼロから作らずに済ませつつ、機能追加もできる) こういった「DECENTRA」の利点が活きた事例でした。 *主な通信機能の紹介 [#h6ad4c55] -データを中継して宛先まで届けるマルチホップ通信を標準搭載 -マルチホップ上での送達確認と再送制御 -収容台数が無制限のツリー型ネットワーク -データの通過経路が把握できる「ルートレコード」 -中継端末でもスリープを行える「スリーピングルータ」 -端末の移動にも経路が追随する「高速経路切り替え」 -時刻のズレをスタックが自動補正「時刻同期」 -UARTのコマンドインターフェイスを標準提供 -Flash 120 KB, RAM 12 KBからの小型・軽量ソフトウェア -2.4GHz, 920MHz, 400MHzなど、お客様の用途に応じて周波数帯を選択可能 -マイコンのメーカー・アーキテクチャに非依存、8bit, 16bit マイコンでも利用可能 ** ユニークな機能の一例を紹介:「マルチルート送信」でパケットロスを飛躍的に軽減できます [#m8ebcc57] &ref(./multi_route.png,nolink,multi_route,60%); *使い勝手を向上させる4つの新機能が登場 [#l7f18a1f] ** センドバックで再送制御が適用可能に [#d3313da9] SKSENDBACKコマンドでAck要求ありSKSENDと同等の使い方ができるようになりました。 ** 1ホップモードを追加 [#c8a60941] スター型(互いに1ホップ)のみでの利用を想定したモードです。経路形成や経路維持を省略するため、送信前の遅延がなく、制御メッセージとの送信衝突も発生しません。一般的な無線N対N通信と同じ使い勝手でご利用いただけます。 ** 新型ツリーモード「コンセントレータ主導構築(CIR)」 [#mba1d721] 各ルータの周期的な経路交換を廃止して、コンセントレータから一括で経路(再)構築をコントロールできるようになりました。経路構築用の制御メッセージ数を大幅に削減でき、データの到達性を向上させます。 ** アダプティブAck制御を搭載 [#i8a52cce] これまでAckの再送間隔と回数はグローバルに1種類のみでしたが、セレクタ番号との紐づけで複数設定を使い分けできるようになりました。ホップ数に応じて再送回数と間隔を可変にする、メッセージの重要度によって再送回数を多めに設定する、といった柔軟な運用が可能になりました。 *SKコマンドで簡単に無線制御 [#kf5b94bc] DECENTRA搭載の無線デバイスをパソコンに接続して、SKコマンドと呼ばれるコマンドを発行することで、簡単にネットワークを構築できます。 ** SKコマンド例 [#q39012f7] >SKSEND 1 1000 0002 5 12345 指定した相手にユニキャストで送信し送達確認を求めます。経路がなければ動的に検索し、Ackが戻らなければ自動的に再送します。ZigBeeのようなややこしい接続手順は必要ありません。電源を入れてSKSENDコマンドを発行すれば、経路発見から再送制御まですべて全自動で実行されます。 >SKSYNC FFFF 5 半径5ホップ圏内のデバイスと時刻同期を行います。 >SKSETPS 0 3B 仮想時計が0秒になるとスリープし、59秒に起床する間欠動作を開始します。上記SKSYNCコマンドと組み合わせることで、一斉スリープ、一斉ウェイクアップの同期間欠動作が簡単に実行できます。 ** 市販品で試作も簡単[#s1cddd99] 市販のDECENTRA搭載済み無線モジュールを使えば、思いついたアイデアを短期間で試作できます。 GPS座標を無線で伝送して位置を確認しあうIoTガジェットを作ってみました。 [[「IM920sやってみた」>https://www.skyley.com/wiki/?IM920s%E3%82%84%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F]] * DECENTRAの経路制御方式[#s1cddd99] DECENTRAの経路制御はハイブリッド型です。以下の複数の方式を1つ選択、または組み合わせて使うことができ、アプリケーションに合わせた柔軟な運用が可能です。 -リンクステート(LS)を使ったテーブル駆動 -ディスタンスベクトル(DV)を使ったテーブル駆動 -ダイナミックソースルーティング(DSR)を使ったオンデマンド駆動 -フラッディングを使った経路制御レスタイプ * アプリケーションのデザインパターン[#s1cddd99] 様々なワイヤレスアプリケーションを素早く実現するため、アプリケーションの特徴ごとに運用・設定のテンプレートを用意しています。 物理層にIEEE 802.15.4g (920MHz帯 100kbps)を使った場合のパラメータ例を以下に紹介します。各レジスタ値は利用する物理層の通信速度によって調整が必要です。 **センサネットワーク(自律型) [#g624f359] センサネットワークの特徴は、データの送信先が1端末(コンセントレータ)に集中している点です。センサ端末はそれぞれ各自の周期で動作し、データが送信されるタイミングも非同期です。 このパターンでは、ツリーモードのテーブル駆動を活用しコンセントレータ方向への経路を周期的に形成させると良いでしょう。ブロードキャストなしにデータを効率的に集約できます。コンセントレータから各端末への下り方向は、ブロードキャストか、ユニキャストで送られてきたデータに対してセンドバックで送り返す方法が適しています。 |レジスタ|設定値|説明|h |S03|0|アドバタイズは不要のため停止| |S04|78|テーブル交換12秒| |S06|190|テーブル期限切れ40秒| |S07|258|テーブル削除240秒| |S0A|XXXX|コンセントレータのIDを指定| |S09|1|ツリーモード| **センサネットワーク(Many-to-one型) [#w84eca3e] Many-to-one型は、コンセントレータが周期的に各端末を呼び出し(ポーリング)て、ポーリングに反応もしくは呼び出し対象となった端末だけがデータを送り返すパターンです。 このパターンではコンセントレータからのポーリングにブロードキャストを使うと良いでしょう。各端末は受信したブロードキャストに対してセンドバックを使うことで、上り方向を経路発見なしに素早くユニキャストできます。この際、時刻同期コマンドをポーリングの代用とすると同期スリープが利用できるので一層効果的です。 このパターンではアドバタイズや経路表を周期交換する必要がありません。またフラッディングに対して全端末が同じタイミングで応答すると輻輳するので、応答時間にランダムジッタを持たせることをおすすめします。 |レジスタ|設定値|説明|h |SS12|FA|端末台数が増えて来たら、ブロードキャストの転送ランダムジッタ時間幅を増やして衝突を避ける。| **インフラネットワーク [#xce96af2] 端末が他の端末と対等に通信するパターンです。例えば、ほとんどの時間をスリープで過ごすセンサ端末に対して、コンセントレータへの安定した通信路を常時提供する必要がある場合に使われます。 このパターンではフルメッシュモードのテーブル駆動が一番適しています。急なリンク品質の変化やノイズ発生に複数の迂回ルートで対応でき、委譲通信も利用できます。 メモリと処理能力を多く備えたデバイスを、安定した電源供給で構成するのが適しています。 |レジスタ|設定値|説明|h |S03|64|アドバタイズ10秒| |S04|78|テーブル交換12秒| |S05|258|ネイバー削除60秒| |S06|320|テーブル期限切れ80秒| |S07|3E8|テーブル削除100秒| |S0C|XX|適度なRSSI閾値を設定することで、電波状態の良くないリンクを排除する| |S14|1|エコー発信間隔| |S15|5|経路の切替時間を500msecに短縮| |S09|0|フルメッシュモード| **モバイルアドホック [#i8467b3f] 端末が他の端末と対等に通信し、かつ互いに移動しているパターンです。典型例として車車間通信、ロボットの群制御、スマートフォンによるP2P通信などがあります。 このパターンでは基本をフルメッシュモードのテーブル駆動で運用し、アドバタイズ周期、リフレッシュレート、各テーブルの期限切れ時間を可能な限り短く設定します。またこの短い周期でも補足できないような移動性に対しては動的経路発見で対応するため、エコーバック時間を短く設定してリンクダウンの検出時間を極力早める必要があります。 |レジスタ|設定値|説明|h |S03|1E|アドバタイズ3秒| |S04|32|テーブル交換5秒| |S05|64|ネイバー削除10秒| |S06|C8|テーブル期限切れ20秒| |S07|12C|テーブル削除30秒| |S09|0|フルメッシュモード| **機器制御 [#a6f62079] 1対1、もしくは1対多で高レスポンスを期待する通信パターンで、典型例はリモコンです。 このパターンではペアリングを用いて経路を固定すると良いでしょう。ペアリング相手に関する自端末の隣接テーブルエントリーは常に維持されますので、長時間スリープしても経路の再構築は起こりません。また他端末の途中経路に選択されることもないので処理能力を余計に消費しないですみます。 SKコマンド設定例: ペアリングを完了させた後、 |レジスタ|設定値|説明|h |S11|0|経路発見の途中経路になるのを避ける| |S1A|0|動的経路発見をしない| |S1C|0|他端末からのペアリングを受け入れない| * ソフトウェア階層図 [#s1cddd99] DECENTRAはマイコン、無線デバイスに中立な移植性の高いプロトコルスタックです。チップメーカーや無線規格を自由に選択して頂けます。 &ref(d2_software.png,nolink,d2layer,60%); **対応チップセット・動作実績 [#q0d31c2c] 各メーカの無線IC、マイコン、独自無線規格への移植も承っています。 -無線IC --UD2400D (Uniband Electronics) --ADF7023-J (アナログデバイセズ) --ML7396B (ラピスセミコンダクタ) --MN87400 (パナソニック) --ML7275 (ラピスセミコンダクタ) --他、実績多数 -MCU --RL78/G13 (ルネサスエレクトロニクス) --FM3 MBA132 (富士通セミコンダクター) --PIC32MX 150 (Microchip) --ML610 482 (ラピスセミコンダクタ) -ワイヤレスMCU --CC1310 (テキサスインスツルメンツ) --EZR32 (シリコンラボラトリーズ) --ML7416(ラピスセミコンダクタ) **LPWAパッケージが登場しました [#bc6c4f58] 2019年5月より新たにLPWA系無線でも利用可能となりました。従来のGFSKを使ったサブGHz無線よりも格段に通信距離が長く、超広域でのマルチホップ通信が利用可能です。 各メーカの無線IC、マイコン、独自無線規格への移植も承っています。 動作実績・推奨無線IC -LORA: --SX127x (セムテック) -IEEE 802.15.4k --ML7404(ラピスセミコンダクタ) *パケットアナライザ「SK Catcher」 [#m130a084] DECENTRA対応アナライザ「SK Catcher」によって、目に見えない無線区間のトラフィックを詳細に観測することができるようになります。DECENTRAはパケットの途中経路をすべて記録するルートレコード機能をもっているため、パケットアナライザでデータを観測するだけでマルチホップ通信の通過ルートがすべて把握でき、ネットワークの保守や安定性の分析に効果的です。 &ref(./d2_sniffer.jpg,nolink,d2_sniffer,70%); &ref(./d2_viewer.jpg,nolink,d2_viewer,70%); -PC用解析ソフトウェア「SK Catcher」 -専用アンテナデバイス1個付属 -解析プロトコル:DECENTRA, 6LowPAN, IPv6, TCP, UDP, IEEE 802.15.4, ECHONET Lite -周波数帯:920MHz, GFSK, 100kbps -対応OS: Windows 7 以降 *ソフトウェア仕様 [#w422d379] -コードサイズ:約120KB -必要ランタイムメモリ:約12KB~(最少4KBから搭載可能) -経路制御方式:ハイブリッド型 -マルチホップ送達確認:あり -最大ホップ数:6 -ヘッダサイズ:31バイト -ホストI/F (SKコマンド)を提供 -暗号化:AES-128bit -時刻同期、途中経路表示、優先ルート、固定ルート、高速経路切替 他、多数の機能を備えます *量産モジュール [#p5ac55ce] 量産用の無線モジュール製品をご紹介可能です。弊社窓口までお問い合わせください。 * 資料ダウンロード [#l91117f9] ご紹介資料のダウンロードはこちら(PDF)からどうぞ:&ref(DECENTRAII_202301.pdf,nolink); * もっと詳細を知りたい場合は...[#cda832b3] Open AIのGPTsを使ったDECENTRA Q&Aチャットボットをご用意しました。 内部資料を読み込ませており、かなり正確な解答が得られますので、ご不明な点はこちらで質問してみてください。 https://chat.openai.com/g/g-kHSiCtl1b-decentra-q-a -例:DECENTRAが装備する経路制御方式を教えてください -例:ヘッダフォーマットを教えてください -例:リンクステートのデータ構造を教えてください -例:セレクタ11番の機能はなんですか *お問い合わせ [#pe3fe9df] 本製品についてのお問い合わせ、製品紹介のご依頼等につきましては[[www.skyley.comのお問い合わせフォーム>https://www.skyley.com/contact.html]]よりお寄せください。