完全ワイヤレスフィットネスヒアラブルの構築 - 第1部:心拍数とSpO2の測定

著者 Stephen Evanczuk

DigiKeyの北米担当編集者の提供

編集部より:フィットネスヒアラブルには大きな可能性がありますが、生体計測、音声処理、ワイヤレス充電の3つの主要分野に設計上の重大な課題があります。3部構成のこの記事では、これらの各課題を1つずつ説明し、超低電力デバイスを利用してフィットネスヒアラブルをより効果的に作成する方法を紹介します。この第1部では、生体計測について取り上げます。

オーディオ再生デバイスとしてインイヤー型のスマートワイヤレスオーディオイヤホン(完全ワイヤレスヒアラブルとも呼ばれる)が人気を博しており、特に動きや装置にワイヤが干渉する可能性があるフィットネスアクティビティで活用されています。このような設計に心拍数(HR)と酸素飽和度の測定を追加することで、開発者はオーディオ再生と健康データの両方を提供する「フィットネスヒアラブル」を作成できます。

生体計測の追加には大きな可能性がありますが、この用途を目的とした製品にはサイズとパワーの制約があるため、その設計は非常に厄介です。

この記事では、バッテリ駆動のインイヤー型デバイスで心拍数と酸素飽和度を測定するMaxim Integratedのバイオセンサを適用する方法を紹介しますが、その前に健康測定について説明します。

健康測定

HRは、患者のバイタルサインという臨床的役割を担うほか、フィットネス愛好家や競技スポーツ選手にとって重要なパフォーマンス測定基準となっています。HRの変動は基になる生理学的健康およびコンディショニングを反映しており、こうした変動の非侵襲性の測定は、光電式容積脈波記録法(PPG)を使用して簡単かつ効果的に実施できます。PPGでは、心臓がその組織を通して血液を送り出す際の組織血液量の変化によって生じる、特定の周波数(通常は約520nm(緑色))における光の透過または反射の変化を測定します。

この比較的単純な手法では、心拍数の基本データを提供できるだけでなく、心室性期外収縮(PVC)などの臨床的問題の状態を血圧測定や心電図(ECGまたはEKG)よりも簡単に明らかにすることもできます(図1)。

心室性期外収縮などの異常な心イベントを検出できるPPGの画像図1:PPGでは、単純な光学的手法を使用して、心室性期外収縮(PVC)などの異常な心イベントを検出できます。血圧(BP)を測定したり心電図(EKG)を使用したりする必要はありません。(画像提供:Wikimedia Commons/CC BY-SA 3.0)

PPGによるHRモニタリングで重要な情報が得られますが、多くのユーザーは、身体のコンディショニングやトレーニングの効果について詳しく把握できることを期待しています。パルスオキシメトリ測定では、脱酸素化ヘモグロビン(Hb)に対する酸化ヘモグロビン(HbO2)の比率を測定してこの詳細データを提供します。ヘモグロビンは、体内の器官や組織に酸素を運ぶ赤血球のタンパク分子です。この比率に基づいて、パルスオキシメータは末梢毛細血管酸素飽和度(SpO2)を測定します。これにより、血液ガス分析で実施される臨床的な動脈血酸素飽和度(SaO2)測定の非侵襲性の信頼できる推定値が得られます。

この推定値を得るために、パルスオキシメータは、2つの異なる周波数(通常は約660nm(赤色)および880nm(赤外線))における光の吸収の差を皮膚パッチで測定します。これら2つの周波数はそれぞれ、脱酸素化状態と酸化状態のヘモグロビンの吸収スペクトルのピークに対応しており、血液酸素飽和度を迅速に推定できます(図2)。

非侵襲性の光パルスオキシメトリ法のグラフ図2:非侵襲性の光パルスオキシメトリ法では、通常それぞれ約880nmおよび660nmで測定される酸化ヘモグロビン(HbO2、赤色の曲線)と脱酸素化ヘモグロビン(Hb、青色の曲線)の間の比率が使用され、毛細血管酸素飽和度(SpO2)が特定されます。(画像提供:Wikimedia Commons/CC BY-SA 3.0)

PPGとパルスオキシメトリの手法の概念は単純です。ただし、実際にこれらの手法を実装するとなると、特にウェアラブルの設計で大きな課題に直面する可能性があります。PPGとパルスオキシメトリはどちらもフォトダイオードを使用して、フィットネスバンドやスマートウォッチの皮膚パッチから反射される(または耳たぶなどを通して送信される)緑色、赤色、または赤外線(IR)LEDの光を正確に測定します。

LED源、皮膚、およびフォトダイオードで構成される光路が塞がれたり外部の光源が入ったりすると、これらのシステムにおける生体計測の精度が損なわれる可能性があります。たとえば、周囲光の通常の変動により測定に乱れが生じることがあります。周囲光が極端に変化すると明白な測定誤差が発生する可能性があります。たとえば、ユーザーが日光で明るくなったり日陰で暗くなったりする場所を通る場合が挙げられます(光学に基づく測定におけるいわゆる「ピケットフェンス」効果)。最後に、高強度トレーニング、あるいは日常的な運動の際でも、急に腕を動かしてフィットネスバンドやスマートウォッチを乱暴に扱うと、信号に同様の乱れが生じたり信号が完全に失われたりする可能性があります。

インイヤー型センシングシステム

手首に装着するヘルスモニタとは異なり、インイヤー型バイオセンシングでは誤差の原因を低減でき、フィットネスバンドやスマートウォッチによる測定を乱すような手首の動かし方をしても正確な結果が得られます1。さまざまな生体計測デバイスが登場していますが、インイヤー型フィットネスウェアラブルはパワーとサイズの要件が厳しいため、開発者がその実装に使用できるオプションには限りがあります。

耳に装着したままにするため、このようなウェアラブルは軽量小型でなければなりません。この基本要件がある以上、従来の生体計測設計ソリューションの実現に必要な大容量バッテリは使用できません。したがって、インイヤー型フィットネスウェアラブルの設計は一般に、手首に装着する製品よりも限られた電源で機能する必要があります。

同時に、この記事シリーズのテーマであるフィットネスヒアラブルなどの用途の複数の機能要件をサポートできる十分な電力が必要です。この記事の焦点である光学的測定を実施するための効果的な設計には、緑色、IR、および赤色LEDを動作させるだけでなく、フォトダイオードとそれに関連するアナログフロントエンド(AFE)にも動力を供給する十分な電力が必要になります。次に、これらの多様な光学部品や電子部品を、光信号経路の完全性を確保しながら厳しいサイズ要件を満たすコンパクトなパッケージに収める必要があります。

Maxim Integratedの低電力バイオセンサはこうした多様な要件に対応しています。

専用バイオセンサ

Maxim IntegratedのMAXM86161は、インイヤー型ヘルスモニタリング専用に設計されており、最小限の消費電力で心拍数とSpO2を継続的に測定できる完全な光データ収集サブシステムを提供します。この14ピンデバイスは寸法がわずか2.9mm x 4.3mm x 1.4mmで、3色LED光伝送サブシステムとフォトダイオードレシーバサブシステムが統合されており、信号処理、128ワードの先入れ先出し(FIFO)バッファ、および集積回路間通信(I2C)シリアルインターフェースを備えています(図3)。

Maxim IntegratedのMAXM86161の図図3:Maxim IntegratedのMAXM86161には、光伝送とレシーバのサブシステムが統合されています。128ワードのFIFO、コントローラ、およびI2Cシリアルインターフェースを備えており、完全な生体計測ソリューションを実現します。(画像提供:Maxim Integrated)

MAXM86161の光伝送サブシステムには、緑色、IR、および赤色LEDが内蔵されているほか、各LEDの駆動電流を31、62、94、または124mAにプログラムで設定できる専用の8ビットLED電流D/Aコンバータ(DAC)が搭載されています。このDACには、3.0V~5.5VのVLED電圧源1つから電力が供給されます。また、開発者は、LED駆動パルス幅を約15μs~117μsの4つの異なる時間にプログラムで設定できます。以下で説明するように、この機能は特定のアプリケーションの性能要件を満たすための重要なメカニズムを実現します。

レシーバサブシステム内では、19ビットのシグマデルタA/Dコンバータ(ADC)が、統合フォトダイオードからの出力を8サンプル/秒(sps)~4,096spsのレートでデジタル化します。次に、デジタルフィルタが、開発者によって選択された周波数分割多重化(FDM)または係数デシメーション法(CDM)を使用してノイズリダクションを行います。

さまざまな分解能レベルでのサンプル測定を必要とする用途の場合は、4つのフルスケールダイナミックレンジのうち1つで動作するようにADCを動的に再構成できます。ダイナミックレンジを減らすことで、必要に応じて分解能を向上できます。追加機能により、信号をクリップすることなく非常に低い暗電流レベルを測定できるオフセット値が提供されます。

自動補正

サンプル変換プロセスでは、MAXM86161の周囲光補正(ALC)回路を使用して、外部からの光源によって生じるフォトダイオード電流を自動的にキャンセルできます。開発者は、周囲光のレベルを定期的に測定するようにデバイスをプログラミングすることもできます。これにより、アプリケーションで独自のALCアルゴリズムを使用してサンプリングデータを動的に補正したり、LED駆動電流をプログラムで変更して、変化する周囲光レベルに対してLED出力照光レベルを最適化したりできます。

MAXM86161には、ALC機能が組み込まれているほか、前述のピケットフェンス効果に対処する別のメカニズムが統合されています。ピケットフェンス効果で周囲光が明るくなったり暗くなったり急速に遷移すると、サンプリングの誤差が生じる可能性があります。MAXM86161のピケットフェンス機能を有効にすると、ピケットフェンスイベント時に取得されたサンプルが自動的に検出され、これらのサンプルが推定値に置き換えられます。この機能を有効にした場合、MAXM86161ではローパスフィルタからの出力が推定範囲と比較され、範囲外の値が置き換えられます(図4)。

Maxim IntegratedのMAXM86161ピケットフェンスメカニズムのグラフ図4:Maxim IntegratedのMAXM86161ピケットフェンスメカニズムでは、サンプル(赤い線)が監視され、プログラム可能な範囲(青い線)から外れたサンプル(グラフで識別されている過渡現象(黒い線)など)が自動的に置き換えられます。(画像提供:Maxim Integrated)

自律サンプリング

サンプリング時に、MAXM86161の統合コントローラによってトランスミッタとレシーバのサブシステムが調整され、LED出力パルスのシーケンスとそれに対応するフォトダイオード(PD)入力の計測値が同期されます。このシーケンスのプログラムは、3つのLEDシーケンス制御レジスタのセットに含まれている6つの「スロット」(LEDCn)にロードする設定で開発者が指定します(表1)。各LEDCnスロットでは、指定された緑色、IR、または赤色LEDからの照光とそれに続く関連するPDサンプリングで構成される特定のサンプリング動作を指定します。

アドレス レジスタ名 デフォルト値 B7 B6 B5 B4 B3 B2 B1 B0
0x20 LEDシーケンスレジスタ1 00 LEDC2[3:0] LEDC1[3:0]
0x21 LEDシーケンスレジスタ2 00 LEDC4[3:0] LEDC3[3:0]
0x22 LEDシーケンスレジスタ3 00 LEDC6[3:0] LEDC5[3:0]

表1:Maxim IntegratedのMAXM86161 LED出力シーケンスパルスは、3つのLEDシーケンス制御レジスタのセットにロードされます。(表提供:Maxim Integrated)

MAXM86161は、異なるLED動作モードにそれぞれ対応する事前定義された値を認識します。たとえば、LED1(緑色)、LED2(IR)、またはLED3(赤色)からのサンプリングを指定するには、開発者は目的のスロットのLEDCn[3:0]フィールドをそれぞれバイナリ値0001、0010、0011に設定します。同様に、周囲光をサンプリングするには、目的のフィールドをバイナリ値1001に設定します。したがって、LED1、LED2、LED3、および周囲光をサンプリングするように設計されたシーケンスをプログラミングするには、次のように設定します。

LEDC1[3:0] = 0001

LEDC2[3:0] = 0010

LEDC3[3:0] = 0011

LEDC4[3:0] = 1001

LEDC5[3:0] = 0000

バイナリ「0000」に設定された最後のスロットは、シーケンスの終わりを示しています。

開発者は、サンプルレート、パルス幅、駆動電流などの追加の構成パラメータもいくつか設定する必要があります。実際には、これらのさまざまな構成パラメータとLEDシーケンスレジスタ0x21および0x22(表を参照)は通常、レジスタ0x20の前に設定します。これは、レジスタ0x20への書き込みによってMAXM86161の測定シーケンスが開始されるためです。この記事で後述するように、ソフトウェアルーチンは、最後にレジスタ0x20に書き込んでプログラミングされたシーケンスを開始する前に、これらの他のレジスタをまず設定します。

シーケンスの初期化後に、コントローラはLED出力パルスとPD入力のサンプリングを自動的に連携させ、プログラミングされたシーケンスを目的のサンプリングレートで繰り返します(図5)。

サンプリング動作のシーケンスを自動的に実行するMaxim IntegratedのMAXM86161のコントローラの図図5:Maxim IntegratedのMAXM86161のコントローラは、サンプリング動作のシーケンスを自動的に実行します。各シーケンスで、LED出力パルスとそれに関連するフォトダイオードのサンプル計測値を連携させます。(画像提供:Maxim Integrated)

このプログラム可能なシーケンス制御により、アプリケーションの動作中に測定モードを簡単に変更できます。たとえば、SpO2測定の更新レートを最高速にする必要がないアプリケーションの場合は、シーケンス制御レジスタで簡単な変更を実行して、緑色LED(LED1)を使用する心拍数データの頻繁な更新を維持できます。アプリケーションでは定期的にシーケンスをリセットし、IR(LED2)および赤色(LED3)LEDを追加してSpO2測定を短時間実施してから心拍数の更新にのみ戻ることができます。

電力の最適化

開発者はこのようなアプリケーションレベルの節電方法を使用できるだけでなく、MAXM86161に固有の低電力機能も利用できます。サンプリングレートが25spsの一般的なアプリケーションでは、MAXM86161の通常動作中の消費電力は10μA未満です。通常の低電力動作に加えて、MAXM86161はシステムレベルとデバイスレベルの両方の電力最適化を実現するメカニズムをいくつか備えています。

システムレベルの最適化のために、デバイスは、プロセッサを含む残りのシステムが低電力スリープモードで待機しているアイドル時に生体計測を独立して実施できます。ここで、MAXM86161のシーケンスコントローラは、内部FIFOバッファで次に利用可能なスロットにサンプルデータを引き続き配置できます。バッファが開発者によって設定された閾値容量に達すると、MAXM86161はホストプロセッサに割り込みを発行できます。ホストはこの割り込みに応答して、サポートされているI2Cインターフェースを介してFIFOバッファを空にするのに十分な時間だけ起動するか、さらに処理を行うために起動状態を維持することができます。

この自律的な方法で動作するかホストプロセッサを直接制御して動作するかに関係なく、MAXM86161はその他のデバイスレベルの最適化メカニズムを使用するようにプログラミングできます。

このようなメカニズムの1つを使用すると、電流消費をアプリケーションの測定精度要件を満たすために必要な最小限にまで減らすことができます。ここで、開発者は前述のプログラム可能なLED出力パルス幅機能を調整して、変化する測定条件への対応に必要なレベルの信号の完全性を実現できます。SN比(SNR)を向上させる必要がある場合は、パルス幅を必要な範囲まで増やすことができます(図6)。

4つの異なる時間のLED出力パルス幅のグラフ図6:開発者はLED出力パルス幅を4つの異なる時間に設定して、電流をアプリケーションに必要なSNRを得るために必要な最小限にまで減らすことができます。(画像提供:Maxim Integrated)

その他のメカニズムを使用すると、サンプリングが不要な期間、またはサンプリングの更新レートが低減されている期間に節電できます。

生体計測が不要な期間が長い場合は、MAXM86161をシャットダウンモードにすると、消費をわずか1.6μAに抑えることができます。実際には、開発者はデバイス内蔵の低ドロップアウト(LDO)レギュレータをプログラムで無効にして、シャットダウン電流を約0.05μAにまで減らすことができます。ただし、LDOの再起動には、起動時間が長くなったり突入電流が増大したりといった独自の問題があり、どちらも特定のバッテリ駆動設計で問題になる可能性があります。

また、MAXM86161は、サンプリングレートが256sps以下のときにサンプル間で1.6μAのシャットダウンモードに自動的に切り替えるメカニズムも備えています。これにより、アプリケーション機能を損なわずに大幅に節電できます。

このデバイスレベルの自動節電メカニズムは、MAXM86161の近接検出と連携して動作し、インイヤー型ウェアラブルが皮膚に接触しなくなったときに電力を節約します。開発者は、ユーザーがウェアラブルを取り外したときなどに電力を浪費するのではなく、デバイスを近接検出モードで実現する低電力構成にするようにいくつかのMAXM86161レジスタを設定できます。

近接モードでは、デバイスは、反射物体(皮膚など)が近づいていることを示す信号のPD出力を監視します。このモードで節電するために、MAXM86161は、光源として使用されるLEDへの駆動電流を減らし、サンプリングレートを8spsに下げます。これにより、デバイスはサンプル間でシャットダウンモードを呼び出すようになります。PD出力がプログラマ指定の閾値を超えると、MAXM86161は自動的に完全なアクティブモードに戻り、ホストプロセッサの介入なしでサンプリングを行うか、割り込みを発行してプロセッサを起動することができます。

開発サポート

MAXM86161に幅広い機能が統合されているため、一連のハードウェアインターフェース要件がシンプルになっています。実際、開発者に必要なのは、MAXM86161の生体計測機能をマイクロプロセッサまたはマイクロコントローラベースの設計に追加するためのいくつかの外付け部品だけです(図7)。

Maxim IntegratedのMAXM86161の図図7:光バイオセンシングに必要なすべての機能が統合されているため、Maxim IntegratedのMAXM86161に必要なのは、ハードウェアインターフェース設計を完成させるためのいくつかの追加ハードウェア部品だけです。(画像提供:Maxim Integrated)

MAXM86161EVSYS評価ボードを使用すると、開発者は既存の設計でMAXM86161の使用環境を迅速に試作したり、関連するMAXM86161EVSYSリファレンス設計をカスタムハードウェア実装の基礎として使用したりできます。

MAXM86161の開発で最も難しいのはおそらく、特定の用途に最適な構成の決定でしょう。これまでにこの記事で説明したように、MAXM86161生体計測デバイスには、構成可能な設定および性能特性がきわめて豊富に用意されています。

開発者が適切なデバイス構成をより迅速に特定できるように、Maxim IntegratedはMAXM86161評価ソフトウェアアプリケーションを提供しています。このアプリケーションでは、開発者はグラフィカルユーザーインターフェース(GUI)を使用して、さまざまなデバイス設定の影響を調べることができます。Maxim IntegratedのMAXM86161EVSYS評価ボードとともに使用することを前提に設計されたこのアプリケーションでは、デバイスの運用パラメータを簡単に変更でき、MAXM86161のサンプリング性能と消費電力に関する結果を評価できます(図8)。

Maxim IntegratedのMAXM86161評価ソフトウェアアプリケーションの画像(クリックして拡大)図8:Maxim IntegratedのMAXM86161EVSYS評価ボードと同社のMAXM86161評価ソフトウェアアプリケーションを組み合わせて使用すると、開発者は一連のメニューでデバイス設定を変更して、さまざまなデバイス構成を試すことができます。(画像提供:Maxim Integrated)

この開発プラットフォームを使用してMAXM86161の構成設定を決定するか独力でその構成を特定するかに関係なく、MAXM86161のプログラミングの大部分は、初期化中または実行時にこれらの設定をMAXM86161にロードするルーチンの記述です。

例として、このデバイスの動作に必要な基本設計パターンを示すシンプルなMAXM86161ドライバをMaxim Integratedから入手できました。このドライバはまもなくMaxim Integratedから公開される予定です。

このC言語ドライブモジュールには、SpO2測定などのさまざまなMAXM86161機能の実行に必要となるさまざまなレジスタ更新を示すサンプルルーチンが多数含まれています(リスト1)。

コピーする
/* LEDとSPO2の設定を記述する */
if (data->agc_is_enable)
   err |= max86161_prox_led_init(data);
else
   err |= max86161_hrm_led_init(data);
 
err |= max86161_write_reg(data, MAX86161_INTERRUPT_ENABLE, DATA_RDY_MASK);
 
err |= max86161_write_reg(data, MAX86161_LED_RANGE_1,
      ( MAX86161_LED_RGE << LED_RGE2_OFFSET )
      | ( MAX86161_LED_RGE << LED_RGE3_OFFSET ));
 
err |= max86161_write_reg(data, MAX86161_PPG_CONFIGURATION_1,
      ( MAX86161_PPG_TINT << PPG_TINT_OFFSET )
      | ( MAX86161_ADC_RGE << PPG_ADC_RGE_OFFSET ));
 
err |= max86161_write_reg(data, MAX86161_PPG_CONFIGURATION_3,
      ( MAX86161_LED_SETLNG << LED_SETLNG_OFFSET ));
 
err |= max86161_write_reg(data, MAX86161_PD_BIAS,
      ( PD_BIAS_125_CS << PD_BIAS_OFFSET ));
 
err |= max86161_write_reg(data, MAX86161_FIFO_CONFIG_2, 
      FLUSH_FIFO_MASK | FIFO_STAT_CLR_MASK);
 
err |= max86161_write_reg(data, MAX86161_LED_SEQ_REG_1, 
      ( LED_RED << LEDC2_OFFSET ) 
      | ( LED_IR << LEDC1_OFFSET ));
 
if (!atomic_read(&data->irq_enable)) {
   enable_irq(data->irq);
   atomic_set(&data->irq_enable, 1);
}

リスト1:このMAXM86161ドライバソフトウェアのスニペットは、構成データをさまざまなデバイスレジスタに書き込んでデバイスを制御する基本的な方法を示しています。(コード提供:Maxim Integrated)

前述のように、SpO2測定の実行はMAXM86161の動作に共通するパターンに従っており、その大部分が、設定をデバイスレジスタに書き込んで、LED電流、サンプリングレート、デジタルフィルタの選択、ADCダイナミックレンジなどのパラメータを設定する作業を伴います。

これらの設定に該当するMAXM86161レジスタの更新後に、レジスタ0x20(MAX86161_LED_SEQ_REG_1)のLEDC2フィールドとLEDC3フィールドをそれぞれバイナリ0010(LED_IR)とバイナリ0011(LED_RED)に設定することで、測定シーケンスが定義されてすぐに開始されます(リスト1を参照)。

まとめ

インイヤー型フィットネスウェアラブルは生体計測の精度を持続できますが、小型サイズかつ超低消費電力という厳しい設計要件があります。これまで見てきたように、Maxim IntegratedのMAXM86161生体計測デバイスは、インイヤー型ウェアラブルのサイズとパワーの制約内で、HRとSpO2の監視に必要となる完全な光データ収集サブシステムを提供します。

リファレンス

  1. Bunn, J.、Wells, E.、Manor, J.、およびWebster, M.(2019年)。「Evaluation of Earbud and Wristwatch Heart Rate Monitors during Aerobic and Resistance Training(有酸素トレーニングおよび筋力トレーニング時のイヤホンと腕時計の心拍数モニタの評価)」。International Journal of Exercise Science(国際エクササイズサイエンス学会誌)、12(4)、374–384。
DigiKey logo

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

著者について

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk氏は、IoTを含むハードウェア、ソフトウェア、システム、アプリケーションなど幅広いトピックについて、20年以上にわたってエレクトロニクス業界および電子業界に関する記事を書いたり経験を積んできました。彼はニューロンネットワークで神経科学のPh.Dを受け、大規模に分散された安全システムとアルゴリズム加速法に関して航空宇宙産業に従事しました。現在、彼は技術や工学に関する記事を書いていないときに、認知と推薦システムへの深い学びの応用に取り組んでいます。

出版者について

DigiKeyの北米担当編集者