超低消費電力MCUによるスマート・センシング – 第1部:ガラス破損検出器

今日の生活環境においては、検出および測定したい事象について、超低消費電力でより正確なデータを提供できる、スマートなセンサが必要となります。

このシリーズでは、いくつかのスマート・センシング・アプリケーションと、それらの実装用プラットフォームとしてTIのMSP430™マイクロコントローラ(MCU)を使用する方法について説明します。最初に紹介するスマート・センサは、ガラス破損検出器です。

ガラス破損検出器は、ビルディング・オートメーションのセキュリティ・システムに使用されるセンサです。このセンサは、窓ガラスが砕けたり割れたりした場合にアラームを発します。一般的にはガラス製のドアや店先のガラス窓の近くに設置されます。

ガラス破損検出器は、長年にわたって利用されているセンサです。このセンサでは、ガラスから発生するノイズや振動を監視するために、通常はマイクが使用されます。これよりシンプルな検出器では、単にガラスの破損に特有の周波数を持つ音を監視して、その音量が特定のスレッショルドを超えた場合にアラームをトリガします。この種のシステムでは、高い誤警報率が主な不満要因となります。

より複雑な設計では、ガラスの破損音プロファイルを使って音を監視します。

ガラスの破損の物理特性を調べると、そのプロセスが明らかになります。まず、物体がガラスにぶつかると、屈曲波から成る比較的にぶい低周波音が破損箇所から発生し、外側に向かって伝播した後に高周波音が発生します。適切に実装すれば、このプロセスを反映した音のプロファイルでマイクの出力をチェックすることにより、誤警報率を大幅に減らすことができます。

コストと計算能力の制限により、現在市販されている最も"スマート"なガラス破損検出器では、デジタルまたはアナログ・フィルタリングを使用し、2つか3つの固定周波数だけで信号をチェックしています。各製品のユーザー・ガイドには、ガラスのサイズと種類に関する制限が記載されていますが、これはガラスの破損プロセスにおける信号周波数が、ガラスの種類やサイズ、検出器の位置によって異なるためです。

ガラス破損検出器の性能を次の段階まで推し進めるには、"ガラスに依存しない"ガラス破損検出器が必要になります。このスマート・ガラス破損検出器は、ガラスの破損音を判別するために、その音から重要な特徴を抽出することができます。こうした特徴はガラスの種類やサイズに制限されず、"不特定話者"の音声検出器と同じように機能します。図1は、スマート・ガラス破損検出器の概念システム・ブロック図です。

  図1:スマート・ガラス破損検出器のブロック図

ブロック図では、マイクが窓ガラスから発生する音を拾っています。マイクからのアナログ電圧出力はアンチエイリアシング・アンプを介してアナログ/デジタル・コンバータ(ADC)に渡され、適切なサンプリングが行われます。ADCの役割は、アナログ電圧を、マイクロコントローラやデジタル信号プロセッサ(DSP)で処理できるようにデジタル・ストリームに変換することです。通常、ADCはマイクロコントローラ上のオンチップ・ペリフェラルとして実装されています。アナログ/デジタル変換の開始はタイマによってトリガされます。アナログ/デジタル変換のサンプル周波数は、最も高い対象信号周波数の2倍以上にする必要があります(ナイキストの法則)。

ガラスの破損音の周波数スペクトルは、時系列で変化します。時間の経過に伴いスペクトルがどのように変化するかを調べるため、マイクのデータは短い期間に分割され、高速フーリエ変換(FFT)アルゴリズムによって各期間のスペクトルが計算されます。この短い期間は、最も低い対象周波数をカバーできる長さにする必要があります。図2は、時間経過に伴う短期間FFTの出力を示しています。

  

図2:時間経過に伴う短期間FFTの出力(出典:ネバダ大学リノ校、George Bebis教授により作成された資料)

ガラスの破損が発生しているかどうかを判別するため、パターン認識アルゴリズムによりスペクトルとその経時変化が検査されます。十分な計算能力があれば、パターン認識アルゴリズムによって、2~3個の固定周波数成分ではなく、対象周波数の全範囲をチェックできます。

図1には、以下の3つの出力が含まれています。

  • ブザー/発光ダイオード(LED)で実現できる音声/視覚アラーム。
  • 有線RS-485シリアル・インターフェイス。BACnetやModbusなどの代表的なビルディング・オートメーション・プロトコルをRS-485に実装できます。
  • ワイヤレス・インターフェイス。ユーザーはRS-485とワイヤレス・インターフェイスを介してガラス破損検出器による診断を実行できます。

重要な信号処理機能として、短期間FFTとパターン認識という2つの機能があります。これらの機能は、スケジュール設定された時間内に完了する必要があります。

以下の例では、処理要件と、その要件をMSP430FR5994 MCUと内蔵の低エネルギー・アクセラレータ(LEA)によって満たす方法を示しています。

ガラスの破損音の周波数範囲が30Hz~5KHzであるとします。この周波数範囲を満たすために、アナログ/デジタル変換のサンプル周波数を12.8KHz、短期間FFTの期間を40msに設定します。この設定により、512実数ポイントFFTで最大6.4KHzのスペクトルを25Hzの分解能で生成できます。

では、512実数ポイントFFTを計算するために必要なリソースを見てみましょう。データの移動とウィンドウ処理によるオーバーヘッドを考慮しない場合、FFTの計算に、48MHz動作のARM® Cortex®-M4F CPUでは1ms、24MHz動作のCortex-M0+ CPUでは26ms、16MHz動作のMPS430FR5994 CPUでは16msかかります。FFTを時間内に完了し、パターン認識に十分なリソースを残すためには、より高い周波数で動作するCPUを選択することが必要になり、システムではさらに多くの電力を消費することになります。

MSP430FR5994 MCUは、LEAペリフェラルを内蔵することにより、このような計算性能と消費電力の競合を解決しています。LEAモジュールにより、有限インパルス応答(FIR)フィルタリングやFFTのようなベクトル計算の演算速度が向上します。このモジュールの動作はCPUとは独立しており、67µA/MHzしか消費せずに最大16MHzで動作します。LEAモジュールが16MHzで動作した場合、512実数ポイントFFTには約1msしかかかりません。ARM Cortex-M4F CPUは同じ時間でこのタスクを完了できますが、動作周波数は3倍になります。

データの移動とウィンドウ処理のオーバーヘッドを考慮すると、追加でLEA時間が0.5ms、CPU時間が0.5ms必要になります。各40msの間隔に対して、39.5msのCPU時間と38.5msのLEA時間をパターン認識やその他のシステム機能に利用できます。

256KBの強誘電体ランダム・アクセス・メモリ(FRAM)を備えたMSP430FR5994 MCUは、高速で読み取り/書き込みを実行できるため、パターン分析用のデータの蓄積が可能になります。また、MSP430FR5994 MCUにはDMAモジュールも内蔵されているので、CPUが介入することなく、ADCなどのペリフェラルからメモリに、またはメモリからメモリにデータを移動できます。MSP430FR5994 MCU上の12ビットADCは、最大200KSPSで動作できます。このアプリケーションにとっては十分過ぎる性能です。

このシリーズの次の回では、障害インジケータやスマート・マイクなど、その他の設計でMSP430FR5994 MCUと内蔵LEAモジュールを使用する利点について説明します。

その他のリソース

  • エネルギー消費を最小限に抑えながらMCU性能の新たな標準を確立する方法について記載された、TIのホワイトペーパーをこちらからダウンロードできます。
  • LEAモジュールをスマート障害インジケータで使用する方法については、こちらのホワイトペーパーでご確認ください。
  • 現在、MSP430FR5994 MCUは、BGAおよびQFNパッケージ向けの生産数量で出荷されており、3月にはLQFPパッケージでの量産が開始されます。
  • MSP430F5994 MCUに関するその他のブログ記事もご覧ください。
  • Updating those hard-to-reach industrial machines
  • How to get more processing without sacrificing power consumption

上記の記事は下記 URL より翻訳転載されました。

http://e2e.ti.com/blogs_/b/industrial_strength/archive/2017/04/03/smart-sensing-with-ultra-low-power-mcus-part-1-glass-break-detectors

*ご質問は E2E 日本語コミュニティにお願い致します。