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

著者 Bill Giovino

Digi-Keyの北米担当編集者 の提供

2018年10月、LoRa Allianceは、IoTエンドポイント向けにFirmware Over The Air(FOTA)を標準化した仕様を発表しました。これは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マイルです。地方では3~9マイルになる可能性があり、直接的な見通し線(LOS)データの伝送は最大131マイルになる場合もあります。あるケースでは、気象観測気球のLoRaWANエンドポイントが、わずか25mWの伝送電力で地上から436マイル離れたゲートウェイにデータを送信できました。

各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安定化の両方がボード上で提供されます。

SemtechのSX1262IMLTRTおよびSX1261完結型半二重無線の図

図1;SemtechのSX1262IMLTRTおよびSX1261は、ボードにDC/DC降圧コンバータおよびリニアLDO安定化の両方を含むLoRaアプリケーション向けの完結型半二重無線です。(画像提供:Semtech)

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

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

LoRaWANマイクロコントローラの要件 最小要件 推奨要件
フラッシュメモリ 128キロバイト 256キロバイト以上
RAM 8キロバイト 16キロバイト以上
AES-128暗号化 ファームウェアルーチン ハードウェアブロック(マルチキャストダウンリンクに必要)
1ミリ秒の分解能のリアルタイムクロック(RTC) 内部タイマが時間基準に使用されている場合は不要 ファームウェアのアップデートOTA、マルチキャスト、およびネットワーククロックの同期に必要
SX126xで生成された割り込み用の外部割り込みピン 2本のIRQピン:BUSYおよび1つのプログラム可能IRQ(DIO1) 4本のIRQピン:BUSYおよび3つのプログラム可能IRQ(DIO1:3)
SX126xへのSPIインターフェース 必須:SCK、MOSI、MISO、CS 必須:SCK、MOSI、MISO、CS
IEEE 64ビットEUI生成 必須、ファームウェアルーチン 必須、ファームウェアルーチンまたはハードウェアブロック
マイクロコントローラCPU 8ビット 16ビットまたは32ビット

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

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

Texas InstrumentsのMSP430FR6047の図(クリックすると拡大します)

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

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

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

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

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

FUOTA向けFRAMを使用した設計

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

Texas InstrumentsのEVM430-FR6047評価ボードの図

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

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

SX1262用Semtech MBEDシールドの図

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

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

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

著者について

Bill Giovino

Bill Giovino氏は、シラキュース大学のBSEEを持つエレクトロニクスエンジニアであり、設計エンジニアからフィールドアプリケーションエンジニア、そしてテクノロジマーケティングへの飛躍に成功した数少ない人の1人です。

Billは25年以上にわたり、STMicroelectronics、Intel、Maxim Integratedなどの多くの企業のために技術的および非技術的な聴衆の前で新技術の普及を楽しんできました。STMicroelectronicsでは、マイクロコントローラ業界での初期の成功を支えました。InfineonでBillは、同社初のマイクロコントローラ設計が米国の自動車業界で勝利するように周到に準備しました。Billは、CPU Technologiesのマーケティングコンサルタントとして、多くの企業が成果の低い製品を成功事例に変えるのを手助けしてきました。

Billは、最初のフルTCP/IPスタックをマイクロコントローラに搭載するなど、モノのインターネットの早期採用者でした。Billは「教育を通じての販売」というメッセージと、オンラインで製品を宣伝するための明確でよく書かれたコミュニケーションの重要性の高まりに専心しています。彼は人気のあるLinkedIn Semiconductorのセールスアンドマーケティンググループのモデレータであり、B2Eに対する知識が豊富です。

出版者について

Digi-Keyの北米担当編集者