マルツTOP > APPLICATION LAB TOPページ おすすめ技術記事アーカイブス > 消費電力を最小限に抑えてLoRa Firmware Over the Air(FOTA)を実装する方法

消費電力を最小限に抑えてLoRa Firmware Over the Air(FOTA)を実装する方法 

著者 Bill Giovino 氏
Digi-Keyの北米担当編集者 提供
2019-02-13
マルツ掲載日:2019-05-27

 2018年10月に、IoTエンドポイント向けのFirmware Over The Air(FOTA)を標準化した仕様をLoRa Allianceが発表しました。これはLoRaネットワークにとって良いニュースですが、フラッシュマイクロコントローラを使用する低電力IoT LoRaエンドポイントの設計者には問題をもたらしています。

 マイクロコントローラのフラッシュメモリへの書き込みは、読み取り時と比べると、マイクロコントローラの電力消費量を一時的に大幅に増やします。また、増大した電力を処理するためにより大きな電圧レギュレータも必要になります。

 いずれも望ましい状況ではありませんが、この記事ではFRAMを搭載したマイクロコントローラを使用して、ファームウェアを低電力で書き込む方法を説明します。新しいLoRaトランシーバと組み合わせることで、従来のフラッシュマイクロコントローラのアプローチよりも電力を抑えたFOTA向けソリューションを実現できます。

LoRaとは

 IoTの目標の1つは、できるだけ電力を抑えてデータをワイヤレスで伝送することです。バッテリ駆動のセンサアプリケーションの設計者にとって特に問題となるのが、バッテリ電源の使用量を最小限に抑えながら、低レートのセンサデータをワイヤレスで長距離送信することです。

 既存のソリューションのBluetoothやZigbeeは、短距離アプリケーション向けに設計されているため、セルラーデータは比較的多くの電力を消費します。LoRaは、この問題に対するソリューションの1つとして人気が高まっています。

 LoRaは、Long Rangeの短縮形です。LoRaワイヤレスネットワークは、非リアルタイムデータの低データレート、低電力、長距離伝送向けに開発されました。データレートは0.3kビット/秒~5.5kビット/秒であるため、定期的なセンサデータの伝送に適しています。

 LoRaの仕様にはネットワークの変調と電気特性が記載され、LoRaWAN(ワイドエリアネットワーク)の仕様にはLoRaネットワークのプロトコルとデータ形式が記載されています。

 LoRaのシグナリングは、信号の周波数を変更して信号を変調するという点でFMと似ています。しかし、適切に変調されたFM信号では周波数が瞬時に変更されますが、LoRaの変調信号では時間の経過とともに周波数がゆっくり増減します。周波数におけるこの漸増または漸減はチャープと呼ばれ、その方法はチャープ変調と呼ばれます。時間の経過に伴う周波数の変化のレートを「チャープネス」と呼びます。

 LoRaWANネットワークは、常にスタートポロジに配置されます。また、シグナリングとアクセスプロトコルは、最小限の電力を使用し、複数のエンドポイントで信号衝突を最小化する設計になっています。各LoRaWANエンドポイントがそのデータをゲートウェイに送信すると、ゲートウェイではデータをEthernetやWi-Fiなどの別のネットワークに転送します。通常、ゲートウェイはすべてのLoRaWANデータを受信すると、保存またはその他の処理のために、そのデータをネットワーク経由で中央のコンピュータに送信します。

 ワイヤレス通信の範囲は、環境によって異なります。都市部の場合、予想されるLoRaWAN送信距離は1~3マイル(1.6km~4.8km)です。地方では3~9マイル(4.8km~14.5km)になる可能性があり、直接的な見通し線(LOS)データの伝送は最大131マイル(210km)になる場合もあります。あるケースでは、気象観測気球のLoRaWANエンドポイントが、わずか25mWの伝送電力で地上から436マイル(700km)離れたゲートウェイにデータを送信できました。

 各LoRaエンドポイントには、次の3つのセクションがあります。
1.データを収集する1つ以上のセンサ
2.マイクロコントローラ
3.SemtechのLoRa無線チップ

 センサは、エンドポイントの存在理由を表します。LoRaセンサのアプリケーションには、温度と湿度のモニタリング、 水と燃料の液面のモニタリング、大気圧と液圧のモニタリングなどがあります。これらのタイプのセンサは、時間の経過とともにすばやく変化しない静的データを収集して、アプリケーションに影響することなくわずか1.5kビット/秒でワイヤレスに伝送できます。

 無線チップとアンテナは、LoRaネットワーク上で直接通信します。Semtechは、LoRa伝送スキームに関する特許を所有しています。現在、すべてのLoRa無線で、Semtechの無線チップ、またはSemtechの無線チップが内蔵された無線モジュールが使用されています。

 SemtechのSX1262IMLTRT LoRa無線トランシーバは、バッテリ駆動LoRaアプリケーション向けに設計され、LoRaWAN無線伝送標準に準拠します(図1)。データの送受信時の消費電力は、+22dBmのRF出力電力でわずか4.2mAです。低電力バージョンのSX1261のRF出力電力は+15dBmです。どちらも、GHz未満の範囲で動作し、LoRaなどのコンスタントエンベロープ変調スキームに加え、周波数偏移キーキング(FSK)を処理する半二重トランシーバです。DC/DC降圧コンバータおよびリニアLDO安定化の両方がボード上で提供されます。



図1:SemtechのSX1262IMLTRTとSX1261は、ボード上にDC/DC降圧コンバータとリニアLDOレギュレータの両方を搭載したLoRaアプリケーション向けの完結型半二重無線です。(画像提供:Semtech)

LoRaWANエンドポイント用マイクロコントローラの選択

 LoRaWANエンドポイント用マイクロコントローラは、センサデータを読み取って処理するだけでなく、SX1262と接続してデータをネットワーク経由で伝送します。マイクロコントローラには、SX1262ドライバ、センサドライバ、アプリケーションコード用に十分なメモリが必要です。SemtechのSX1262無線チップを使用するLoRaWANエンドポイント向けマイクロコントローラの要件を表1に示します。


表1:マイクロコントローラの最小要件は、最小限の処理でセンサデータを収集および伝送するシンプルなLoRaWANエンドポイント向けです。より複雑なエンドポイント向けに、推奨要件でさらに堅牢なシステムが示されています。(データ提供:Semtech)

 この表に従うと、基本のスタンドアロンLoRaWANエンドポイントの最小要件は、8ビットのマイクロコントローラに実装できます。時々未加工のセンサデータをゲートウェイに送り返す必要があるシンプルな低電力LoRaWANエンドポイントがこれに該当します。

 ただし、エンドポイントで大量のトラフィックを処理したり、センサデータに対して何らかの処理を実行する必要がある場合は、表1の推奨要件に従う必要があります。当然、LoRaWANエンドポイントでメモリや処理能力が増えていくと、エンドポイントの消費電力が増え、容量の大きいバッテリが必要になります。これは、低電力IoTエンドポイント向けLoRaWANの設計意図に矛盾します。

 LoRaWANエンドポイントを設計する際は、低電力システムであることを常に意識し、フィーチャクリープによってシステムが複雑になり、最終的に必要以上の電力が消費されないようにすることが重要です。LoRaWANエンドポイントのマイクロコントローラを選択する際は、クロック速度とメモリサイズも消費電力に影響するため、それらをできるだけ小さくするように常に注意する必要があります。

LoRaWANエンドポイントでのマイクロコントローラファームウェアのアップデート

 2018年10月に、LoRa AllianceはすべてのLoRaネットワークでのLoRaエンドポイント向けFirmware Udates Over The Air(FUOTA)の実行方法を標準化しました。ネットワーク全体のクロック同期化に関する新しい標準が提供されています。これにより、損失データパケットの数が大幅に削減されます。また、複数のエンドポイントに同じファームウェアアップデートを伝送する際に必要になるマルチキャスト伝送についても標準化されています。クロック同期化とマルチキャスト伝送の両方に正確な時間基準が必要です。つまり、すべてのLoRaエンドポイントには1ミリ秒単位までの正確なRTCを備えるマイクロコントローラが必要です。

 LoRaWANエンドポイントでのファームウェアアップデートは重要な機能ですが、新たな問題も生じます。フィールドでファームウェアをアップデートすると、マイクロコントローラのプログラムメモリも再プログラムされます。このメモリは、通常非揮発性フラッシュメモリです。フラッシュメモリをプログラミングするには、メモリセルに10V以上を印加する必要があります。このためには、フラッシュメモリのプログラミングのためだけに大型の電圧レギュレータや関連の電気回路が必要です。ネットワークシステムでのファームウェアのアップデートは1年に数回しか行われない場合があるため、これはコストを上昇させ、追加されるボードスペースを非効率に使う投資になります。

 フラッシュメモリを搭載したマイクロコントローラの代わりとして、強誘電体メモリ(FRAM)を搭載したマイクロコントローラがあります。FRAMメモリでは、セルをプログラミングするのに必要な電圧はわずか1.5Vです。LoRaWANノードの推奨要件に最適なのが、 Texas InstrumentsのMSP430FR6047 FRAMベースのマイクロコントローラです。これには256KバイトのFRAMプログラムメモリと、カレンダおよびアラーム機能付きのRTCが備わっています。暗号化ブロックはAES-128とAES-256をサポートします。SemtechのSX1262に必要な最大4つのSPIポートをサポートし、サポートには十分すぎる外部割り込み入力を備えているので、2つのデバイスを非常に簡単にインターフェース接続できます。また、IEEE 64ビットの拡張一意識別子(EUI)生成をファームウェアに簡単に実装できます(図2)。

図2:MSP430FR6047は、256KバイトのFRAM、8KバイトのSRAM、センサベースのアプリケーション向けの幅広い周辺機器を備えています。(画像提供:Texas Instruments)

 MSP430FR6047はバッテリ駆動のスマートメータ用に設計されており、水流の高精度検出や液面センシングを提供する統合型超音波検出ペリフェラルが搭載されています。これらの高度な機能は、さまざまなセンサアプリケーションに簡単に適合します。

 MSP430FR6047のRAMは、推奨の16Kバイトではなく8Kバイトしかありませんが、複雑なセンサ融合処理が不要な場合、LoRaWANセンサエンドポイントでは問題になりません。また、MSP430FR6047では、メモリとボードスペースを節約すると同時にパフォーマンスを向上させる高度な統合が行われています。超音波検出アプリケーションのアナログフロントエンドには、プログラム可能パルス発生器、12ビットのA/Dコンバータ(ADC)、プログラマブルゲインアンプが含まれています。これらはすべて、アナログセンサからデータを収集する際に非常に役立ちます。

 MSP430FR6047には32ビットのハードウェア乗算器と、MSP430コアに依存せずに256ポイントのFFT計算を実行できる低エネルギーアクセラレータ(LEA)信号処理コアが搭載されています。LEAは、低電力アプリケーションの信号処理を高速化して、バッテリ寿命を延ばします。

 MSP430FR6047は、すでに低電力デバイスである8ビットや16ビットのマイクロコントローラでも非常に低電力です。MSP430 の16ビットコアとペリフェラルを使用すると、稼働時の消費電力はわずか120μA/MHzです。RTCが稼動しているスタンバイモードでは、450nAしか消費しません。マイクロコントローラには30nAしか消費しないシャットダウンモードがありますが、このモードではリアルタイムクロック(RTC)もオフになるため、シャットダウンモードはLoRaWANエンドドポイントでは推奨されません。

FOTA向けFRAMを使用した設計

 MSP430FR6047のファームウェアの開発には、 EVM430-FR6047評価ボードを利用できます。このボードはUSB駆動で、アプリケーションでMSP430を評価するために必要なすべてのハードウェアが含まれています。評価ボードには、ボードに機能を追加するBoosterPackモジュール用のコネクタが付いています。センサ接続用の追加ピンがボードに用意されています。



図3:MSP430FR6047用のTexas InstrumentsのEVM430-FR6047評価ボードはLCDディスプレイを備え、MSP430FR6047上のすべてのピンにアクセスできます。(画像提供:Texas Instruments)

 SX1262の評価と開発用に、SemtechはSX1262MB2CAS LoRa MBEDシールドを提供しています(図4)。



図4:SX1262用のSemtechのMBEDシールドは、SX1262 RFトランシーバを含むシンプルな評価ボードです。(画像提供:Semtech)

 MSP430 BoosterPackコネクタは、MSP430をSemtechのSX1262 MBEDシールドにインターフェース接続するために必要なすべての信号を提供します。

 BoosterPackコネクタには必要な4本のSPIピンに加え、3本の追加GPIOピンが付いています。これらのピンはMSP430へのポーリング入力として、または外部割込みとして設定できます。追加の外部割込みが必要な場合は、BoosterPackコネクタ上のピンの4本がMSP430 UARTの1つに接続されます。これらのUARTピンは、GPIOとしてまたはMBEDシールドの外部割り込みとして設定できます。BoosterPackとMBEDシールドは物理的にピン互換ですが、簡単にジャンパで配線してMSP430とSX1262間に必要な接続を提供することができます。

 また、Texas Instrumentsは、MSP430コードの作成とデバッグをサポートするIDEとしてCode Composer Studioを提供しています。

まとめ

 LoRaは、IoTセンサデータの伝送規格として人気が高まっています。この規格が拡張されてFOTAが含まれたことで、長いバッテリ寿命に関して新たな問題が生じています。フラッシュメモリの代わりにFRAMベースのマイクロコントローラを選択することで、設計者はこれらのアップデートをデバイスメモリに書き込むために必要な電力を大幅に削減できます。

 また、説明したように、マイクロコントローラの選択は、アプリケーションに十分な処理能力も提供しながら、バッテリの消耗を抑えるために、ますます重要になってきています。


免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

このページのコンテンツはDigi-Key社より提供されています。
英文でのオリジナルのコンテンツはDigi-Keyサイトでご確認いただけます。
   


Digi-Key社の全製品は 1個からマルツオンラインで購入できます


※製品カテゴリー総一覧はこちら



ODM、OEM、EMSで定期購入や量産をご検討のお客様へ【価格交渉OK】

毎月一定額をご購入予定のお客様や、量産部品としてご検討されているお客様には、マルツ特別価格にてDigi-Key社製品を供給いたします。
条件に応じて、マルツオンライン表示価格よりもお安い価格をご提示できる場合がございます。
是非一度、マルツエレックにお見積もりをご用命ください。


ページトップへ