連続モニタリングに適した信頼性の高い電池駆動の医療用ワイヤレス体温計の作成
DigiKeyの北米担当編集者の提供
2019-04-23
患者の体温のモニタリングは、医療提供者と患者の双方に必要でありながら患者のケアを妨げかねません。ワイヤレス体温計を使用して体温を定期的にスムーズに計測できれば、医療現場だけでなく家庭でも、医療者と患者の両方に歓迎されるでしょう。しかし開発者にとっては、適切なソリューションであっても、高精度と低電力ワイヤレス動作への要求を常に満たしながらユーザーが満足して使用できるようなシステムを実現できないことがよくあります。
この記事では、医療用の体温計に求められる主な要件について説明し、開発者がTexas Instrumentsの高精度なデジタル温度センサとワイヤレスマイクロコントローラを組み合わせて、これらの正反対にも見える要件を満たす方法をご紹介します。
医療用体温計の要件
医療では、体温に心拍数、血圧、呼吸数を加えた4つの要素が、主要な生命徴候です。体温は、風邪や流感など感染症の発症を特定するために使う以外にも、重要な臨床の指標でもあります。体温のわずかな変化によって、薬や輸血などの投与による治療の副作用の徴候を、最も早い段階で把握できます。そのため、正確な体温計測は、継続的な医療を維持するため、および合併症が併発した場合の対処の必要性を知るためにも非常に重要と考えられます。
医療ではごくわずかな温度変化でもきわめて重視されるので、医療用の体温計は、ASTM E1112およびISO-80601-2-56規格で規定された精度と較正要件を満たす必要があります。ASTM International(旧称:米国材料試験協会)により策定されたASTM E1112では、臨床用途の場合に、温度範囲に応じて体温計の最大誤差率が以下の指定に適合する必要があります。
- 微熱から中程度の発熱を示す温度範囲の37.0˚C~39.0°Cでは、温度の最大誤差が±0.1°C
- 人によっては低体温症を示す温度範囲の35.8˚C~36.9°Cでは、温度の最大誤差が±0.2°C
- 重篤な風邪や高熱など深刻な病状を示す温度範囲の39.1˚C~41.0°Cでは、温度の最大誤差が±0.2°C
- 35.8°Cより低温または41.0°Cより高温では、温度の最大誤差が±0.3°C
きわめて重要な役割を持つにもかかわらず、医療用の体温モニタリングは、要求される精度を出すためにこれまでに必要とされていた高価なベッドサイドモニタに頼ってきました。継続的なモニタリングのために、医療提供者は患者に複数のケーブルを接続する必要がありますが、その接続は控えめに見ても厄介、新生児の医療環境では不可能な場合さえ考えられます。ワイヤレスの体温モニタリングはその効果的な代替手段になる一方で、システムの開発者は幅広い要件を満たすワイヤレスの設計に苦労してきました。このようなワイヤレスモニタは、医療用に相応しい精度と低電力の電池動作という基本的な要件の他にも、患者の快適さを保証し、数時間から数日間の動作中に静かに機能し、信頼できる動作を長期間保証する電池寿命を備えるなど、多様な要件を満たすように設計する必要があります。Texas InstrumentsのTMP117MAIDRVT温度センサは、これらの要件に準じた設計を実現するための、重要なコンポーネントとしての役割を果たします。
医療用の体温センサ
TMP117MAIDRVT(以下、TMP117)は、I2Cシリアルインターフェース、EEPROM、および制御ロジックのそれぞれを含むアナログ温度検出サブシステムに、指定範囲外への温度逸脱を知らせるためのプログラム可能なアラート機能を組み合わせています。温度検出サブシステム内では、センサコンディショニング回路がバイポーラ接合トランジスタ(BJT)シリコンバンドギャップ温度センサの出力を、オンチップの16ビットA/Dコンバータ(ADC)に供給します(図1)。

図1: Texas InstrumentsのTMP117は、最小限の消費電力で温度を高精度に計測するために必要なすべてのアナログ/デジタル部品を統合します。(画像提供:Texas Instruments)
臨床アプリケーションをサポートするように特化して開発されたTMP117は、臨床使用目的の電子体温計に適用されるASTM E1112およびISO-80601-2-56の要件を完全に満たします。このデバイスは、温度範囲37.0°C~39.0°Cで±0.1°Cの最大誤差要件を満たすだけでなく、-20°C~50°Cの温度範囲でもその精度レベルを実現し、しかも較正は不要です。TMP117は、-55°C~150°Cの推奨動作範囲の全域で高精度な性能を発揮し、クラスAA抵抗温度検出器(RTD)に代わるデバイスの役割も果たします(図2)。

図2: 医療用電子体温計の規格を満たすように設計されたTexas InstrumentsのTMP117デジタル温度センサは、TMP117の動作温度範囲の全域でクラスAA RTDの精度を超える性能を発揮します。(画像提供:Texas Instruments)
TMP117は2mm x 2mmの6ピンパッケージで提供され、1.8~5.5Vの電源電圧で動作し、1ヘルツ(Hz)の変換レートでの平均消費電流はわずか3.5マイクロアンペア(μA)、またはシャットダウンモードでは150ナノアンペア(nA)のみです。さらに、開発者はワンショット変換と呼ばれるこのデバイスの機能を使用して、TMP117が超低電力シャットダウンモードで費やす時間を最大化できます。
ワンショットモードによって、このデバイスはアクティブな変換フェーズの直後にシャットダウンモードに入ることができます。対照的に、デバイスのデフォルトの連続変換モードでは、1.25μAのスタンバイモードでプログラム可能な期間アクティブのままになるようにデバイスが設定されます。ワンショットモードでは、温度計測ごとに約15.5ミリ秒(ms)を要するアクティブな変換フェーズが含まれ、合計で約135μAを消費します。
これら2つのモードでは開発者が消費電力と引き換えに変換レートを実現できますが、デバイスの平均化モードでは消費電力と引き換えにノイズイミュニティを向上させることができます。平均化モードでは、デバイスは自動的に8回連続で変換を行い、平均化された結果をもたらします。このモードを使用すると、デバイスはデジタル変換の結果で±1LSB(最下位ビット)の再現性を実現できますが、対照的に平均化なしの場合の再現性は±3LSBです。
設計の課題
ワンショットモードや平均化などの統合機能を備えたTMP117は、完全なデジタル温度計測センサを6ピン(V+電源、グランド、シリアルデータ、シリアルクロック、シリアルバスアドレス選択、アラート機能)の2mm x 2mm WSON(非常に薄型のスモールアウトライン、ノーリード)パッケージで提供します。このため、ハードウェアインターフェースの設計は、一般的なI2Cシリアルデバイスに必要な程度の作業で済みます。しかし実際には、このデバイスを含むあらゆる高精度温度センサにおける設計上の課題は、ハードウェアインターフェースの設計によりも、熱管理に最適化した物理的レイアウトの考案にあります。
オンボードの熱管理:デジタル温度計の興味深い問題
体温センサの場合、設計によって他の熱源からのサーマルパスを最小化する一方で、患者への熱伝導性を最大化する必要があります。他の熱源の影響を最小化するために、開発者はメインボードから伸びるプリント基板の細いアームの先端にセンサを実装できます。これにより、メインの設計に含まれる熱源からセンサを効果的に断熱できます。しかし理想的な断熱を施しても、あらゆる電子機器は自己発熱の影響を受け、それが温度センサの精度を損なう原因になります。これに対して、TMP117は消費電力が低いので、自己発熱の影響を最小限に抑えられます。TMP117デバイスは時間の経過とともに、その電源電圧に比例して徐々に自己発熱しますが、その変化はミリ°C(mC)単位で起こるわずかなものです(図3)。ワンショットモードの使用により、開発者はアクティブな動作時間を短縮して、自己発熱を1桁のmCレベルに抑制できます。

図3: あらゆる半導体デバイスと同様に、Texas InstrumentsのTMP117デジタル温度センサにも自己発熱の作用があり、電源電圧レベルに比例してそれが高くなります。しかし、その影響はミリ°Cレベルに留まります。(画像提供:Texas Instruments)
さらに難しい設計上の問題は、デバイスと患者の皮膚間のサーマルパスを最適化することにあります。基礎となる基板またはアセンブリへの熱伝導性を高めるために、デバイスのパッケージには大きく露出したサーマルパッドが含まれており、このパッドはグランドに接続されておらず、代わりにパッケージを経由するBJSTシリコンバンドギャップセンサへの熱伝導性を純粋に高めます。Texas Instrumentsによれば、デバイスとプリント基板間のサーマルパスを最適化するために、デバイスのサーマルパッドの下にソリッドな銅箔流し込みを使用することが推奨されています。
ただし最終的に皮膚と接触する部位は、銅をそのまま使用せずに、ビアと熱伝導性ポリマーなどの生体適合性の材質による仕上げコーティングを使用することが推奨されています。銅は皮膚と触れると腐食反応などの原因になる場合があります。そして最後に推奨されるアセンブリは、簡潔な2層のスタックアップです。製造コストを削減しながらデバイスと皮膚間に適切な熱伝導性が生じるように設計されています(図4)。

図4: 信頼性の高い熱伝導性を実現し皮膚温度の変化に迅速に反応できるように、効果的な熱設計では、サーマルアンダーフィルまたはエアギャップ(適切な場合)をともなうスタックアップとビア1ペアを使用し、デバイスと患者の皮膚間の熱伝導性を高めます。(画像提供:Texas Instruments)
低電力ワイヤレスデジタル体温計のリファレンス設計
Texas Instrumentsは、医療用のワイヤレス体温計の総合的なリファレンス設計の中で、適切な熱管理方法によるTMP117の利用方法をご紹介しています。この設計で、Texas InstrumentsはTMP117をTexas Instrumentsの低電力CC2640R2F Bluetooth対応マイクロコントローラと組み合わせています。CC2640R2Fは、ホストプロセッサとして機能するArm® Cortex®-M3 32ビットコアとともに、専用の無線周波数(RF)コアサブシステムを、独自のArm Cortex-M0コアおよびRFトランシーバと統合しています(図5)。

図5: Texas InstrumentsのCC2640R2Fワイヤレスマイクロコントローラは、メインプロセッサと無線周波数(RF)コアを組み合わせ、Texas Instruments TMP117などのセンサへのワイヤレスコネクティビティを可能にするシングルチップソリューションを実現します。(画像提供:Texas Instruments)
MCU独自の統合機能の活用により、この設計では、Molex 0132990001などの薄膜3ボルト電池と少数の追加の受動部品のみで、完全な電池駆動型ソリューションを実現できます。薄膜フレキシブル電池の容量にある程度の制限がありますが、最終的には医療用粘着テープで身体に貼り付けて数日間にわたり継続的にモニタリングできるシステムが出来上がります。このリファレンス設計では、2mm x 2mmのTMP117 ICを断熱する一種の延長アーム(前述を参照)を備えたフレキシブルプリント基板を使用して、完全なソリューションを実現できます(図6)。

図6: Texas Instrumentsのワイヤレス体温計リファレンス設計には、医療用粘着テープで患者の皮膚に貼り付けて連続的に体温を計測できるフレキシブルプリント基板のハードウェア回路図とレイアウト設計ファイルが含まれています。大きさの目安として、TMP117の寸法は2mm x 2mmです。(画像提供:Texas Instruments)
またTIは、関連するサンプルアプリケーションとして、Bluetoothアドバタイジングプロトコルを使用し体温計測値を皮膚のパッチからモバイル機器に送信する利用例も紹介しています。近くにあるBluetoothデバイスにショートメッセージを提供するために設計されたBluetoothアドバタイジングプロトコルでは、標準のBluetoothアドバタイジングパケットに数バイトのデータを追加できます。
TI-RTOSオペレーティング環境向けにビルドされたサンプルソフトウェアにはtida_01624.cモジュールが含まれており、これはTMP117の体温計測値をBluetoothアドバタイジングパケットで送信するためのTI Bluetooth Low Energy(BLE)スタックの利用方法を示すものです。BLEスタックの取り扱いは複雑な場合もありますが、TIソフトウェアアーキテクチャはデータフローをスタックで抽象化します。SimplePeripheralと呼ばれる特定のアプリケーションデバイスインスタンスでは、アプリケーションはタスク関数、SimplePeripheral_taskFxn()に含まれるメインループ内で実行されます。アプリケーションの初期化後に、ソフトウェアフレームワークのイベント管理サービスは、TMP117センサを読み取るコードのセクション(sensorRead())に制御フローをもたらし、体温計測値をアドバタイジングパケットのペイロードにロードし、作成されたパケットを使用してBluetoothアドバタイジングを開始します(リスト1)。
コピー
static void SimplePeripheral_taskFxn(UArg a0, UArg a1)
{
// Initialize application
SimplePeripheral_init();
// Application main loop
for (;;)
{
uint32_t events;
// Waits for an event to be posted associated with the calling thread. // Note that an event associated with a thread is posted when a
// message is queued to the message receive queue of the thread
events = Event_pend(syncEvent, Event_Id_NONE, SBP_ALL_EVENTS,
ICALL_TIMEOUT_FOREVER);
if (events)
{
. . .
if (events & SBP_PERIODIC_EVT)
{
uint16_t uiTempData;
Util_startClock(&periodicClock);
// Read the last converted temperature and then start the next
// temperature conversion. uiTempData = sensorRead();
// Update the Auto Advertisement Data
advertData[9] = (uiTempData & 0xFF00) >> 8;
advertData[10] = uiTempData & 0xFF;
GAPRole_SetParameter(GAPROLE_ADVERT_DATA, sizeof(advertData), advertData);
// Perform periodic application task
SimplePeripheral_performPeriodicTask(uiTempData);
}
}
}
}
リスト1: Texas Instrumentsのワイヤレス体温計サンプルアプリケーションは、TIのBluetoothスタックフレームワークの利用方法を示すものです。このフレームワークでは、アプリケーションをメインループに構築しており、ここではタイマ期限切れなどのイベント発生時に開発者のコードを呼び出してセンサ計測値を読み取ります。(コード提供:Texas Instruments)
基本的な初期化と設定の他にも、TMP117とのソフトウェアのインタラクションは簡潔です。たとえば、前述のメインのアプリケーションループで使用されるsensorRead()関数は、単に、計測値の送信に必要なI2Cトランザクションを実行します(リスト2)。
コピー
static uint16_t sensorRead(void)
{
uint16_t temperature;
uint8_t txBuffer[3];
uint8_t rxBuffer[2];
I2C_Transaction i2cTransaction;
/* Point to the T ambient register and read its 2 bytes */
txBuffer[0] = TMP117_OBJ_TEMP;
i2cTransaction.slaveAddress = Board_TMP_ADDR;
i2cTransaction.writeBuf = txBuffer;
i2cTransaction.writeCount = 1;
i2cTransaction.readBuf = rxBuffer;
i2cTransaction.readCount = 2;
if (I2C_transfer(i2c, &i2cTransaction)) {
/* Extract degrees C from the received data; see TMP117 datasheet */
temperature = (rxBuffer[0] << 8) | (rxBuffer[1]);
/*
* If the MSB is set '1', then we have a 2's complement
* negative value which needs to be sign extended 7.8125 mC
*/
if (temperature & 0x8000) {
temperature ^= 0xFFFF;
temperature = temperature + 1;
}
}
else {
Display_printf(dispHandle, 0, 0, "I2C Bus fault");
}
/* Start the next conversion in one-shot mode */
txBuffer[0] = TMP117_OBJ_CONFIG;
txBuffer[1] = 0x0C;
txBuffer[2] = 0x20;
i2cTransaction.slaveAddress = Board_TMP_ADDR;
i2cTransaction.writeBuf = txBuffer;
i2cTransaction.writeCount = 3;
i2cTransaction.readBuf = rxBuffer;
i2cTransaction.readCount = 0;
/* Wait for the I2C access for configuration.If it fails
* then sleep for 1 second and try again.This is a must
* to do before reading the device.*/
while(!(I2C_transfer(i2c, &i2cTransaction)));
return(temperature);
}
リスト2: Texas Instrumentsのワイヤレス体温計サンプルアプリケーションでは、TMP117センサ計測値を読み取る機能に必要なのはI2Cソフトウェアサービスへの2、3回の呼び出しだけです。(コード提供:Texas Instruments)
BluetoothスタックとTI-RTOSの利用方法の紹介に加えて、このサンプルソフトウェアでは、TI SimpleLink SDK Explorer携帯アプリ(iOS版とAndroid版の両方を提供)を実行するモバイル機器に体温計測値を送信できる、既製のアプリケーションも提供しています。TIは、ビルド済みのアプリケーションとともに、各モバイルプラットフォーム向けの完全なソースコードを含むSimpleLink SDK Explorerアプリ配布、およびCC2640R2 MCU向けTI SDK Explorer Bluetoothプラグインを提供しています。
結論
ユーザーフレンドリーで実用的な医療用のワイヤレス体温計には、高い計測精度と長い電池寿命の両方が求められ、そのことが体温計の設計を難しくしていました。低消費電力と医療向けの精度を備えるTexas InstrumentsのTMP117温度センサは、効果的なソリューションを提供します。総合的なリファレンス設計に示されるように、TMP117をTexas InstrumentsのCC2640R2 Bluetoothワイヤレスマイクロコントローラとともに使用することで、医療用途に適した完全なワイヤレス体温計を設計できます。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

